基于时隙的多重冗余流指纹模型

文章信息

论文题目:基于时隙的多重冗余流指纹模型
期刊(会议):网络与信息安全学报
时间:2023
级别:CCF C

概述

为确保内生网络流量安全可信,本文在研究流水印及其扩展的流指纹机制的基础上,提出了一种改进型的基于时隙的多重冗余流指纹模型,设计实现了一个基于内核的流指纹原型系统,并阐述了该流指纹模型的应用场景。

相关工作

根据流标记的嵌入位置(或称载 波特征),流水印或流指纹机制可划分为三大类: 基于数据包内容、基于流速率、基于时间。典型 流水印/流指纹载波特征如表1所示。
image.png

指纹模型设计与实现

模型设计

冗余编码:每一比特的指纹都连续重复n次,如当n为3时,0重复为 000,1重复为111,由于数据流在传输过程会遭受自然的抖动或恶意的攻击,所以在接收端提取指纹时,认为连续的两个相同的比特即最终结果,如001、100、000都解码为0,110、011、 111都解码为1。
除了考虑每一比特的冗余外,为了防止重复比特之间的干扰,还可以考虑将整个比特重复r次,如指纹比特若为1001,当r为3时,则编码为1001 1001 1001。

流指纹嵌入过程如图1所示。
image.png

在嵌入端,用随机函数生成指纹序列后,对每一位指纹比特进行处理。在流的时间偏移量起始处,将流的一部分划分为连续的多个相同的时间间隔,依次每3个连续的时间间隔T对应一位指纹比特,操作每3个时间间隔的前两个,实现比特嵌入,如指纹比特为“0”时,只需将第一个时间间隔内的数据包延迟到第二个时间间隔内发送;指纹比特为“1”时,需将第二个时间间隔内的数据包延迟到第3个时间间隔发送。值得注意的是,由于网络中自然的抖动等影响,引入冗余编码r来提高指纹的健壮性。

在提取端,遵循流指纹嵌入方案,按照与发送端相同的时间偏移以及时间间隔划分接收到的流,再比较第一个时间间隔和第二个时间间隔内的数据包数量,如果第一个间隔内的数据包数量大于第二个时间间隔内的数据包,则解码为1,反之应解码为0。

