一种添加位置编码的异常流量分类方法、装置及设备

文档序号:37905112发布日期:2024-05-09 21:51阅读:12来源:国知局
一种添加位置编码的异常流量分类方法、装置及设备

本发明涉及网络流量数据处理,尤其涉及一种添加位置编码的异常流量分类方法、装置及设备。


背景技术:

1、随着信息技术的迅猛发展,企业与组织已将信息化建设视为优化管理、提升效率及服务品质的关键路径。然而,随着企业业务数据价值的不断增长,网络安全问题逐渐凸显,各类安全事件如数据泄露、页面篡改、黑链等严重威胁着企业系统的稳定运行,对企业生产和运营带来了极大的困扰。因此,确保网络安全运行的重要性不容忽视。流量分类作为网络安全领域的重要应用,其核心目标在于识别网络中的异常流量,如恶意攻击或异常行为。在网络管理与网络安全领域,精确的流量分类发挥着举足轻重的作用,为众多网络活动奠定了坚实基础。

2、近年来随着算力的不断提高,人工智能技术开始应用于各种不同的领域,深度学习作为人工智能技术的一个重要分支,在机器视觉,图像分割,自然语言处理都有良好的表现,所以越来越多的人开始将深度学习技术用到了网络安全中的异常流量分类领域。当前主流的技术多是通过cnn对会话内容提取特征,或者使用lstm和rnn这样一些类似的对时间序列敏感的深度学习模型,同时对多个会话提取特征,但是目前这些方法都或多或少有一些缺陷,例如cnn并不完全适用于学习时间序列,但是异常流量的时序特征又是非常重要的一种特征,而lstm和rnn等适用时序特征模型又存在梯度消失和梯度爆炸的问题,同时其不能做到并行计算,效率较低,且在训练时多需要把数据集打乱,这样一来每次提取的训练样本并无前后关联,失去了使用lstm和rnn的意义,导致其精度低,泛化性差。


技术实现思路

1、有鉴于此,本发明提供一种添加位置编码的异常流量分类方法、装置及设备,通过将位置编码和注意力机制引入流量分类领域,给流量本身加入位置编码后,通过注意力机制提取流量的时序特征,再利用残差网络提取流量的内容特征,达到提高检测精确度的目的。

2、本发明实施例解决其技术问题所采用的技术方案是:

3、一种添加位置编码的异常流量分类方法,包括:

4、步骤s1,根据本地服务器采集的流量数据构建流量数据集,并对所述流量数据集进行预处理,得到十进制流量矩阵数据集s,所述流量数据集中的样本均具有标签;

5、步骤s2,从所述十进制流量矩阵数据集s中提取一个大小为m的批量v;

6、步骤s3,对所述批量v中的矩阵进行位置编码,进一步得到新的位置流量矩阵vp;

7、步骤s4,将所述位置流量矩阵vp输入至分类模型进行提取特征,得出异常流量分类结果,所述分类模型依次由row vector weight模块,attentionblock模块,resnetblock*4模块和fc模块组成,所述attentionblock模块由依次连接的multiheadattention子模块、addnorm1子模块、dfc子模块、addnorm2子模块组成,所述resnetblock模块由依次连接的4个basicblock子模块组成;

8、步骤s5,重复执行步骤s2-s4,直至所述分类模型的损失函数收敛完毕;

9、步骤s6,利用所述分类模型识别网络流量数据,进行异常流量的识别以区分开异常流量和正常流量。

10、较优地,所述步骤s1包括:

11、步骤s11,将所述流量样本数据集中的pcap包按session进行切分;

12、步骤s12,将经所述步骤s12处理后的各pcap包裁剪为1kb大小,其中,对大小不足1kb的pcap包作填充处理,对大小超出1kb的pcap包作截断处理;

13、步骤s13,按原始排列顺序将所述步骤s12处理后的pcap包,每a个pcap头尾相接拼接成一个新pcap文件;

14、步骤s14,将所述步骤s13处理后所得到的新pcap文件转换为十进制矩阵,其中,十进制矩阵的尺寸为a*1024;

15、步骤s15,通过步骤s11-s14对所述流量样本数据集中所有元素执行完毕后,得到所述十进制位置流量矩阵数据集s。

16、较优地,所述步骤s3包括:

17、步骤s31,给定一个长度为n的序列,令t表示流量向量在流量矩阵中的位置,是生成位置向量的函数,i表示目前的向量维度序号,i∈[1,n],j表示批量v中样本的序号,j∈[1,m],位置向量定义为:

18、

19、其中频率ωk定义为:

20、

21、步骤s32,对所述批量v中各矩阵做层归一化处理,得到层归一化处理后的数据layernorm(v):

