APP下载

基于多尺度时空残差网络的入侵检测方法

2023-11-06张天月刘宇啸

信息安全研究 2023年11期
关键词:网络流量残差时空

张天月 陈 伟 刘宇啸

(南京邮电大学计算机学院 南京 210023)

(403803607@qq.com)

随着科技的快速发展,人们在享受网络带来的更加丰富便捷生活的同时,也面临着日益严重的网络安全问题.中国互联网信息中心发布的第50次《中国互联网络发展状况统计报告》中指出,截至2022年6月,中国电信、中国移动和中国联通总计监测发现分布式拒绝服务攻击316542起,工业和信息化部网络安全威胁和漏洞信息共享平台总计接报网络安全事件7415654件.随着网络安全事件的不断发生,网络入侵检测[1-2]已成为网络生态系统中最关键的问题之一.提升入侵检测有效识别恶意流量[3]的性能已成为网络安全技术发展的必然要求.

传统的机器学习方法,如贝叶斯网络[4]、支持向量机[5]、决策树[6]、随机森林[7]、K最近邻[8]等,都是通过学习已存在的入侵或者正常模式的网络数据包的特征来发现异常.Wester等人[9]使用树增强朴素贝叶斯分类器用于计算机网络流量的基于异常的入侵检测;周杰英等人[10]基于随机森林进行特征转换,再使用梯度提升决策时模型进行多分类网络入侵检测,模型收敛较快、精度较高、泛化能力好;江泽涛等人[11]针对入侵检测效率低的问题,提出基于感知哈希矩阵的最近邻入侵检测算法.

然而,机器学习算法对特征依赖度较高,且难以学习网络流量数据的复杂和非线性关系.深度学习作为表征学习的代表,能够在高维海量数据中获取其本质特征,进而提高分类准确率,被广泛应用于入侵检测中.常用的深度学习方法有卷积神经网络[12-13]、循环神经网络[14]、自编码器[15]、深度信念网络[16]、胶囊网络[17]等.Mirsky等人[18]提出的核心算法KitNET使用1组自编码器,以集成方式产生重构误差区分正常流量和异常流量.在此基础之上,Li等人[19]将网络流量数据分为稀疏矩阵和稠密矩阵,利用随机森林选出重要特征,根据AP聚类完成特征分组,输入KitNET得到1组RMSE值,再对RMSE求平均值作为重构误差,最后利用Kmeans算法区分正常/异常流量,缩短了检测时间,有效提高了预测精度;Azizjon等人[20]利用1维卷积神经网络用于网络流量数据的异常检测;Imrana等人[21]使用双向LSTM(long short-term memory network)提升对U2R和U2L攻击的检测精度;Zhang等人[22]结合CNN和LSTM,采用多尺度CNN分析数据集空间特征,然后利用LSTM对时序特征进行处理,最后模型利用时空特征来分类,具有较高的准确率、较低的误报率.

本文围绕网络流量的入侵检测模型展开研究,提出了一种基于多尺度时空残差网络的入侵(multi-scale spatial-temporal residual network,MS-ST-RNet)检测方法.首先使用log1p平滑处理对偏度较大的特征进行转换,优化数据分布;然后分别利用1维多尺度卷积和长短期记忆网络分别提取网络流量数据的空间特征和时序特征,并进行融合;接着基于残差网络的思想添加“直接/恒等映射”,避免网络退化问题;最后通过全连接层和softmax函数对网络流量进行分类.

本文的主要贡献如下:

1) 考虑前后流量数据的时序关联,采用多条流量为整体,挖掘多条数据的时间相关性.相较于传统的采用单条流量提取特征,本文的方式更有利于长短期记忆网络提取时序特征.

2) 在数据预处理阶段,为避免数据偏度较大而对模型性能造成影响,采用log1p平滑处理对部分特征进行转换,使其更加服从高斯分布.通过数据样本分布的可视化以及转化前后与标签的皮尔逊相关性对比,证明平滑处理的有效性.

3) 在特征提取阶段,用1维多尺度卷积层提取数据样本的空间特征,用长短期记忆网络提取数据样本的时序特征,并进行融合,提升模型的表征能力;添加恒等映射,使得深层网络可以融合浅层、中层、高层网络的特征,防止网络退化问题.

4) 在入侵检测数据集UNSW_NB15上进行了充分实验,证明了本文模型解决网络退化问题的有效性、超参数选择的正确性以及相比常见深度学习模型的优越性.

1 基础理论

本文所提出的入侵检测模型基于1维卷积、长短期记忆网络以及残差网络的融合,下面就有关概念和预备知识予以介绍.

1.1 1维卷积

1维卷积指卷积滤波器窗口只在一个方向上滑动并进行卷积操作,定义如下:

y=σ(W*x+b).

