一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种网络异常流量检测方法、装置及存储介质

2022-07-14 01:52:13 来源:中国专利 TAG:


1.本发明属于网络安全技术领域,涉及一种网络异常流量检测方法、装置及存储介质,具体涉及一种基于卷积神经网络cnn和多头自注意力机制 (muti-self-attention)的网络异常流量检测方法、装置及存储介质。


背景技术:

2.目前,已有许多机器学习算法应用于异常流量检测,利用不同的机器学习算法降低误报率,检测异常的网络行为。
3.传统的机器学习方法在网络流量异常检测中十分有效,并且有一定的准确率,但存在以下不足:实验过程中的调优较为困难,而且需要人为选择特征,并且对提取特征的相关领域拥有很深入的研究了解,构造样本特征效率低,检测性能取决于参数调优和选择特征的质量。但如今网络流量数据量规模越来越大,数据维度越来越高,对异常检测的要求更高,传统的机器学习算法存在着训练效率低、特征提取繁琐、相关参数过多、检测准确度较低等问题。
4.现有技术仍然存在以下不足:使用深度学习的模型对网络异常流量数据进行分类检测,这样降低了特征提取的难度,但是大都存在训练时间过长,收敛速度慢,容易过拟合,并且数据集的分布非常不均衡等问题,因此如何解决样本不均衡问题,并提高预测准确度就显得尤为重要。


技术实现要素:

5.目的:为了克服现有技术中存在的不足,本发明提供一种网络异常流量检测方法、装置及存储介质;基于卷积神经网络cnn和多头自注意力机制(muti-self-attention),使用smote过采样算法与tomek link欠采样算法相结合缓解负样本量太少的问题。
6.技术方案:为解决上述技术问题,本发明采用的技术方案为:
7.第一方面,提供一种网络异常流量检测方法,包括:
8.一种网络异常流量检测方法,其特征在于,包括:
9.获取网络流量数据;
10.对网络流量数据进行特征提取得到流量特征数据;
11.对流量特征数据进行预处理,得到预处理后的流量特征数据;
12.采用smote算法与tomek link算法相结合对预处理后的流量特征数据中负样本数据进行数据增强,得到扩充后的样本;
13.对扩充后的样本进行归一化和标准化处理,得到标准化之后的样本特征;
14.将标准化之后的样本特征输入cnn和多头自注意力模型,得到输出的网络异常流量检测结果。
15.在一些实施例中,采用smote算法与tomek link算法相结合对预处理后的流量特征数据中负样本数据进行数据增强,得到扩充后的样本,包括:
16.使用smote算法对流量中少量的攻击样本进行上采样扩充,然后使用tomeklink算法对扩充的样本进行下采样。
17.在一些实施例中,所述smote算法,包括;
[0018][0019]
其中:x
new
表示新生成的样本,xi为少数类样本;
[0020]
的选取方法为:对一个少数类样本xi使用k近邻法,求出离距离xi最近的k个少数类样本,其中距离定义为样本之间n维特征空间的欧氏距离;然后从k个少数类样本中随机选取一个;为选出的k进邻的点,
[0021]
是一个随机数。
[0022]
在一些实施例中,对流量特征数据进行预处理,包括:将一些异常值样本从流量特征数据中去除,得到预处理后的流量特征数据。
[0023]
在一些实施例中,对扩充后的样本进行归一化和标准化处理,包括:
[0024]
归一化公式如下
[0025][0026]
其中x

