System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于预训练的恶意加密流量检测模型制造技术_技高网

一种基于预训练的恶意加密流量检测模型制造技术

技术编号:43723514 阅读:12 留言:0更新日期:2024-12-20 12:51
本发明专利技术公开了一种基于预训练的恶意加密流量检测模型,所述领域为网络安全领域。该模型使用预训练的思想,利用大量无标签的流量数据学习一个通用的字段编码模型,在下游任务中微调该预训练模型,使其更加适应恶意加密流量检测任务。另外,该模型从两种模态数据中学习特征,分别是原始流量数据和侧信道数据,从原始流量数据中学习流量内容特征,从侧信道数据中学习流量时序特征,这实现对流量的全面刻画,可以有效提高分类准确率。本发明专利技术实现对恶意加密流量的有效检测,可用于弥补现有网络入侵检测系统存在的不足。该模型无需对加密流量进行解密操作,在保证用户隐私性的同时实现恶意加密流量的检测。

【技术实现步骤摘要】

本专利技术涉及一种基于预训练的恶意加密流量检测模型,属于网络安全领域。


技术介绍

1、近年来,网民愈加关注自身的隐私,这导致了加密协议的广泛使用。据统计,互联网上加密流量的比例已从2014年的50%左右增加到95%左右。不幸的是,这给恶意软件的传播提供了便利,也给恶意流量的检测提出了新的挑战。加密流量与未加密流量的特征有显著的不同,已有的针对未加密流量的检测技术无法直接移植到加密流量的检测中,亟需研究新的算法解决恶意加密流量检测问题。

2、目前,研究者主要使用基于机器学习和深度学习的检测方法。该检测方法,不需要解密数据包,保证了用户的隐私性。然而,如何使该方法拥有优秀的性能是随之而来的新问题。该方法的性能主要由特征集和算法决定。对于特征集的研究,考虑到加密流量的握手数据包、密文数据包的头部等仍然使用明文传输,并且明文中包含可以用于分类恶意流的有效信息,已有研究者提取了明文特征用于恶意加密流量检测获得相对不错的检测结果。但是使用明文特征具有一定的局限性,一方面提取明文特征需要先验知识,另一方面,明文特征往往不是离散的,而是具有关联性的,比如,tls协议中clienthello的cipher specs字段和serverhello的cipher suite字段是备选与选用的关系。而且,这种关系是多样且动态的,很难设计出合适的特征来表示。近年来,表征学习被广泛使用,表征学习的思想是通过深度学习模型自挖掘特征。它的好处一是避免了人为选择选择特征集带来的主观性问题,二是利用深度学习模型可以学习到人类无法找到的非直观特征。然而,如何设计合理的深度学习模型去学习有效的加密流量分类特征,仍需要进一步研究。另外,传统深度学习高度依赖训练集大小和数据分布,导致模型泛化性不强,难以适应未看见过的加密流量。

3、针对这两个问题,开展基于预训练的恶意加密流量检测模型研究,是本领域亟需解决的问题。


技术实现思路

1、本专利技术的目的在于,针对现有流量检测模型高度依赖训练集大小和数据分布问题与利用表征学习实现加密流量特征提取研究的不足,提出一种基于预训练的恶意加密流量检测模型,使用大量无标签的加密流量数据预训练一个可以捕捉通用的字段间关联性的模型,然后,根据恶意加密流量检测任务微调该模型,学习更适应于该检测任务的字段间关联特征。另外,侧信道特征也是常用于检测恶意加密流量的特征,它已被证明了可用来获取用户网络行为等重要信息。我们也选取了三个最常用的侧信道特征作为字段间关联特征的补充,实现了恶意加密流量检测的高准确率。

2、为了实现上述目的,本专利技术所采用的技术方案如下:

3、一种基于预训练的恶意加密流量检测模型,该模型包括:数据预处理阶段、特征学习阶段和分类阶段;

4、所述数据预处理阶段,包括流量切分、原始流量数据提取与流量侧信道数据提取、流量切片和流量可视化;

5、流量切分,首先从公开数据集中获取使用各种协议的加密流量的捕获文件,文件的格式为pcap或者pcapng,其次,使用tshark工具将pcapng格式的文件转换为pcap格式的文件,最后,使用splitcap工具将加密流量根据五元组(源ip地址,源端口号,目的ip地址,目的端口号,传输层协议)切分成双向流,每个双向流保存为一个pcap文件。

6、原始流量数据提取与流量侧信道数据提取,首先,使用scapy工具包从pcap文件中获取流量原始数据,并将原始数据转为十六进制表示,然后,使用flowcontainer工具包抽取ip数据包长度、数据包方向、ip时间戳等信息。

7、流量切片,因为数据包字段中包含如ip地址,端口号,mac地址这种有偏的数据,所以首先截掉数据包的前38字节,这38字节包含14字节的以太网帧首部、20字节ip数据包头部和4字节的源端口号和目的端口号,然后,保留双向流的前784字节,