(1)

其中:x为卷积层输入;y为卷积层输出;W∈Pk为卷积层的滤波器权值函数;b∈Pd为卷积层偏置,σ为激活函数,k为滤波器长度,d为特征维度.

1维卷积层可以对网络流量数据进行固定尺度的空间特征提取.

1.2 长短期记忆网络(LSTM)

图1 LSTM网络结构

ft=sigmoid(Wf·[ht-1,xt]+bf),

(2)

it=sigmoid(Wi·[ht-1,xt]+bi),

(3)

(4)

ot=sigmoid(Wo·[ht-1,xt]+bo),

(5)

(6)

ht=ot*tanh(ct).

(7)

其中:xt为时刻t的输入;ct为时刻t的单元状态;ht为时刻t的隐藏状态(初始时刻隐藏状态为0);W与b分别为各个结构之间的权重与偏置值.

1.3 残差网络

在深度学习中,随着网络层数的加深,除了增加计算资源消耗以及产生过拟合问题外,还会出现梯度消失或者爆炸问题,导致浅层网络参数无法更新.当网络很深时,模型效果不仅没有提升,甚至很可能变差,即产生了网络退化的问题.这是因为深层网络在前向传播的过程中,随着网络加深,网络获得的信息逐层减少,使用残差网络的思想,添加一系列残差块,构造“直接/恒等映射”的跳跃连接,使下一层不仅包括该层的信息,还包括该层经非线性变换后的新信息,使得信息层次更为丰富.

2 基于多尺度时空残差网络的入侵检测方法

2.1 模型架构

融合CNN、LSTM及残差网络,本文提出了一种基于MS-ST-RNet的入侵检测模型,主要由数据预处理以及MS-ST-RNet这2大模块组成,模型架构如图2所示,符号定义如表1所示.

表1 符号定义

2.1.1 数据预处理

平滑处理很容易被忽略掉,导致模型的结果总是达不到一定标准,可以对偏度较大的数据用平滑处理进行转换,使其更加服从高斯分布.

数据集中可能存在各种字符串型特征,而实际上机器学习、深度学习模型需要的数据是数值型的,因为只有数值型才能进行计算.因此,对于非数值型特征state,proto,service,需要进行相应编码将其量化.本文选择scikit-learn中函数OneHotEncoder将非数值型数据转换为数值型数据.

不同特征的数量级不同导致计算结果的不同,数量级大的特征会起决定性作用,而数量级小的特征作用可能被忽略.例如,在本文采用的数据集中,dur特征范围在[0,53],而sload特征范围在[0,1872000000],这2个特征具有不同的数量级.因此为了消除特征间数量级差异对入侵检测的影响,本文用scikit-learn中的StandardScaler()对特征进行标准化处理,使其服从均值为0、方差为1的标准正态分布.

2.1.2 MS-ST-RNet模型

将经过数据预处理的网络流量数据输入MS-ST-RNet进行深度时空特征提取.MS-ST-RNet由若干个多尺度时空残差模块堆叠而成,每个模块的输入与输出维度相同.利用函数reshape将多维输出1维化,再经过全连接层将提取到的时空特征综合起来.最后采用softmax函数作为分类器实现网络流量分类,获得网络流量分类结果.

2.2 多尺度时空残差模块

多尺度时空残差模块为MS-ST-RNet的核心模块.MS-ST-RNet通过多尺度时空残差模块的多尺度1维卷积层增加网络宽度,提取空间特征;通过LSTM提取数据间的时序特征,并将空间特征和时序特征进行特征融合,增强模型表征能力以及泛化能力;通过堆叠多个多尺度时空残差模块增加网络深度,添加恒等映射,将网络浅层、中层以及高层特征进行融合,使信息层次更加丰富,避免深层网络出现梯度消失、梯度爆炸、网络退化等问题.

多尺度时空残差模块在多尺度时空模块的基础上添加“直接/恒等映射”,如图3所示:

2.2.1 多尺度1维卷积层

网络流量的识别不能仅依赖于一些离散的局部特征,而应该通过多个不同尺度的卷积核来提取不同大小的流量特征,并将其融合以获得多组局部特征.本文通过多尺度1维卷积层实现多尺度网络流量数据的空间特征提取,使用的卷积滤波器长度分别为3,5,7.通过逐项相加实现多尺度空间特征融合,单个元素信息量增加的同时可以保持特征维度不变,降低后续运算开销.利用BN层进行批归一化,使数据服从或近似服从标准正态分布,加快神经网络的收敛速度,防止梯度爆炸、梯度消失以及过拟合现象.选择ReLU作为激活函数放大特征间差异,增加网络稀疏性,使得最终提取出的多尺度空间融合特征更具代表性,提升网络泛化能力.

2.2.2 LSTM