为归一化之后的特征值,xi为归一化之前的特征值,min和max分别为特征值中的最小和最大值;
[0027]
标准化公式如下
[0028][0029]
其中x
*
为标准化之后的特征值,x为标准化之前的特征值,μ为所有数据的均值,σ为所有数据的方差。
[0030]
进一步地,先进行归一化,让所有特征范围落到0-1之间,然后再进行标准化让所有特征值的均值为0方差为1。
[0031]
将标准化之后的样本特征输入cnn和多头自注意力模型,得到输出的网络异常流量检测结果,包括:
[0032]
先将标准化之后的样本特征输入cnn层,在cnn层最左侧是1
×
1维卷积池化提取各个独立流量特征信息,在cnn层中间是原本的输入矩阵,保留原本的流量信息,在cnn层最右侧是7
×
7维卷积池化提取流量特征之间的局部关联信息;
[0033]
然后把以上三个通道cnn结果相加输入多头自注意力层提取流量特征之间的全局关联信息最终分类结果。
[0034]
第二方面,本发明提供了一种网络异常流量检测装置,包括处理器及存储介质;
[0035]
所述存储介质用于存储指令;
[0036]
所述处理器用于根据所述指令进行操作以执行根据第一方面所述方法的步骤。
[0037]
第三方面,本发明提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述方法的步骤。
[0038]
有益效果:本发明提供的网络异常流量检测方法及系统,该方法包括:1) 对网络
流量信息进行预处理操作,去除样本中的异常值。2)通过smote过采样方法对样本中少量的攻击样本进行扩充,再与tomek link算法相结合缓解 smote算法扩充样本数据形成的噪音。3)对预处理以及扩充后的样本进行标准化处理,使得样本的各个特征数值的均值和方差相同。4)将标准化处理后的特征向量先输入到改进的cnn模型中提取特征向量之间的空间局部信息,之后再投入多头自注意力模型中提取特征向量间的全局关联信息最终输出分类结果。本发明针对攻击样本占比少将过采样与欠采样相结合的方式扩充样本数据提高与攻击流量预测的准确率,进一步将cnn提取局部特征关联的优点与自注意力机制能提取特征间的全局关联优点相结合,实现cnn 多头自注意力机制的分类模型,可以更好的实现网络异常流量的自动分类,提高分类的准确性。与现有技术相比,优点在于:
[0039]
(1)本发明能够适应不断更新的网络攻击数据集。
[0040]
(2)本发明不但有效地处理了样本不均衡问题,而且使用了cnn算法层在保留流量特征之间独立信息的同时也提取到了流量特征之间的局部关联信息,之后进入多头自注意力层提取到了流量特征之间的全局关联特性。在准确率、召回率、精度等多维评价指标中表现出了较好性能。
附图说明
[0041]
图1为根据本发明一实施例网络异常流量检测方法的流程图;
[0042]
图2为根据本发明一实施例的流量数据预处理流程图;
[0043]
图3为根据本发明一实施例中网络异常流量检测系统网络示意图。
具体实施方式
[0044]
下面结合附图和实施例对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0045]
在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0046]
本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0047]
实施例1
[0048]
一种网络异常流量检测方法,其特征在于,包括:
[0049]
获取网络流量数据;
[0050]
对网络流量数据进行特征提取得到流量特征数据;
[0051]
对流量特征数据进行预处理,得到预处理后的流量特征数据;
[0052]
采用smote算法与tomek link算法相结合对预处理后的流量特征数据中负样本数据进行数据增强,得到扩充后的样本;
[0053]
对扩充后的样本进行归一化和标准化处理,得到标准化之后的样本特征;
[0054]
将标准化之后的样本特征输入cnn和多头自注意力模型,得到输出的网络异常流量检测结果。
[0055]
在一些实施例中,采用smote算法与tomek link算法相结合对预处理后的流量特征数据中负样本数据进行数据增强,得到扩充后的样本,包括:
[0056]
使用smote算法对流量中少量的攻击样本进行上采样扩充,然后使用tomeklink算法对扩充的样本进行下采样。
[0057]
在一些实施例中,所述smote算法,包括;
[0058][0059]
其中:x
new
表示新生成的样本,xi为少数类样本;
[0060]
的选取方法为:对一个少数类样本xi使用k近邻法,求出离距离xi最近的k个少数类样本,其中距离定义为样本之间n维特征空间的欧氏距离;然后从k个少数类样本中随机选取一个;为选出的k进邻的点,
[0061]
是一个随机数。
[0062]
在一些实施例中,对流量特征数据进行预处理,包括:将一些异常值样本从流量特征数据中去除,得到预处理后的流量特征数据。
[0063]
在一些实施例中,对扩充后的样本进行归一化和标准化处理,包括:
[0064]
归一化公式如下
[0065][0066]
其中x