8、流量可视化,将每个786字节的双向流转换28*28*1的灰度图像用于可视化。其中图像中的每个像素代表一个字节。

9、所述特征学习阶段包含两个模块,分别是字段间关联特征学习模块和侧信道特征学习模块;

10、字段关联特征学习模块,在该模块中包含两个阶段,分别是预训练阶段和微调阶段。

11、预训练阶段,加密流量中的绝大部分数据是经加密后的随机字节,没有实际含义。为了有效的利用预训练技术进行恶意加密流量分类,我们使用了以下两个组件:(1)一个cv视角下的嵌入方法,将双向流的2d灰度图转化为模式保持的令牌。(2)一个预训练任务,双向流掩码模型,用于从过渡上下文而不是语义上下文中学习上下文化的网络流表示。

12、进一步的,所述特征学习阶段中的字段关联特征学习模块中的预训练阶段的两个组件。

13、嵌入方法,用于将双向流图嵌入到令牌中。首先进行令牌嵌入,然后进行位置嵌入。在令牌嵌入步骤,将形状为h*w*c的一个网络流图分成n个形状为p2*c的patch。为遵循置换不变性的原则,简易的卷积层和平坦化操作被用来实现令牌嵌入,令牌嵌入的维度为d。n个patch被转化为n个维度为d的令牌嵌入。在位置嵌入步骤,固定的正余弦位置编码则被用来实现位置嵌入,以添加相对位置信息。将n个位置嵌入与n个令牌嵌入相加并在最前面插入[cls]令牌,[cls]令牌表示令牌序列的开始。

14、双向流掩码模型用于学习上下文化的双向流表示,本模型的基础模型选用为transformer的编码器,其编码器完全基于自注意力机制的模型,具有并行计算和最短最大路径长度两大优势。双向流掩码模型所要完成的任务是恢复掩盖的令牌。具体来说,将输入模型的令牌序列中的令牌以15%的概率被随机掩盖,被选择掩盖的令牌有80%的概率被替换为[mask]令牌,有10%的概率选择一个随机令牌替换或者不变。然后,将这些被掩盖的令牌作为监督信号,让模型通过上下文信息恢复出被掩盖的令牌。我们使用交叉熵度量训练误差,假设随机掩盖了k个令牌嵌入,则损失函数定义如下:

15、

16、其中,θ表示模型的所有参数,表示带有掩码的输入到模型的token序列。

17、微调阶段,在预训练阶段,通过双向流掩码模型训练了通用的双向流特征表示,这个特征表示与流量类型无关,因此该预训练模型可以很好适应各种下游任务。在本专利技术中的下游任务是恶意加密流量检测,故在微调阶段将恶意加密流量检测任务的双向流经预处理与嵌入后输入到模型中,经模型处理后,再将[cls]令牌对应输出的隐藏向量,raw_h_feacls,作为从原始流量中学到的双向流级特征,送入到分类阶段的模型中。与预训练相比,微调的时间成本更低,可以用较少的时间训练出不错的结果。

18、侧信道特征学习模块,本专利技术选用三元组(数据包大小、到达间隔时间和数据包方向)学习侧信道特征。选用数据包大小和数据包方向的原因一是恶意流量的数据包大小分布往往与正常流量的分布不同且与数据包大小分布流量方向有关,比如,浏览网页时客户端向服务端的请求数据包本文档来自技高网...

【技术保护点】

1.一种基于预训练的恶意加密流量检测模型,其特征在于:包括:数据预处理阶段、特征学习阶段和分类阶段;

2.根据权利要求1所述的数据预处理阶段,其特征在于:包括:流量切分、原始流量数据提取与流量侧信道数据提取、流量切片、流量可视化;

3.根据权利要求1所述的特征学习阶段,其特征在于:包含:字段间关联特征学习模块和侧信道特征学习模块;

4.根据权利要求3所述的字段间关联特征学习模块,其特征在于:包含两个组件,分别是(1)一个CV视角下的嵌入方法,将双向流的2D灰度图转化为模式保持的令牌;(2)一个预训练任务,双向流掩码模型,用于从过渡上下文而不是语义上下文中学习上下文化的网络流表示;

5.根据权利要求1所述的分类阶段,其特征在于:包含特征融合和损失函数设置;

【技术特征摘要】

1.一种基于预训练的恶意加密流量检测模型,其特征在于:包括:数据预处理阶段、特征学习阶段和分类阶段;

2.根据权利要求1所述的数据预处理阶段,其特征在于:包括:流量切分、原始流量数据提取与流量侧信道数据提取、流量切片、流量可视化;

3.根据权利要求1所述的特征学习阶段,其特征在于:包含:字段间关联特征学习模块和侧信道特征学习模块;...

【专利技术属性】
技术研发人员:张晓良苑珈琦吴克河
申请(专利权)人:华北电力大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1