为避免长序列训练过程中出现的梯度消失和梯度爆炸的问题,本文通过LSTM提取网络流量数据的时序特征,同多尺度1维卷积层,使用BN进行批归一化并选择ReLU作为激活函数,之后再与多尺度空间特征进行融合.LSTM层的输出维度由隐藏单元个数决定.由于后续要与多尺度空间特征进行特征融合,并添加恒等映射进行残差连接,因此本文将隐藏单元个数设置为多尺度时空残差模块的输入数据维度,即经过数据预处理过程的网络流量数据维度.

2.2.3 残差学习

为解决网络退化问题,本文通过构造“直接/恒等映射”的跳跃连接方式实现残差拟合.多尺度时空残差映射如下:

xout=x+F(x)=x+xout_fin.

(8)

其中:x和xout分别为多尺度时空残差学习的输入与输出;xout_fin为多尺度时空残差模块提取到的时空融合特征;F(x)为残差映射.同多尺度1维卷积层以及LSTM,使用BN进行批归一化并选择ReLU作为激活函数,优化数据分布,得到多尺度时空残差模块的最终输出.

添加恒等映射后,伴随着网络加深网络性能不下降,深层网络效果比浅层好,解决了网络退化问题.

3 实验及结果

3.1 实验环境及评估指标

本文实验训练和测试均在Windows10操作系统环境下进行,CPU为AMD Ryzen 7 5800H with Radeon Graphics 3.20GHz,16GB内存.开发语言为Python,集成开发环境为Pycharm和Jupyter Notebook.Pytorch作为最流行的深度学习库之一,可以执行大规模的数值计算,方便地搭建网络模型,实现本文的MS-ST-RNet.

为了评估MS-ST-RNet的检测性能,用混淆矩阵计算出基础指标后,本文采用精确率P(precision)、召回率R(recall)、F1值、准确率Acc(accuracy)和AUC作为模型效果的评估指标.

精确率是预测出的正样本中预测正确的比例,召回率是预测正确的正样本占所有正样本的比例,F1值是精确率和召回率的加权调和平均,准确率是预测正确的样本占总样本的比例.计算如下:

(9)

(10)

(11)

(12)

AUC是ROC曲线覆盖的面积,ROC是假阳性(FPR)与真阳性率(TPR)之间的关系曲线,FPR和TPR分别为x,y轴.计算如下:

(13)

(14)

其中:TP是预测为正实际也为正的样本个数;TN是预测为负实际也为负的样本个数;FP是预测为正实际为负的样本个数;FN是预测为负实际为正的样本个数.

3.2 数据集

本文实验选用的数据集是UNSW_NB15,该数据集是2015年澳大利亚网络安全中心(ACCS)实验室利用IXIA PerfectStorm工具生成的,比传统的KDD-99和NSL-KDD数据集更具现代网络流量代表性.官方提供了分割好的训练集和测试集,数据共有45个特征.

3.3 MS-ST-RNet的实现

模型具体结构在第2节已给出,去除id、攻击类别和标签,剩余42维特征,采用2.1.1节中的数据预处理方式,最终数据维度变为194维,送入多尺度时空残差网络,再通过全连接层和softmax函数得到最终的二分类结果.

在机器学习或深度学习中,研究者需要在训练开始之前依据自身经验和专业知识设置一些参数,选择1组相对最优的参数训练模型,这些参数不会根据网络优化进行迭代更新,被称为超参数.经过多次实验调整参数,本文选择了以下超参数训练MS-ST-RNet,如表2所示:

表2 实验超参数设置

合适的学习率能够使目标函数在合适的时间内收敛到最小值,学习率越大输出误差对参数的影响就越大,参数更新就越快,但同时受到异常数据的影响也就越大,很容易发散.迭代次数过小,网络不能得到最优参数;迭代次数过大,网络容易过拟合.经过多次调整,本文的学习率为0.001、迭代次数为12时,效果较好.优化器是Adam,损失函数为交叉熵损失函数.

为了说明本文模型解决网络退化问题的有效性以及超参数选择的正确性,本文进行了多组实验,包括log1p平滑处理前后的效果对比、不同深度的多尺度时空网络与MS-ST-RNet的对比以及不同超参数带来的实验结果对比.

1) log1p平滑处理前后对比.

选择连续特征,将其平滑处理之前及log1p平滑处理之后与“label”标签的皮尔逊相关性作对比,如表3所示.选择与“label”相关性的绝对值明显增加的特征进行平滑处理,因为平滑处理之后能更好地体现样本特征.

表3 平滑处理前后与“label”的相关性对比

2) 不同深度的多尺度时空网络与MS-ST-RNet的对比.

