融合CNN-BiGRU和注意力机制的网络入侵检测模型

2024-03-12 09:18杨晓文况立群
信息安全研究 2024年3期
关键词:样本数网络流量特征提取

杨晓文 张 健 况立群 庞 敏

(中北大学计算机科学与技术学院 太原 030051)

(机器视觉与虚拟现实山西省重点实验室 太原 030051)

(山西省视觉信息处理及智能机器人工程研究中心 太原 030051)

近年来,网络入侵问题愈发严重,引起公众的关注.深度学习已经被应用于网络入侵检测领域,并且取得了一些检测效果.文献[1]提出了一种基于云计算的网络入侵检测模型,利用多层感知机神经网络和粒子群优化算法实现对NSL-KDD和KDD-CUP数据集的入侵检测,但是其预测结果的准确性有待进一步提高.文献[2]提出了一种分布式网络安全框架,使用随机森林分类技术对CIC-IDS-2017数据集进行了网络流量的识别和分类,但是所提出的方法并不能识别每一种流量类别.文献[3]在CIC-IDS-2018数据集上使用ReLu作为每个卷积层的激活函数,表明了卷积神经网络的准确度高于循环神经网络,但是针对一些特定类别的网络攻击,其预测精度还是低于70%.文献[4]提出RNN-LSTM模型的入侵检测方法,使用KDD99数据集实现了对网络流量的分类,但是数据集网络流量种类少,缺乏说服力.文献[5]提出了CNN-BiLSTM模型,在数据集DARPA1998上进行特征提取并且分类,但是在进行特征提取时会损失特征的时间特性.文献[6]使用堆叠LSTM网络检测拒绝服务攻击,虽然极大程度地提高了检测精度,但是由于其模型结构复杂,参数较多,整体预测效率不高.文献[7]使用长短期记忆循环神经网络和门控循环单元模型针对物联网流量数据进行了有效的检测和追踪,但是该模型忽略了不同类型流量数据的重要性差异,同等看待不同类型数据流量导致分类预测精度的降低.

根据以上文献分析,入侵检测模型的优缺点主要取决于特征提取.在现有研究中,传统的网络入侵检测方法缺乏独立学习的能力[8],导致检测的准确性降低.为了解决这些问题,本文针对网络流量数据的非线性和时序的特点,提出了一种基于CNN-BiGRU-Attention的网络入侵检测模型,用于检测常见的网络攻击.

1 相关工作

深度学习模型在入侵检测领域取得了良好的研究效果,特别是CNN模型和RNN模型,其变体独立应用和组合应用时,在获取数据的时空特征方面具有显著的优势[9].

CNN模型在深度学习领域应用十分广泛:Vinayakumar等人[10]的研究表明,CNN及其变体架构在网络入侵检测领域优于经典的机器学习架构;文献[11]的实验结果表明,基于CNN的入侵检测模型展现出了良好的特征提取能力和较高的检测率,提高数据特征的质量,为提高网络流量入侵检测的准确性奠定了基础.鉴于此本文提出的模型引入了CNN架构.

RNN架构在内部反馈方面优于传统的神经网络,每层之间都有前馈连接[12],因此可以将CNN与RNN或者其改进模型集成在一个模型中,从而提取数据的时序特征,有效地针对网络流量进行特征分类[13].

人们在观察图像时通常倾向于更多地关注图像的某些局部区域,而不是图像的整体.在ImageNet 2017上,Szegedy等人[14]提出了一种基于通道注意力机制激励网络,赢得了图像分类挑战.卷积注意力模块(CBAM)[15]是在通道注意力机制激励网络的基础上通过添加Maxpool的信道改进的,文献[15]通过大量实验,表明添加注意力机制可以有效地提高模型分类的性能.基于此,本文在网络流量入侵检测中引入了注意力机制来提高分类器的性能.

2 本文方法

2.1 网络入侵检测模型整体架构

网络流量数据集是一种时间序列数据,本文提出的CNN-BiGRU-Attention模型在公开可用的数据源上进行训练,利用CNN网络的卷积和池化操作提取数据局部特征;利用前向GRU和后向GRU对时序数据进行长期依赖特征提取;并融合注意力机制对各个特征进行不同权重的分配,提出了一种基于CNN-BiGRU并融合注意力机制的入侵检测模型.模型结构如图1所示:

图1 网络入侵检测模型结构

2.2 CNN网络