指纹的嵌入和提取步骤可概括为:嵌入端收到流 F i F_{i} Fi,根据该条流的信息用随机函数生成指纹序列 f i f_{i} fi,然后通过操作 F i F_{i} Fi中数据包的发送时间将指纹 f i f_{i} fi嵌入流中。指纹的提取端在收到数据流的第一个数据包开始,记录每个数据包到达的时间,从含有指纹的流 F i ′ F_{i}^{'} Fi中,解码出指纹信息 f i ′ f_{i}^{'} fi,从嵌入指纹 f i f_{i} fi所用的编码时隙中计算得到 Y ˉ r f i ′ \bar{Y}_{r}^{f_{i}^{'}} Yˉrfi的值,将其和0进行比较,得到 Y ˉ r f i ′ \bar{Y}_{r}^{f_{i}^{'}} Yˉrfi为正值表明指纹位是0,若得到负值表明指纹位是1。 Y ˉ r f i ′ \bar{Y}_{r}^{f_{i}^{'}} Yˉrfi表示第二个时隙中数据包数目和3个时间间隔总数据包均值之间的差值在冗余度为r时的均值。

后续通过一些计算表明,增加冗余度r能够提高检测率,以及对恶意干扰(时间延迟干扰、垃圾数据包干扰、丢包干扰)的抵抗能力。

系统实现

指纹系统实现包括应用层和内核层,应用层主要作为交互的界面,进行参数的增加、查询等以及相应流的指纹生成和指纹的冗余编码,内核与应用层之间利用ioctl函数进行交互。流指纹原型系统模块层次如图8所示,具体如下:

  1. 系统初始化:包括设定模块运行模式、初始化参数。
  2. 参数设置模块:流指纹的参数应该在嵌入端和提取端协商共享参数,本文设计时简化了双方的协商,在两端分别设定同样的参数。
  3. 指纹编解码模块:设定参数后,设定不同的运行模式,对流进行指纹的编码和解码。
  4. 数据包管理模块:按照指定的规则对数据包进行捕获,发送给指纹的嵌入/提取模块。
  5. 指纹的嵌入/提取模块:根据生成的指纹序列,更改数据包发送的时间。

image.png

模型评估与应用

模型评估

为对模型进行评估,本文搭建如图9所示的网络拓扑进行实验。用户1、用户2为两个实体笔记本终端,分别运行iperf3软件,从而在两端产生交互的流量以用于流指纹的嵌入和提取;其余路由器节点使用VMware搭建的虚拟节点;各个路由器节点之间运行OSPF路由协议。在接入网关1上实施指纹的嵌入,接入网关2、3上进行指纹的提取。中间路由器R322在实验中利用TC(traffic control)模拟网络中的延迟丢包等干扰行为。
在两个终端上使用iperf3进行TCP流量的传输,用户1是发送端,用户2和用户2’是接收端。iperf3通过不同端口发送10条流,带宽为60 Mbit/s。 在实验评估中,测试了两种场景。场景1中流指纹传递跨越一个路由器(不包含嵌入端和提取端,标记为 R=1),即只在图9中的区域1内传递。场景2中流指纹传递跨越4个路由器(标记为 R=4),即从区域1传递到区域 2。在两种场景下,启用与嵌入提取无关的背景流(用 bf 表示)验证,其中有6条VLC播放器的流,4条SSH流,图9中红色箭头表示背景流和iperf3测试流的混合流。
image.png
得到实验结果如下图所示:
image.pngimage.png

image.pngimage.png

image.pngimage.png

image.png

模型应用

用于检测中间人攻击,如下图所示:
image.png

总结

为了支持内生安全的数据可信,本文在基于流水印/指纹机制研究的基础上,设计了一种基于时隙的多重冗余流指纹模型,并对该模型进行了在网络典型干扰(如丢包、延迟等)环境下的评估,设计实现了一个流指纹原型系统,在系统的内核层进行了指纹的编解码、嵌入和提取,并对本文的流指纹模型系统的应用场景进行了阐述。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/170225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序中的大道理之二--抽象与封装

继续扒 接着 上一篇 的叙述, 健壮性也有了, 现在是时候处理点实际的东西了, 但我们依然不会一步到底, 让我们来看看. 一而再地抽象(Abstraction Again) 让我们继续无视那些空格以及星号等细节, 我们看到什么呢? 我们只看到一整行的内容, 当传入 3 时就有 3 行, 传入 4 时就…

明道云伙伴成果与展望

摘要:这篇文章介绍了明道云在过去一年的成果以及未来的计划。明道云将把更多资源和精力投入到伙伴身上,提供更全面的支持,包括产品特性、展业支持和 GTM (Go-To-Market)支持三个方面。在产品特性方面,明道云…

【C++初阶】STL之学习string的用法

目录 前言:一、认识下string1.1 什么是string1.2 为什么要有string 二、string 类的接口使用2.1 初始化与析构2.1.1 初始化2.1.2 析构 2.2 容量操作2.2.1 长度大小——size和length2.2.2 空间总大小——capacity2.2.3 判空——empty2.2.4 清空——clear2.2.5 预留空…

学习视频剪辑方法:AI智剪助力,批量处理短视频无忧

随着短视频的兴起,越来越多的人开始关注如何有效地制作和发布这些内容。但是,短视频的制作并不容易,要耗费大量的时间和精力。现在有很多AI智能剪辑工具可以快速、高效地制作短视频。其中,AI智剪是一款非常受欢迎的视频剪辑功能&a…

原生javascript实现放大镜效果

效果图 完整代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>放大镜</title><style&g…

图论|知识图谱——详解自下而上构建知识图谱全过程

导读&#xff1a;知识图谱的构建技术主要有自顶向下和自底向上两种。其中自顶向下构建是指借助百科类网站等结构化数据源&#xff0c;从高质量数据中提取本体和模式信息&#xff0c;加入到知识库里。而自底向上构建&#xff0c;则是借助一定的技术手段&#xff0c;从公开采集的…

【Python】Playwright模块进行自动化测试

playwright是由微软开发的Web UI自动化测试工具&#xff0c;支持Node.js、Python、C# 和 Java语言&#xff0c;本文将介绍Python版本的Playwright使用方法。 微软开源了一个非常强大的自动化项目叫playwright-python&#xff0c;项目地址&#xff1a;https://github.com/micros…

[图片来源BZhan]最小生成树(Prim➕Kruskal)、最短路径(Dijkstra➕Floyd)

文章目录 0.基础知识0.1图的存储结构0.2算法复杂度1.BFS和DFS2.Prim和Kruskal 1.最小生成树1.1Prim算法1.算法思想2.Prim代码实现 1.2Kruskal算法1.算法思想2.Kruskal代码实现[demo] 2.最短路径2.1问题抽象:2.2两种常见的最短路径问题:1.Dijkstra: 单源最短路径O(N^2)2.Floyd: …

⑥【bitmap 】Redis数据类型: bitmap [使用手册]

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ Redis bitmap ⑥Redis bitmap 基本操作命令1. …

记录一些免费的 API接口

主要记录一些日常开发中可以使用到的一些免费api接口&#xff0c;目前包括 ip地址查询、天气查询 通过 IP 查询地址 ip-api (不支持 https) &#x1f4a1; api接口文档 &#x1f579; 调用接口 $ curl http://ip-api.com/json&#x1f4dd; 返回信息&#xff08;位置信息&…

easyx的基本使用<一>(万字解析)

easyx的基本使用 一.基本框架1.创建文件2.创建窗体-initgraph,closegraph,getchar 二.简单的绘制1.圆形-circle2.坐标系统-setorigin,setaspectratio 三.简单图形1.绘制点-putpixel2.简单的直线-line3.矩形-rectangle4.椭圆-ellipse5.圆角矩形-roundrect6.扇形-pie7.圆弧-arc 四…

ElasticSearch01

ElasticSearch 版本&#xff1a;7.8 学习视频&#xff1a;尚硅谷 笔记&#xff1a;https://zgtsky.top/ ElasticSearch介绍 Elaticsearch&#xff0c;简称为es&#xff0c; es是一个开源的高扩展的分布式全文检索引擎&#xff0c;它可以近乎实时的存储、检索数据&#xff1b…

JMeter 测试脚本编写技巧

JMeter 是一款开源软件&#xff0c;用于进行负载测试、性能测试及功能测试。测试人员可以使用 JMeter 编写测试脚本&#xff0c;模拟多种不同的负载情况&#xff0c;从而评估系统的性能和稳定性。以下是编写 JMeter 测试脚本的步骤。 第 1 步&#xff1a;创建测试计划 在JMet…

JVM——垃圾回收(方法区中的垃圾回收和(堆回收)自动垃圾回收)

目录 1.自动垃圾回收介绍1.C/C的内存管理2.Java的内存管理3.垃圾回收的对比 2.方法区的回收方法区的回收 – 手动触发回收 3.堆回收1.引用计数法2.可达性分析算法 1.自动垃圾回收介绍 1.C/C的内存管理 ⚫ 在C/C这类没有自动垃圾回收机制的语言中&#xff0c;一个对象如果不再…

C语言—什么是数组名

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int arr[]{1,2,3,4};printf("%p\n",arr);printf("%p\n",&arr);printf("%p\n",*arr);return 0; } 结论&#xff1a;数组名是数组首元素地址&#xff08;下标为0的元素…

Vatee万腾独特科技力量的前沿探索:Vatee的数字化奇点

在当今科技的浪潮中&#xff0c;Vatee万腾以其独特的科技力量成为前沿探索的引领者&#xff0c;正迎来数字化奇点的新时代。Vatee万腾不仅仅是一家科技公司&#xff0c;更是一支探索未知领域、开创数字时代新局面的先锋力量。 Vatee万腾的数字化奇点体现在其对前沿技术的深刻理…

MFC设置单选按钮点击自己可以可选和不可选

mfc是c的一个框架&#xff0c;可谓是经久不衰。最近博主遇到一个问题&#xff0c;就是单选按钮点击自己可以设置可选和不可选&#xff0c;貌似类似复选框一样&#xff0c;但领导分发的任务上要求的是用单选按钮实现复选框这种类似功能&#xff0c;实现效果类似如下图&#xff1…

【Java】认识异常

文章目录 一、异常的概念和体系结构1.异常的概念2.异常的体系结构3.异常的分类 二、异常的处理1.防御式异常2.异常的抛出3.异常的捕捉 三、异常的处理流程四、自定义异常类 一、异常的概念和体系结构 1.异常的概念 在Java中&#xff0c;将程序执行过程中发生的不正常行为称为…

Redis实战篇(一)短信登录

Redis实战篇&#xff08;一&#xff09;短信登录 1.1、导入黑马点评项目 1.1.1 、导入SQL 1.1.2、有关当前模型 手机或者app端发起请求&#xff0c;请求我们的nginx服务器&#xff0c;nginx基于七层模型走的事HTTP协议&#xff0c;可以实现基于Lua直接绕开tomcat访问redis&a…

截图转HTML代码,支持预览,前端不用浪费时间写html和css了

截图转代码 试用地址&#xff1a;https://picoapps.xyz/free-tools/screenshot-to-code 这个简单的应用可以将截图转换为HTML/Tailwind CSS代码。它使用GPT-4 Vision来生成代码&#xff0c;并使用DALL-E 3来生成类似的图像。现在你也可以输入一个URL来克隆一个现有的网站&#…