22、

23、式中,vj是所述批量v中的第j个矩阵;μ和σ分别表示所述批量中每一层的均值和标准差;ε为常数,用于防止分母为零;γ和β为参数,用于将归一化后的数据再次放缩得到新的数据;

24、步骤s33,构建批量位置矩阵p,根据所述批量位置矩阵p以及layernorm(v),得出所述位置流量矩阵vp:

25、

26、p=[p(1),p(2),…,p(m)]t

27、vp=layernorm(v)+p。

28、较优地,所述步骤s4包括:

29、步骤s41,将所述位置流量矩阵vp输入所述row vector weight模块,给所述位置流量矩阵vp中每一行向量添加可学习的权重后输出至所述attentionblock模块;

30、步骤s42,所述attentionblock模块中,所述multiheadattention子模块对所述步骤s41的输出进行时序特征提取后、输出至所述addnorm1子模块,具体是将添加权重后的位置流量矩阵vp分别作为query,key,value输入对应的fc1子模块、fc2子模块、fc3子模块中执行全连接处理后送入selfattention1子模块到selfattention-n子模块中分配注意力权重,最后每个selfattention子模块将结果输出至concat子模块进行拼接,拼接结果输入fc4子模块执行全连接处理后,输出至所述addnorm1子模块;

31、步骤s43,所述addnorm1子模块对所述步骤s42输出的数据进行层归一化处理后输出至所述dfc子模块;

32、步骤s44,所述dfc子模块对步骤s43的输出依次作一次全连接处理、一次relu处理、一次全连接处理后,输出至所述addnorm2子模块;

33、步骤s45,所述addnorm2子模块对步骤s44的输出依次作层归一化、残差连接处理后输出至所述resnetblock*4模块;

34、步骤s46,所述resnetblock*4模块对所述步骤s45的输出进行16次结构特征提取后输出至所述fc模块;各resnetblock子模块用于提取流量矩阵的结构特征,其中,每个basicblock依次由conv2d1单元、addnorm1单元、relu单元、conv2d2单元、addnorm2单元组成;

35、步骤s47,所述fc模块将所述步骤s46的输出展平为一维向量、再通过矩阵乘法将所述一维向量变形为1*n的形状,得出所述异常流量分类结果,n为分类标签的个数;

36、步骤s48,根据所述异常流量分类结果和标签计算交叉熵损失函数,并利用adam优化器,优化所述分类模型中的参数。

37、本发明还提供一种添加位置编码的异常流量分类装置,所述装置包括:

38、预处理模块,用于根据本地服务器采集的流量数据构建流量数据集,并对所述流量数据集进行预处理,得到十进制流量矩阵数据集s,所述流量数据集中的样本均具有标签;

39、批量提取模块,用于从所述十进制流量矩阵数据集s中提取一个大小为m的批量v;

40、位置编码模块,用于对所述批量中的矩阵进行位置编码,进一步得到新的位置流量矩阵vp;

41、分类模块,用于将所述位置流量矩阵vp输入至分类模型进行提取特征,得出异常流量分类结果,所述分类模型依次由row vector weight模块,attentionblock模块,resnetblock*4模块和fc模块组成,所述attentionblock模块由依次连接的multiheadattention子模块、addnorm1子模块、dfc子模块、addnorm2子模块组成,所述resnetblock模块由依次连接的4个basicblock子模块组成;

42、损失计算模块,用于对所述分类模块的结果计算损失;其中,所述批量提取模块、所述位置编码模块和所述分类模块始终循环执行流量识别流程,直至所述分类模型的损失函数收敛完毕;

43、识别模块,利用所述分类模型识别网络流量数据,进行异常流量的识别以区分开异常流量和正常流量。

44、由上述技术方案可知,本发明实施例提供的添加位置编码的异常流量分类方法,首先根据本地服务器采集的流量数据构建流量数据集,并对所述流量数据集进行预处理,得到十进制流量矩阵数据集s,所述流量数据集中的样本均具有标签;从所述十进制流量矩阵数据集s中提取一个大小为m的批量;对所述批量中的矩阵进行位置编码,进一步得到新的位置流量矩阵vp;将所述位置流量矩阵vp输入至分类模型进行提取特征,得出异常流量分类结果;重复执行前述步骤,直至所述分类模型的损失函数收敛完毕;利用所述分类模型识别网络流量数据,进行异常流量的识别以区分开异常流量和正常流量。本发明通过将位置编码和注意力机制引入流量分类领域,给流量本身加入位置编码后,通过注意力机制提取流量的时序特征,再利用残差网络提取流量的内容特征,达到提高检测精确度的目的。

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