基于自注意力机制的网络流量异常检测方法

2023-01-16 11:26房朝辉
关键词:网络流量注意力卷积

宣 萍,房朝辉,丁 宏

(安徽省产品质量监督检验研究院 电子电器所,安徽 合肥 230051)

网络信息技术的迅速发展,使得互联网数据规模日益增大、网络应用范围不断扩大,因此网络安全受到越来越多学者的高度关注.随着数据科学、人工智能技术的快速发展,全球网络安全局势也越来越严峻.网络空间中的数据传递与交换都是以网络流量为媒介的,而网络流量通常包含许多重要价值的数据信息.通过研究网络流量数据,发现网络异常情况并采取相应的处理措施,对有效维护网络安全具有重要的价值.因此,研究网络流量异常检测方法,对有效识别异常流量有着一定的理论意义和实际的应用价值.

一般而言,深度包检测和基于异常特征库匹配的入侵检测是两种重要的检测网络异常流量的方法.然而,这两种网络流量异常检测方法均存在不足.对于入侵检测方式,其很大程度上依赖于异常特征库的更新和维护,使得检测性能缺乏鲁棒性;而深度包检测技术,对于网络中加密数据流量的检测效果有很大的局限性.近年来,机器学习方法成为网络流量异常检测[1]的重要方法之一,主要包括决策树、支持向量机SVM(support vector machine)和随机森林等.经典机器学习的网络流量检测方法主要是通过对网络流量样本数据集进行特征选择来降低数据的维度,进而提取出数据流量最有效的特征.近年来,文献[2]提出基于多分类支持向量机来构建适宜的异常流量检测模型;文献[3]提出基于支持向量机和聚类的网络流量异常检测新模型.然而,基于特征选择进行数据降维的机器学习方法仍然存在如下不足:一是需要人为制定规则进行特征选择,这大大提高了时间和人力成本[4];二是忽略了流量数据特征之间的关联性,往往只能选择与网络流量关联性最大的部分特征;三是机器学习方法对结构复杂的大规模网络数据的处理能力往往很有限,导致经常出现误报率高、模型的泛化能力较差等问题.因此,研究网络流量异常检测的有效方法具有重要的意义.

目前,深度学习方法[5]广泛应用于网络流量异常检测中.黎佳玥等[6]和董书琴等[7]均提出深度学习检测方法,该方法能够提取出具有较高准确性和稳定性的流量特征.徐洪平等[8]提出一种基于卷积循环神经网络的网络流量异常检测算法,得到了较高的精度、召回率和准确率.杨月麟等[9]在残差网络中引入多头自注意力机制,提出一种基于迁移学习的检测模型,获得了较高的检测性能.皇甫雨婷等[10]引入自注意力机制SA(self-attention)进行网络流量数据的多特征学习,实现网络异常流量检测性能的提升、分类准确率的提高以及误报率的降低.近期,自注意力机制在网络流量异常检测模型中备受研究者关注.董卫宇等[11]提出一种基于堆叠卷积注意力的深度神经网络模型检测网络异常流量.尹梓诺等[12]针对流量数据集中类别不平衡限制了少数类攻击流量的检测性能这一问题,提出一种基于联合注意力机制和1维卷积神经网络-双向长短期记忆网络模型的流量异常检测方法.

基于自注意力机制能够有效刻画网络流量数据多个特征之间的相关性,以及深度卷积神经网络模型能够自动学习流量数据的特征等优势.论文将自注意力机制与深度卷积神经网络模型相结合,提出一种有效的网络流量异常检测方法.通过对真实数据集的实验验证,该方法能够实现提取更加准确的流量特征,达到异常流量检测率高、误报率低等优势.

1 网络流量异常检测

1.1 基于自注意力机制的网络流量特征提取

经典的机器学习方法提取数据流量特征主要是通过人工设定规则来进行的,而深度学习方法的特征提取是通过对样本数据训练自动学习得到的.但是这些方法却忽略了特征之间的相关性,使得对网络流量数据特征提取的准确性降低,存在异常流量有效检测率低、误报率高等问题.Vaswani等[13]所提出的自注意力机制能够学习特征之间的相关性,并具有较低的计算复杂性.

论文使用自注意力机制来学习网络流量特征之间的相关性.自注意力机制主要包括两个过程:一是根据询问(query,简称Q)和键(key,简称K)计算权重系数;二是根据权重系数对值(value,简称V)进行加权求和.首先对输入数据进行编码为X,将输入向量X分别乘以权重WQ,WK,WV即可得到Q,K,V和输出,即Q=XWQ,K=XWK,V=XWV,其中WQ,WK,WV是训练过程中模型学习到的参数.设置Q,K,V的主要目的是计算每个特征的权重,由权重值大小便于衡量各特征之间的相关性大小.自注意力机制是计算Q和K所有的点积,并进行放缩,通过Softmax函数得到值V的权重,最后把值V和权重相乘就得到最终的注意力值A(Q,K,V).具体过程如图1所示.