在本文的研究中,由于网络数据集是1维序列数据,所以使用1维卷积层进行特征提取.首先使用CNN网络对网络入侵流量数据提取特征并进行分析;CNN模型中交替配置卷积层与池化层,可以提高特征提取的效率[16];卷积层将网络流量数据连续映射到高维,并且从这些网络流量数据中训练出特征数据,并且及时纠正模型的检测效果;最后使用Softmax分类器对提取到的网络入侵流量特征进行分类,即可实现对网络入侵流量数据的特征提取与分类.

2.3 BiGRU网络

GRU(门控循环单元)是RNN网络的改进模型,其内部结构简单,参数更少,不仅能够避免反向传播中的梯度消失问题,而且在计算速度和效率方面优于RNN.在GRU单元中,将之前的隐藏状态与当前的输入连接,乘以各自的权重,然后通过sigmoid函数传递.重置门的结果矢量输出与之前的隐藏状态相乘,将当前输入添加到该状态,并通过tanh函数传递[17].

(1)

(2)

(3)

(4)

u′=Uv⊙(ht-1),

(5)

ht=r′⊙(1-Uv)+u,

(6)

式中,σ为sigmoid函数,h为输入的网络流量信息,W为更新门与重置门对应输入流量数据的权值矩阵,U为本神经元输出隐状态对本神经元内隐状态数据ht与上一神经元传递隐状态数据的Hadamard乘积所赋的权重值,b为偏置值,以上学习参数随着模型的训练而更新.

在本文的网络安全态势预测中,由于网络流量数据具有时间序列的特征,具有时间依赖性[18],因此需要更深入的时间特征提取,尽管GRU在顺序数据的处理方面表现出强大的能力,但是它的隐藏状态只考虑前向连接进行信息捕获,而忽略后向连接进行信息捕获,相比之下,双向门控循环单元(BiGRU)能获取过去的信息并且能预测未来的状态,而且BiGRU能充分利用不同类型流量的时间相关性实现全局检测并发现潜在的异常行为.

2.4 注意力机制

注意力机制专注于输入数据的最关键部分,充分挖掘了网络流量数据的深层次特征信息,聚焦于高影响的流量类别特征,从而实现了对不同类别的流量数据基于重要程度分配不同的权值.注意力机制的转换过程如式(7)~(10)所示:

(7)

(8)

(9)

(10)

3 实 验

3.1 实验环境

实验采用的服务器处理器为Intel®Xeon®W-2245 CPU@3.90GHz,内存为64.0GB,显卡为GeForce RTX 3090,操作系统为Linux,编程语言为python3.8.13,框架为Keras2.4.3,后端采用Tensorflow 2.6.0.

3.2 数据集预处理

3.2.1 数据集清洗

CIC-IDS-2017入侵检测数据集[8]是加拿大网络安全研究所发布的,该数据集包含良性流量和恶性攻击,经过数据清洗后的数据包含78个数据特征字段和1个类别标签.

3.2.2 数据集平衡

在整个数据集中,包含1362行“NULL”和“NaN”值,占比不足整个数据集的1%,因此删除了这些样本数据.然后对数据进行归一化处理,所用到的方法是min-max归一化,如式(11)所示:

(11)

式(11)中x表示将要进行归一化的值,Mmin为同一维度下的最小数值,Mmax为同一维度下的最大数值.

由实验可知,清洗过后的数据集高度不平衡,因此,删除了高度不平衡的网络流量攻击分类,并利用随机欠采样技术减少大多数类别的大小,完成数据集的平衡.经过平衡后的数据集数据按照8∶2的比例拆分为训练集和测试集.同时为了将数据集输入深度学习模型,使用从0~10的标签编码器将分类变量编码为整数值.

3.3 评估指标

为了对不同类型的网络入侵流量进行精准的预测与分类,本文对不同类型的网络入侵流量分类时,将该网络流量类型视为正样本,其余流量类型均视为负样本.实验采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)以及F1值(F1-Score)作为模型评价指标.TP表示正确预测该网络流量类型的样本数,FP表示错误地把其他类型的网络流量预测为该网络流量类型的样本数,TN表示正确地将其他类型的网络流量预测为该网络流量类型的样本数,FN表示错误地将该网络流量类型预测为其他类型的网络流量类型的样本数[19].

Accuracy表示预测正确网络流量类型的样本数占总样本数的比重,计算公式如下:

(12)

Precision表示被预测为该类网络流量类型的样本数中正样本的比重,计算公式如下:

(13)

Recall表示被预测为该网络流量类型的样本数占总的该网络流量类型样本数的比重,计算公式如下:

(14)

F1-Score表示Recall和Precision的一种调和平均,计算公式如下:

