基于多尺度特征融合的异常网络流量检测
2024-01-16李岚俊
李岚俊,许 青
(马鞍山学院,安徽 马鞍山 243000)
研究人员一直在寻找更有效的方法来检测网络攻击。传统的流量检测通常使用特征工程来提取流量特征,然后使用机器学习方法进行分类。肖香梅等提出利用随机森林模型进行异常检测,张晓艳提出一种基于改进型模糊推理算法的检测手段。这些方法在某些情况下可以有效地检测网络攻击,但通常需要大量的人工特征工程,并且在复杂网络环境中的效果往往不够理想。
深度学习技术的出现为网络流量检测带来了新的机遇。深度学习可以自动地从原始数据中提取流量特征,并且具有很好的表征能力。目前,基于深度学习方式的流量检测已经成为众多学者的研究对象。Li等提出基于向量机和LSTM结合的模型;Gao等提出基于深度神经网络和关联分析的两级异常检测;陈冠衡等提出基于DNN模型改进的检测算法。
在深度学习中,卷积神经网络(convolutional neural networks,CNN)具备优异的特征自适应捕获能力,作为深度学习的一种模型,随着模型层次的加深,退化问题越来越明显,同时由于对网络流量的多尺度特征的忽视,造成了异常流量的错误分类检测。CNN是一种常用的深度模型,是目前已被广泛应用的检测手段。杭梦鑫等提出一种改变CNN的卷积层和全局池化层的检测模型,张艳升等提出基于卷积神经网络改进的模型。但是,CNN模型在提取多尺度特征方面存在一定的局限性,通常只能从局部的固定尺度的特征中学习。流量的多尺度特征包括流量的时序分布、周期性、波动性和多空间尺度的传输路径等。为能够有效地提取网络流量的多尺度特征,本文在CNN模型的基础上提出一种能够融合流量多尺度特征的模型MFM-MPL。
1 基于MFM-MPL模型的异常流量检测设计
大尺度可以显示流量信号的整体趋势,小尺度可以观察到信号的更多细节特征,相比较单一尺度,对不同网络流量空间粒度的提取能够更准确地检测异常流量。本文通过将多个模块的级联构造多个特征提取通道,输出所有不同尺度特征,匹配异常流量特征数,能够更精确地识别异常流量数量。
MFM-MPL模型由初始ConvBlock、3个多尺度特征聚合块(multi-scale traffic feature aggregation module,MFM)、3个多尺度池化层(multi-scale pooling layer,MPL)模块和全连接层组成,结构如图1所示。整个模型的工作流程:采集流量输入信号,注入核大小为3×3,Step为1的Conv层,提取流量原始特征,经由3个MFM模块提取多尺度流量特征,再由3个MPL模块将多尺度特征聚合,经过通道连接后交给Softmax分类函数输出至全连接层,最后经过Dropout处理输出结果。
图1 MFM-MPL结构
MFM模块是模型的核心部分,由4个ConvBlock、4个ResBlock和1个核大小为1×1的Conv组成,其中每个ConvBlock的核大小不一,ConvBlock通过级联的方式将提取到的多尺度特征输出至ResBlock,通过ReLU函数交由下一层,然后由通道连接将不同尺度的特征在通道维度上连接,最后与核大小为1×1的Conv层融合。MFM模块结构如图2所示。
图2 MFM模块结构
MPL模块结构如图3所示,由2个核大小为1×1的Conv层和1个Average Pooling层组成,3个MPL的区别在于参数不同。
图3 MPL模块结构
为了能够提取到网络流量信号的多尺度特征,从而更加准确地检测出异常网络流量,MFM-MPL模型由初始Conv层提取原始流量特征,初始Conv层利用卷积运算将输入数据进行特征映射,得到浅层特征;MFM模块利用4个ConvBlock的级联来提供模型的数据捕获能力和特征挖掘能力,从Conv层初步提取的浅层特征中去除部分特征图通道,同时利用ResBlock的级联避免特征梯度消失,再通过通道连接将每个特征提取通道连接在一起,利用一维卷积提取出多尺度特征;同时,利用MPL模块将MFM模块提取到的多尺度特征融合,提取最有效全局特征数。当检测的流量信号与验证集的特征值数量不匹配则判定为异常流量。
MFM-MPL模型参数见表1,CA表示通道连接,N表示异常流量数量,L表示数据流长度,4×L表示特征图有4个通道,L/4表示Pooling内核大小为特征图的1/4。3个MFM模块的核大小和Step一致,输出特征尺寸不一。
表1 MFM-MPL模型参数
2 实 验
2.1 实验环境
本实验采用Keras深度学习前端框架,后端采用tensorflow框架,实验环境配置见表2。使用优化器Adam、CrossEntropyLoss函数为损失函数,设置学习率(learning rate)为0.001、epoch为10、批量大小(batch size)为64。
表2 实验环境配置
2.2 实验数据
本次实验采用4个公开的网络流量样本集NSL-KDD、KDD99、UNSW-NB15和IDS2017,每个样本集包括训练集数、测试集数、正常样本数、异常样本数和特征数(表3)。
表3 数据样本集 单位:个
2.3 评估基准
本次实验采用精确率和召回率来检验模型的精度。
精确率(P),正确预测的正例样本在正例样本值中的比重,公式如下
P=P_T/(P_T+P_F)
召回率(R)正确预测的正例样本在实际正例样本值中的比重,公式如下
R=P_T/(P_T+N_F)
其中,P_T表示检测正确的正常流量,P_F表示检测错误的正常流量,N_F表示检测错误的异常流量。
2.4 结果分析
为验证本文所提的模型优越性,将MFM-MPL模型与多个模型进行检测精确率比较(表4),其中Res-3和Res-7分别是内核大小为3×1和7×1的单尺度残差网络,与MFM-MPL不同的地方在于没有Conv层,并且使用全局平均池化层(GAP)代替多尺度池化层。
表4 多模型精确率比较
通过表4可以看出,比较各种模型的最大、最小和平均精确度,MFM-MPL模型具备最高的值。其中MFM-MPL要比DNN模型的精准率高很多,这说明MFM-MPL具有良好的卷积运算数据的映射能力,MFM-MPL模型比Res-3高,说明了残差块的加速学习性能。对样本的测试时长方面,因为MFM-MPL结构的复杂性,耗费的时间偏长。同时比较不同模型的召回率(表5)。
表5 多模型召回率比较
通过表5可以看出,MFM-MPL的召回率达到97.56%,在所有模型当中最高。
3 结 论
本文提出了一种基于多尺度特征融合的异常流量检测模型MFM-MPL,该模型由多个多尺度特征聚合模块和多尺度池化层组成。MFM-MPL模型能够使用多尺度特征聚合模块的多个卷积块的级联来提供模型的数据捕获能力和特征挖掘能力;同时,利用残差模块的级联能够避免流量特征的梯度消失问题,再使用多尺度池化层的聚合并提取到异常网络流量的多尺度特征。对比不同模型,MFM-MPL模型能够具备更高的精确率和召回率。实验表明,本文提出的模型具备优异的异常网络检测能力。