图1 自注意力机制的具体工作流程

1.2 基于卷积神经网络的异常流量检测模型

近年来,深度学习中最为代表的卷积神经网络模型在图像分类和语音识别问题上得到了广泛应用,并取得了优异的表现.卷积神经网络CNN(convolutional neural networks)主要由数据输入层、特征提取卷积层、激活函数层(ReLU)、池化层和全连接层架构而成.其卷积层和池化层主要作用是提取数据的特征.在每个卷积层中,一个神经元往往只和相邻层的一小部分神经元相连.而每个卷积层中通常包含若干个特征图(feature map),每个特征图的神经元都共享权值(称为卷积核).在网络的训练过程中,通过利用卷积核进行权值学习,能够减少网络各层之间的连接以及减少模型的过拟合.因此,卷积层和池化层在简化模型复杂度、减少模型的训练参数等方面起到了重要作用.图2给出了卷积神经网络具体结构的示意图.

图2 卷积神经网络结构示意图

为了对网络异常流量进行更有效的检测,论文将卷积神经网络和自注意力机制CNN+SA(convolutional neural networks+ self-attention)模型相结合,通过自注意力机制提取分析流量数据特征之间的相关性,提供更准确的流量数据特征,进而构造基于深度卷积神经网络的异常流量检测分类器,实现网络异常流量的高性能检测.具体架构如流程图3所示.

图3 网络异常流量检测模型的总体流程图

2 实验结果与分析

在公开的数据集上,通过实验方法验证基于自注意力机制的网络流量异常检测方法的有效性能,并以准确率(accuracy)、精确率(precision)、召回率(recall)和F-score作为模型的评价指标.实验对比了SVM,CNN与CNN+SA模型的表现性能,结果表明:论文提出的自注意力机制和卷积神经网络相结合的异常流量检测方法具有较好的检测表现.

2.1 实验数据集与数据预处理

论文使用公开的UNSW-NB15数据集[14],该数据集是综合性的网络攻击流量数据集,包含Fuzzers, Analysis, Backdoors, DoS, Exploits, Generic, Shellcode, Reconnaissance和Worms等9种数据.此外,由于数据集的数据存在极度不平衡性,通过采用过采样和欠采样的方法对数据进行不平衡处理,使得实验中使用的数据集正负样本均衡.实验中将处理后的平衡数据集按照7∶3的比例进行划分,然后分别用于模型的训练和模型验证.

2.2 评价指标

评价指标主要用来衡量论文所提出的网络异常流量检测方法与传统方法标准.一般使用混淆矩阵[15]来定义相关评价检测性能的指标.因此,准确率(accuracy)、精确率(precision)、召回率(recall)和F-score指标的定义分别为

其中:TP表示分类器预测的真阳性数,FN表示假阴性数,FP表示假阳性数,TN表示真阴性数.

2.3 结果分析

该实验采用SVM,CNN与CNN+SA 3个模型对数据集UNSW-NB15中9种网络攻击进行检测,分别计算各模型对9种网络攻击检测的准确率、精确率、召回率和F-score指标上的结果.论文所提出的CNN+SA模型与SVM,CNN方法在F-score上的表现如图4所示.从图4可以看出,论文提出的CNN+SA比SVM和CNN两种方法的F-score值都要高得多.

图4 SVM,CNN与CNN+SA 3个模型在F-score指标上的比较

表1给了3个模型分别在检测的准确率、精确率、召回率指标上的结果.

表1 SVM,CNN与CNN+SA 3个模型在检测的准确率、精确率、召回率指标上的结果 %

从表1中可以看出,论文提出的CNN+SA模型在检测的准确率、精确率、召回率上都比SVM和CNN两种方法要高.此外,CNN+SA模型本身在这3个指标上的结果相差不大.

3 结束语

论文提出一种将自注意力机制SA和卷积神经网络CNN相结合的网络异常流量检测方法CNN+SA.与SVM和CNN两种方法在公用数据集上进行比较,实验结果表明论文所提出的CNN+SA模型在网络异常流量检测的几个指标上均表现出优异的检测效果.

猜你喜欢
网络流量注意力卷积
基于多元高斯分布的网络流量异常识别方法
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于神经网络的P2P流量识别方法
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
AVB网络流量整形帧模型端到端延迟计算
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
一种基于卷积神经网络的性别识别方法