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

文章信息

论文题目:基于时隙的多重冗余流指纹模型
期刊(会议):网络与信息安全学报
时间: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

总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker的学习笔记

1.1 docker的介绍 1.2 docker的一次安装 //如果是root用户,不加sudo也行curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -echo deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable…

【限流配电开关】TPS2001C

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大…

软件开发中的抓大放小vs极致细节思维

最近在开发过程中,遇到了好多次 “这个需求点这次要不要做?” 的问题, 主要有两方阵营,比如以研发主导的 “这次先不做、等必要的时候再做” ,另外一方是以PM主导的 “这个不做需求不完整,可能影响用户体验…

Cortex-M与RISC-V区别

环境 Cortex-M以STM32H750为代表,RISC-V以芯来为代表 RTOS版本为RT-Thread 4.1.1 寄存器 RISC-V 常用汇编 RISC-V 关于STORE x4, 4(sp)这种寄存器前面带数字的写法,其意思为将x4的值存入sp4这个地址,即前面的数字表示偏移的意思 反之LOA…

使用Pytorch从零开始构建GRU

门控循环单元 (GRU) 是 LSTM 的更新版本。让我们揭开这个网络的面纱并探索这两个兄弟姐妹之间的差异。 您听说过 GRU 吗?门控循环单元(GRU)是更流行的长短期记忆(LSTM)网络的弟弟,也是循环神经网络&#x…

LoadRunner压力测试实例

摘要:本文通过实例讲解介绍了LoadRunner 工具的使用,介于公司的实际情况,文中主要是对工具的基本使用做了详细描述,高级运用方面除性能计数器与参数设置外其它均未涉及,待以后补充。目的是使公司人员根据该手册便可以独…

服务器被入侵了怎么去排查

在当今数字化时代,网络安全问题变得越来越重要。其中,服务器被入侵是一种常见的安全威胁。当服务器被入侵时,我们需要采取一系列措施来排查和解决问题。本文将为您提供服务器被入侵后的排查步骤。 第一步:确认服务器被入侵 当发现…

动手学深度学习(四)---多层感知机

文章目录 一、理论知识1.感知机2.XOR问题3.多层感知机4.多层感知机的从零开始实现 【相关总结】1.torch.randn()2.torch.zeros_like() 一、理论知识 1.感知机 给定输入x,权重w,和偏移b,感知机输出: 2.XOR问题 感知机不能拟合XOR问题,他…

2023年最新IntelliJ IDEA下载安装以及Java环境搭建教程(含Java入门教程)

文章目录 写在前面Java简介IntelliJ IDEA简介IntelliJ IDEA下载安装JDK简介JDK下载教程 Java入门IntelliJ IDEA使用教程 写在后面 写在前面 2023年最新IntelliJ IDEA下载安装教程,内含JAVA环境搭建教程,一起来看看吧! Java简介 Java是一门…

MySQL的基础知识

目录 关系型数据库 SQL通用语法 数据类型 数值类型 字符串类型 日期类型 SQL分类 DDL 数据库操作 表操作 DML 添加数据 修改数据 删除数据 DQL 基本查询 条件查询 聚合函数 分组查询 排序查询 分页查询 执行顺序 DCL 管理用户 权限控制 函数 字符串…

模型优化【2】-剪枝[局部剪枝]

模型剪枝是一种常见的模型压缩技术,它可以通过去除模型中不必要的参数和结构来减小模型的大小和计算量,从而提高模型的效率和速度。在 PyTorch 中,我们可以使用一些库和工具来实现模型剪枝。 pytorch实现剪枝的思路是生成一个掩码&#xff0…

如何学习VBA:3.2.8 OnTime方法与OnKey方法

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。 如果…

基于51单片机的人体追踪可控的电风扇系统

**单片机设计介绍, 基于51单片机超声波测距汽车避障系统 文章目录 一 概要概述硬件组成工作原理优势应用场景总结 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 # 基于51单片机的人体追踪可控的电风扇系统介绍 概述 该系统是基于51…

Flink实战(11)-Exactly-Once语义之两阶段提交

0 大纲 [Apache Flink]2017年12月发布的1.4.0版本开始,为流计算引入里程碑特性:TwoPhaseCommitSinkFunction。它提取了两阶段提交协议的通用逻辑,使得通过Flink来构建端到端的Exactly-Once程序成为可能。同时支持: 数据源&#…

ElasticSearch查询语法及深度分页问题

一、ES高级查询Query DSL ES中提供了一种强大的检索数据方式,这种检索方式称之为Query DSL(Domain Specified Language 领域专用语言) , Query DSL是利用Rest API传递JSON格式的请求体(RequestBody)数据与ES进行交互,这种方式的丰富查询语法…

html实现我的故乡,城市介绍网站(附源码)

文章目录 1. 我生活的城市北京(网站)1.1 首页1.2 关于北京1.3 北京文化1.4 加入北京1.5 北京景点1.6 北京美食1.7 联系我们 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43…

【Linux】匿名管道与命名管道,进程池的简易实现

文章目录 前言一、匿名管道1.管道原理2.管道的四种情况3.管道的特点 二、命名管道1. 特点2.创建命名管道1.在命令行上2.在程序中 3.一个程序执行打开管道并不会真正打卡 三、进程池简易实现1.makefile2.Task.hpp3.ProcessPool.cpp 前言 一、匿名管道 #include <unistd.h&g…

链表?细!详细知识点总结!

链表 定义&#xff1a;链表是一种递归的数据结构&#xff0c;它或者为空&#xff08;null)&#xff0c;或者是指向一个结点&#xff08;node&#xff09;的引用&#xff0c;该结点含有一个泛型的元素和一个指向另一条链表的引用。 ​ 其实链表就是有序的列表&#xff0c;它在内…

批量按顺序1、2、3...重命名所有文件夹里的文件

最新&#xff1a; 最快方法&#xff1a;先用这个教程http://文件重命名1,2......nhttps://jingyan.baidu.com/article/495ba841281b7079b20ede2c.html再用这个教程去空格&#xff1a;利用批处理去掉文件名中的空格-百度经验 (baidu.com) 以下为原回答 注意文件名有空格会失败…

Javaweb之Vue组件库Element的详细解析

4 Vue组件库Element 4.1 Element介绍 不知道同学们还否记得我们之前讲解的前端开发模式MVVM&#xff0c;我们之前学习的vue是侧重于VM开发的&#xff0c;主要用于数据绑定到视图的&#xff0c;那么接下来我们学习的ElementUI就是一款侧重于V开发的前端框架&#xff0c;主要用…