一种基于网络流量上下文表征的加密流量分类方法、电子设备及存储介质

文档序号:34064760发布日期:2023-05-06 14:27阅读:47来源:国知局
一种基于网络流量上下文表征的加密流量分类方法、电子设备及存储介质

本技术加密流量分类方法,尤其涉及一种基于网络流量上下文表征的加密流量分类方法、电子设备及存储介质,属于加密流量识分类。


背景技术:

1、随着https技术的使用量逐渐超过http技术,通过加密网络通道传递的网络流量的情况将变得越来越多,而绝大多数侧信道网络流量检测系统不能有效识别ssl/tls加密流量,如何快速、准确地识别不同类别的加密流量是一个很有挑战性的问题。

2、当前实践中有着很多加密流量分类手段,其中主要方法有以下几种:1.使用统计特征并基于机器学习的方案,这些研究从加密流量中计算得出统计特征,例如流量中数据包载荷大小的均值、方差,数据包到达时间等,然后将其提供给支持决策树,支持向量机(svm)和随机森林等分类器进行分类;2.基于卷积神经网络(cnn)的方案,这些研究方案使用原始的数据包长度作为输入,并且利用卷积神经网络模型来学习高级的流量特征,由于不需要进行统计特征的计算,这些深度学习方法逐渐成为主流。3.使用图神经网络(gnn)的加密网络流量分类方法,这类方法根据网络流量的到达次序构建了轨迹图,并且使用基于图神经网络(gnn)的模型来更好地学习节点(流内)和结构(流间)的特征进而对加密流量进行分类。

3、上述几类方法的步骤都遵循这样的模式:首先进行流量的统计特征选择、之后进行加密流量统计特征计算、再训练相关的分类器,最后利用训练好的分类器对要分类的流量重复上述步骤。

4、现有大多数加密流量分类方案的缺点如下:

5、(1)首先表征流量的特征选择需要较强的专家经验且特征的选择对模型的分类效果至关重要,这导致相关模型需要在不同问题上重复进行特征工程;

6、(2)传统流量统计特征需要在网络流量会话结束才能进行计算,这就导致了网络流量分类的实时性大大收到损害,对于ids场景,需要几乎实时地分类网络流量以检测攻击,现有的表征方法不能满足需求;

7、(3)越来越多的网络应用选择基于模板的开发方式,而这些基于同一模板的应用往往有着相似的流量统计特征,这导致了模型分类准确度的下降。


技术实现思路

1、在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。

2、鉴于此,为解决背景技术所述至少一个技术问题,本发明提供一种基于网络流量上下文表征的加密流量分类方法、电子设备及存储介质。本发明将网络流量表征为上下文时空矩阵形式,以灰度图像表现,使用改进后的textcnn模型捕捉表征后流量在不同时空区间上的分布特征,进而实现对加密网络流量的分类和识别任务,能够较好地适应多种类、细粒度的加密流量分类任务,根据需求,本发明可以将加密流量分类为不同的流量应用类型(facebook.netflix..),将流量分为不同的流量种类(chat,video,voip..)场景,以及将流量分为恶意流量或者良性流量等。

3、方案一:一种基于网络流量上下文表征的加密流量分类方法,包括以下步骤:

4、s1.将待分类流量按照五元组划分;

5、s2.构建流量表征滑动窗口,将流量分为若干流量数据包片段;

6、s3.提取每个流量片段的时间特征和空间特征;

7、s4.根据流量片段的时间特征和空间特征生成上下文时空特征矩阵;

8、s5.将上下文时空矩阵转换为灰度图片;

9、s6.构建模型分类器;

10、s7.将灰度图片输入模型分类器,输出分类结果。

11、优选的,s2具体包括以下步骤:

12、s21.初始化参数:将滑动窗口的时间零点t设置为0,将滑动窗口的长度(时间)设置为d,将滑动窗口的滑动距离设置为t,将滑动窗口的序号设置为i;

13、s22.实时读入流量或者离线读入pcap/pcapng文件,若流量未结束则执行s23,若流量结束则输出流量数据包片段;

14、s23.以第一个到达的数据包时间为时间零点,判断数据包到达时间;若数据包的范围在[t,t+d]内,则执行s24,若数据包的范围不在[t,t+d],则执行s25;