为验证MS-ST-RNet解决网络退化问题的有效性,本文构建了不同深度的多尺度时空网络(multi-scale spatial-temporal network,MS-ST-Net)与MS-ST-RNet进行对比,各个模型介绍如下:

MS-ST-Net-1由1个多尺度时空模块组成;MS-ST-Net-5由5个多尺度时空模块堆叠而成;MS-ST-Net-10由10个多尺度时空模块堆叠而成;MS-ST-RNet-1由1个多尺度时空残差模块组成;MS-ST-RNet-5由5个多尺度时空残差模块堆叠而成;MS-ST-RNet-10由10个多尺度时空残差模块堆叠而成.

MS-ST-Net与MS-ST-RNet的性能评估结果如表4所示:

表4 MS-ST-Net与MS-ST-RNet(本文)的性能对比

通过纵向对比可知,随着网络加深,与MS-ST-Net-1相比,MS-ST-Net-5和MS-ST-Net-10的模型性能明显减弱,存在网络退化问题;而添加恒等映射的残差网络MS-ST-RNet-1,MS-ST-RNet-5,MS-ST-RNet-10,模型性能随着网络深度的增加而有所提升,具备更高的精确率、召回率、准确率、F1值以及AUC值.通过横向对比可知,网络深度相同时,MS-ST-Net-1和MS-ST-RNet-1的性能相近,但MS-ST-RNet-5相比MS-ST-Net-5,MS-ST-RNet-10相比MS-ST-Net-10性能明显提升.

因此,在浅层网络中,MS-ST-RNet和MS-ST-Net性能相近;但在深层网络中,MS-ST-RNet表现出相当优秀的效果,具备更强的网络入侵检测能力.

3) 不同超参数带来的实验结果对比.

迭代次数对损失值和准确率的影响如图4所示.

图4 迭代次数对模型的影响曲线

随着迭代次数的增加,深度学习网络中权重的更新次数也在增加,网络从欠拟合到慢慢进入优化拟合状态,在此过程中验证集损失值呈现螺旋式下降趋势,迭代次数为12时,网络已经能够很好地训练.迭代次数高于12时,出现过拟合的情况,模型损失值升高,性能降低且训练时间变长.所以本文将迭代次数设置为12.

3.4 MS-ST-RNet与其他入侵检测方法对比

本文将常用深度学习模型应用到UNSW_ NB15数据集上,如不同深度的CNN,LSTM,GRU,CNN-LSTM,CNN-GRU,各模型的检测性能如表5所示:

表5 不同深度学习模型在UNSW_ NB15数据集的性能评估结果对比

由表5可知,GRU在数据集UNSW_NB15上效果优于CNN和LSTM,具备较优的网络流量入侵检测性能;混合模型的整体性能优于单一模型,采用CNN进行空间特征提取后,LSTM和GRU性能都有提升;MS-ST-RNet-1与GRU-1,MS-ST-Net-1性能接近,但是当网络层数较深时,MS-ST-RNet-10比其他同深度的模型明显表现更好,各项指标都在98%以上,再一次说明了本文模型的优越性和有效性.

4 结 语

考虑到现有的入侵检测方法存在特征提取不佳、分类准确率低以及泛化能力弱等问题,本文融合了1维CNN、LSTM以及残差网络,提出基于多尺度时空残差网络的入侵检测系统.通过log1p平滑处理改善数据样本分布,证明网络流量数据预处理的有效性;然后利用1维多尺度卷积以及LSTM分别提取网络流量数据的空间特征和时序特征并进行融合,提升了模型表征能力;添加恒等映射防止梯度消失、梯度爆炸并解决了网络退化问题;最后通过全连接层以及softmax函数对数据样本进行二分类,实现高效、准确的网络入侵检测.皮尔逊相关性对比实验表明,经过log1p平滑处理之后,数据分布更加均匀,能更好体现样本特征;有效性验证实验结果表明,通过添加“直接/恒等”映射可提升网络流量入侵检测能力并解决网络退化问题;超参数实验结果表明,本文设置较优的超参数,有利于网络的优化拟合;与常用的深度学习模型(不同深度的CNN,LSTM,GRU,CNN-LSTM,CNN-GRU)的对比实验表明,本文提出的模型性能更优.

下一步本文将进行以下研究:UNSW_NB15训练集中样本是不平衡的,本文未进行不平衡样本处理,未来可以通过过采样、欠采样等方法从多数类中删除样本或者向少数类中添加样本,并实现多分类入侵检测.

猜你喜欢

网络流量残差时空
基于多元高斯分布的网络流量异常识别方法
基于双向GRU与残差拟合的车辆跟驰建模
跨越时空的相遇
基于神经网络的P2P流量识别方法
镜中的时空穿梭
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
玩一次时空大“穿越”
AVB网络流量整形帧模型端到端延迟计算
时空之门