(15)

3.4 实验结果分析

3.4.1 对比实验

为了验证本文所提出CNN-BiGRU-Attention模型的有效性,在平衡后的数据集上进行了对比实验.这些集成模型与本文提出的CNN-BiGRU-Attention模型结构相似.在将本文提出模型中的BiGRU和Attention层进行替换或者消除时,保持了替换模型的参数一致.

由图2可知,本文提出的CNN-BiGRU-Attention模型在网络流量特征提取与分类方面均优于对比集成模型,针对Web Attack-Brute Force类型的攻击流量,本文提出的集成模型对其识别分类的准确率达到86%,检测精度明显高于对比模型,其次本文提出的集成模型在3个评价指标中均获得最高的得分,各类型攻击流量类别的总评准确率比CNN-BiLSTM模型提升了2.24%,总评召回率提升了2.3%,总评F1值比CNN-BiLSTM-Attention模型提升了2.19%.最后在CNN-BiLSTM-Attention模型与本文提出的CNN-BiGRU-Attention模型对比中,针对该数据集的网络流量入侵检测,本文模型特征提取更全面,同时准确率更高.

图2 对比实验各模型评估指标对比

3.4.2 消融实验

为了定量评估本文所提出CNN-BiGRU-Attention集成模型的合理性,在平衡后的数据集上进行了消融实验.在将本文模型中的BiGRU和Attention层进行替换或者消除时保持了替换模型的参数一致.

由图3可知,本文模型显示出良好的特征提取与识别分类能力,CNN-BiGRU模型相较于单一CNN模型,检测准确率有一定的提升,印证了BiGRU模型的有效性,同时本文模型在集成BiGRU模型的基础上,融合了注意力机制对不同类型攻击流量的相对重要性,多分类准确率提升了2.71%,从而印证了融合注意力机制的合理性.

图3 消融实验各模型评估指标对比

3.4.3 多角度K折交叉验证

在本文的实验中,经过平衡后的数据集仍然存在整体数据量偏小以及不同类别的流量样本数差异较大的情况,为了更有效地对比不同特征提取算法之间的性能,避免因为数据集本身的流量类别分布带来算法的过拟合问题[22],在确定了各模型的最优参数的前提下,对该数据集进行了6折交叉验证划分训练集和验证集,以此验证不同入侵检测模型的性能.

图4示出基于CNN-BiLSTM的K折交叉验证模型训练效果.同样随着系数K的变化,针对不同流量类别的分类准确率波动较大,其中DoS Slowhttptest类型的异常流量在K=2时,其检测精确度达到最高,但是在其余K值下其检测精确度较低.

图5示出基于CNN-BiLSTM-Attention的K折交叉验证模型训练效果.随着系数K的变化,不同流量类别的分类准确率波动较小,其中DoS Slowhttptest类型的异常流量在K=4时,其检测准确度达到最低.

图5 基于CNN-BiLSTM-Attention的K折交叉验证对准确率的影响

图6示出基于本文模型CNN-BiGRU-Attention的K折交叉验证模型训练效果.随着系数K的变化,不同流量类别的分类精确率整体浮动很小,趋于平稳,表明该模型对流量的多分类识别检测是有效的.其次针对绝大多数流量类别,随着K值的逐渐变化,模型的泛化性能逐渐增强,同时也有效避免了过拟合现象的发生,表明本文模型的有效性与稳定性.

图6 基于CNN-BiGRU-Attention的K折交叉验证对准确率的影响

4 结 语

本文提出一种基于卷积神经网络的入侵检测算法,使用CIC-IDS-2017数据集对模型进行了训练和测试.

实验结果表明,对于不同类型的网络攻击流量,本文模型相较于LSTM网络模型单向GRU网络模型,提取特征能力更强、分类效果更好、检测准确率更高、泛化性能更好.通过对比论证实验和交叉验证,印证了本文模型的有效性、合理性和稳定性.下一步研究将专注于如何更好地平衡数据集以及提高模型检测效率.

猜你喜欢
样本数网络流量特征提取
基于多元高斯分布的网络流量异常识别方法
勘 误 声 明
基于神经网络的P2P流量识别方法
基于Daubechies(dbN)的飞行器音频特征提取
AVB网络流量整形帧模型端到端延迟计算
Bagging RCSP脑电特征提取算法
Fisher线性判别式阈值优化方法研究
三时间间隔圆锥补偿姿态更新算法性能分析
基于MED和循环域解调的多故障特征提取
网络流量监控对网络安全治理的重要性