15、s24.记录当前数据包属于滑动窗口i,执行s22;

16、s25.将滑动窗口的时间零点更新为t=t+t,将滑动窗口的序号i更新为i=i+1,执行s22。

17、优选的,时间特征是网络流量数据包的时间戳信息。

18、优选的,空间特征是网络流量数据包的传输层载荷大小信息

19、优选的,s4具体包括以下步骤:

20、s41.输入s2所述流量数据包片段;

21、s42.初始化上下文特征矩阵c为100*1500的全零矩阵;

22、s43.提取s41所述数据包片段的时间序列t=(t1,t2…tn),提取数据包片段的数据包载荷大小序列l=(l1,l2…ln),其中,n为流量片段中流量数据包的个数;

23、s44.对流量数据包片段中的每个数据包i计算上下文特征矩阵c中的横坐标其中ti表示当前流量片段中第i个数据包的到达时间,t1表示当前流量片段中第1个数据包的到达时间;

24、s45.对上下文特征矩阵c赋值,c[indexi][li]+=1。

25、优选的,s5具体包括以下步骤:

26、s51.输入上下文时空特征矩阵c,初始化当前位置为矩阵c的第一行第一列的点;

27、s52.判断是否已经遍历上下文时空特征矩阵c内的所有点,若全部遍历则执行s55;否则执行s53;

28、s53.修正当前位置点的数值,记矩阵c中该点的数值为x,若x>255,则x=255;若x<255,则x保持不变;

29、s54.将矩阵在该点的值x转化为灰度值,即x=255-x;更新当前位置,执行s52;

30、s55.将上下文特征矩阵c保存为灰度图片png格式。

31、优选的,模型选择使用一组若干不同尺寸的卷积核,具体方法是:卷积时使用的卷积核大小w∈rh*k,其中h∈h=(h1,h2,h3)为卷积使用的卷积窗口大小,使用的卷积核大小组合为[4,5,6]。

32、优选的,模型分类器包括第一层卷积、第二层卷积、k-max池化层和全连接层;

33、第一层卷积:

34、设流量经过表征后的图片尺寸为k*1500,单位为像素px,其中k为表征时确定的超参数;

35、在每个滑动窗口截取的流量片段flow slice统计时间段内的载荷大小分;第一层卷积的输入为k*1500像素的单通道灰度图片;

36、模型选择使用一组若干不同尺寸的卷积核;

37、通过卷积操作,模型提取到特征矩阵中不同的特征,提取特征的卷积过程如下公示:

38、ci=f(w*xi:i+h-1+b)

39、其中w,b分别代表卷积和参数与bias项;

40、模型在分类时使用不同卷积大小的卷积核进行卷积,卷积过程会对矩阵中所有可能的窗口区间[x1:h,x2:h+1…xn-h+1:n]进行提取特征的操作以获得特征向量作为第一层卷积层的输出:

41、c=[c1,c2…cn-h+1],h∈h=(h1,h2,h3)

42、第二层卷积:

43、第二层卷积以第一层卷积输出的特征向量集合作为输入,使用卷积核再次对输入的特征向量进行卷积操作,公式如下:

44、

45、第二层卷积使用单一卷积核大小进行卷积;

46、k-max池化层:采用k-max pooling池化。

47、方案二、一种电子设备,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现方案一所述的一种基于网络流量上下文表征的加密流量分类方法的步骤。

48、方案三、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现方案一所述的一种基于网络流量上下文表征的加密流量分类方法。

49、本发明的有益效果如下:

50、1.本发明在流量会话结束前就能对流量实现表征进而使用后续提出的模型进行分类,大大提高表征算法和流量分类的时效性;

51、2.本发明无需较高内存占用就能高效运行,可以很好地适配树莓派等iot设备;

52、3.本发明能较好地适应多场景、细粒度的加密流量分类任务。

53、4.本发明网络表征算法与流量分类模型均可实现离线或在线实时处理加密流量分类任务,能够大幅提高加密流量分类任务的效率;

54、5.本发明将不同类型流量映射到表征空间的不同区域,使其具有区分度,以便更好地进行分类,具有较低时间复杂度,无需消耗过多计算资源就可以高效运行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1