为归一化之后的特征值,xi为归一化之前的特征值,min和max分别为特征值中的最小和最大值;
[0067]
标准化公式如下
[0068][0069]
其中x
*
为标准化之后的特征值,x为标准化之前的特征值,μ为所有数据的均值,σ为所有数据的方差。
[0070]
进一步地,先进行归一化,让所有特征范围落到0-1之间,然后再进行标准化让所有特征值的均值为0方差为1。
[0071]
将标准化之后的样本特征输入cnn和多头自注意力模型,得到输出的网络异常流量检测结果,包括:
[0072]
先将标准化之后的样本特征输入cnn层,在cnn层最左侧是1
×
1维卷积池化提取各个独立流量特征信息,在cnn层中间是原本的输入矩阵,保留原本的流量信息,在cnn层最右侧是7
×
7维卷积池化提取流量特征之间的局部关联信息;
[0073]
然后把以上三个通道cnn结果相加输入多头自注意力层提取流量特征之间的全局关联信息最终分类结果。
[0074]
在一些实施例中,参见图1,本发明的一种基于cnn和多头自注意力机制的网络异
常流量分类模型,分成了四个部分,第一个部分对网络流量进行预处理去除异常值提取网络流量的特征,第二个部分使用smote过采样与tomek link 欠采样方法相结合扩充攻击流量的样本数量,第三部分是对扩充后的样本整体进行归一化和标准化处理使得特征整体的均值为0方差为1,进而形成特征向量。第四部分是将特征向量输入到cnn 多头自注意力机制模型中进行网络流量分类。
[0075]
s1:参见图2,原始的流量数据通过提取特征之后进行预处理后形成了特征向量,预处理过程包括:对流量数据特征进行提取,去除异常值,对样本进行增强、最后进行归一化和标准化处理。
[0076]
对流量数据提取特征并去除异常值
[0077]
首先对流量的特征做脱敏操作,比如去除ip地址之类的信息,提取端口,数据包长度,连接时长等特征一共81个维度。去除一些异常值样本,比如某些特征过大过小直接剔除。有些攻击样本总共只有10几个严重影响分类结果,因此将样本数只有10几例的类别比如heartbleed,infiltration直接从原样本中去掉。
[0078]
对流量样本中的负样本进行数据增强
[0079]
由于原样本中正常流量占80%以上,直接投入训练会使得模型预测结果偏向正常流量,使得攻击流量预测的准确率不理想因此对负样本进行扩充与正样本数量总体平衡是非常有必要的首先使用smote算法对负样本数据进行扩充,原理是在少数类样本之间进行插值来产生额外的样本。具体地,对于一个少数类样本xi使用k近邻法(k值需要提前指定),求出离距离xi最近的k个少数类样本,其中距离定义为样本之间n维特征空间的欧氏距离。然后从k个近邻点中随机选取一个。但是这样势必会引入噪声也会导致预测结果的准确率产生影响,因此这里再与tomek link欠采样方法结合删除一些扩充的数据缓解噪声造成的影响。tomek link表示不同类别之间距离最近的一对样本,即这两个样本互为最近邻且分属不同类别。这样如果两个样本形成了一个tomek link,则要么其中一个是噪音,要么两个样本都在边界附近。这样通过移除tomek link就能“清洗掉”类间重叠样本,使得互为最近邻的样本皆属于同一类别,从而能更好地进行分类。
[0080]
对特征进行归一化和标准化处理
[0081]
由于不同特征的数值范围差距过大,直接投入训练会导致数值范围大的特征对结果影响较大,特征数值范围小的特征影响就偏小,所以把特征全部映射到同一个范围是非常有必要的,通过最大最小值将特征映射到0和1之间,再通过均值方差标准化将特征的均值处于0,方差处于1的范围。
[0082]
流量信息经过特征提取、异常值处理样本扩充,标准化处理之后,形成了网络流量样本集。
[0083]
s2:smote算法参考图2具体的公式如下:
[0084][0085]
s3:参见图2,使用对smote算法生成的新数据进行下采样,具体步骤如下:
[0086]
s31:根据tomek link表示不同类别之间距离最近的一对样本,即这两个样本互为最近邻且分属不同类别。
[0087]
s32:这样如果两个样本形成了一个tomek link,则要么其中一个是噪音,要么两个样本都在边界附近。
[0088]
s33:这样通过移除tomek link就能“清洗掉”类间重叠样本,使得互为最近邻的样本皆属于同一类别,从而能更好地进行分类;
[0089]
s4:参见图2,对扩充之后的样本进行归一化和标准化处理,具体公式如下
[0090]
s41:归一化公式如下
[0091][0092]
s42:标准化公式如下
[0093][0094]
s5:参见图3,标准化之后的样本特征投入到cnn 多头自注意力模型进行训练:
[0095]
s51:卷积层公式如下:
[0096]
s(i,j)=(x*w)(i,j)=∑m∑nx(i m,j n)w(m,n)
ꢀꢀ
(4)
[0097]
其中w为卷积核,x为输入的矩阵,i,j为矩阵的维度,m,n为卷积核的维度
[0098]
之后将三者相加,公式如下:
[0099]
x

=s1 s2 x
ꢀꢀ
(5)
[0100]
之后使用一种自正则的非单调神经激活函数mish,平滑的激活函数允许更好的信息深入神经网络从而得到更好的准确性和泛化程度,公式如下:
[0101]
x
new
=x

*tanh(in(1 e
x

))
ꢀꢀ
(6)
[0102]
在池化层中,对卷积后得到的较大维度特征向量进行池化操作,最常见的池化方法有最大池化法、平均池化法。以上是一个卷积核对一条输入文本的卷积池化操作,假设卷积核有m个,经过多次卷积池化操作,全连接层将得到的 m个特征所对应的特征值进行全连接操作,得到最终的特征向量如下:
[0103][0104]
s52:多头自注意力机制的公式如下:
[0105]
att(q,k,v)=ω(qk
t
)v
ꢀꢀ
(8)
[0106]
其中q,k,v相等都是cnn层的输出向量。实施例2
[0107]
第二方面,本实施例提供了一种网络异常流量检测装置,包括处理器及存储介质;
[0108]
所述存储介质用于存储指令;
[0109]
所述处理器用于根据所述指令进行操作以执行根据实施例1所述方法的步骤。
[0110]
实施例3
[0111]
第三方面,本实施例提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1所述方法的步骤。
[0112]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0113]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/ 或方框图中的每一
流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0114]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0115]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0116]
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献