一种混合采样与膨胀卷积相结合的入侵检测模型设计

2022-02-15 10:07刘兴元缪祥华
化工自动化及仪表 2022年1期
关键词:类别准确率卷积

刘兴元 缪祥华

(昆明理工大学a.信息工程与自动化学院;b.云南省计算机技术应用重点实验室)

随着网络范围和规模的不断扩大,网络入侵的威胁逐渐加重。 传统的网络入侵检测技术已经不能满足日益增长的网络安全保障需求,在这种情况下,具有主动防御功能的入侵检测系统(Intrusion Detection System,IDS)应运而生。 IDS可以通过分析网络中的实时数据包来判断是否发生了入侵行为,并以此发出警报。

目前入侵检测存在几个问题。 首先,入侵检测大部分采用KDD CUP 99数据集或20年前收集的NSL-KDD数据集进行测试。 随着网络技术的不断发展,攻击手段和类型也随之变化,使用这些过时的流量数据不能完整地反映网络入侵检测在现代网络中的实际表现。 其次,这些系统大部分采用数据集的一部分进行实验,没有考虑到该系统在现实大数据环境下的性能。 最后,没有有效地解决类不平衡问题对分类效果的影响,这使得少数类别无法检测或者检测精度较低,显著地降低了检测准确率。

为了解决上述问题,笔者提出了一种基于混合采样与膨胀卷积相结合的入侵检测模型(SSGDCNN),该模型利用混合采样(SSG)技术有效地解决数据不平衡问题,并与特征提取能力强的膨胀卷积相结合, 在UNSW-NB15数据集上对该模型进行多分类实验,与传统的机器学习方法进行了对比,证实笔者所提模型具有较高的准确率。

1 相关研究

入侵检测技术是计算机网络安全的重要组成部分。 在入侵检测领域,已经有研究人员使用了许多机器学习方法, 如支持向量机(Support Vector Machine,SVM)[1,2]、随机森林[3,4]及决策树[5]等。然而随着网络规模和范围的不断扩大,网络环境日益复杂, 网络攻击类别变得多样化,传统的机器学习技术等浅层学习已经不适合大规模网络入侵检测系统(Network Intrusion Detection System,NIDS)的要求。近年来,深度学习[6]以其全自动特征工程的优势成为研究的热点。 卷积神经网络(CNN)[7~9]、多层感知器(MLP)[10]、递归神经网络(RNN)[11]、深度神经网络(DNN)[12]和深度置信网络(DBN)[13]也逐渐在NIDS 中广泛使用。 研究表明, 这些基于深度学习的NIDS 在处理大数据时可以获得更好的性能。

在网络流量特征中存在不平衡问题, 以致于某些类别的检测精度偏低,影响分类算法的性能,降低了检测准确率,特别是对于少数类,使检测不具有代表性,所以Zhang X等提出了一种基于卷积神经网络的入侵检测模型[14]。 在CNN训练之前,采用过采样和欠采样相结合的(SMOTE-ENN)算法来平衡网络流量。 并且使用NSL-KDD数据集对模型进行评估。结果显示,该模型具有很高的检测准确率,尤其对U2R、R2L 等少数攻击流量特征效果显著。Jiang K Y 等提出了一种混合采样和深度分层网络相结合的网络入侵检测算法[15]。 首先,采用单边选择(OSS) 来减少大多数类别的噪声样本,然后利用合成少数类过采样技术(Synthetic Minority Over-sampling Technique,SMOTE)来提高噪声样本的小波振幅从而建立一个平衡的数据集,使模型充分学习少数样本的特征,大幅减少模型的训练时间。 其次,采用卷积神经网络提取空间特征,利用双向长短期记忆(BiLSTM)提取时间特征在NSL-KDD 和UNSW-NB15 数据集上进行了实验验证,证明了该模型的可行性。 针对数据不平衡的问题,Zhang J 等提出了一种将ReliefF 算法和Borderline-SMOTE 过采样技术相结合的新型两级网络入侵检测模型[16],解决入侵检测数据集中存在的数据分布不平衡的问题,并将3 种不同类型的基础分类器KNN、C4.5 和NB成对组合,明显提高了少数类别的检测精度。

笔者提出了一种新的入侵检测模型SSGDCNN,能有效解决数据不平衡问题,提高少数类别的检测准确率和入侵检测性能。

2 膨胀卷积入侵检测模型框架

2.1 模型框架

笔者提出的SSG-DCNN网络架构如图1所示,该架构由4个主要模块组成:数据预处理模块、混合采样模块、 模型训练模块以及模型测试模块。数据预处理模块负责对原始数据进行数值化、特征缩减、数据标准化及特征选择等操作,使数据更有利于模型的预测。 混合采样模块主要对训练数据集进行混合采样,以减轻原始数据集中的不平衡对实验结果造成的偏差。

图1 SSG-DCNN网络架构

笔者提出了一种新的方法SSG, 它结合了过采样和欠采样,以实现一个完全平衡的训练数据集。 SSG算法使用SVMSMOTE识别少数类, 基于GMM的欠采样聚类识别多数类。随之将混合采样后的训练集导入一维膨胀卷积入侵检测模型,并将该模型训练至收敛,最后用测试集来测试所提出模型的性能。

2.2 混合采样

入侵检测数据集中异常样本的数量本来就很少,例如,UNSW-NB15数据集中的“蠕虫”只有174个样本,占整个数据集的0.006 85%,因此,单独使用欠采样是不合适的。 但仅使用过采样会引入过多的冗余数据,并增加空间和时间成本。 笔者提出的SSG结合了SVMSMOTE和基于GMM的欠采样聚类,将所有类别的样本重新采样到统一数量。

通过SVMSMOTE对数量小于N的样本数进行过采样,通过“合成”少数类样本来增加少数类样本的数量。 SVMSMOTE不是简单地复制少数样本,而是在彼此接近的少数样本之间使用线性插值生成新的少数样本, 以减少分类的不平衡,从而避免在建立分类模型的过程中出现过拟合。 对于样本数量多于N的样本, 运用基于GMM的聚类方法对其进行欠采样,GMM是一个参数化的概率分布模型, 代表多个高斯分布函数的线性组合。通过SSG将所有类别的样本重新采样到同样的数量N,N为:

其中,S为训练集中样本的总数,C是类的数量。

为保证测试模型的真实效果,本实验只在训练集T={Ti,i=1,2,…,K}上进行测试。 对于训练集中的每一类数据Ti, 如果在Ti里的样本数小于N,用SVMSMOTE过采样Ti来平衡数据至N;如果在Ti里的样本数大于N, 使用GMM欠采样平衡数据数量到N。 然后随机选择每个集群的样本N/C,并将它们合并到Ti′,这时,样本在Ti′的数量平衡至N,以便获得一个平衡的训练集T′,SSG不仅避免了单独使用过采样带来的过多时间和空间成本,还防止了随机欠采样丢失重要样本,能显著提高少数类别的检出率。 SSG算法如下:

为了证明SSG混合采样算法的有效性,用UNSW-NB15训练集进行本次实验。 表1列出了使用SSG混合采样算法前、 后各数据类别所占的比例。 在使用混合采样前, 其中Normal 占据了87.35%,其他许多类别不足1.00%,这将使得模型检测精度不高,而采用SSG混合采样算法之后,各类别的比例均处于10%, 使得每个类别都能平等地被模型检测,有效解决了少数类别攻击类型检测不准确的问题。

表1 UNSW-NB15训练集使用SSG算法前、后各数据类别所占比例%

2.3 膨胀卷积神经网络

在传统的卷积神经网络中,会使用池化层来保持特征不变性并避免过度拟合,但是会大幅降低空间分辨率,丢失特征图的空间信息。 当加深卷积神经网络的层时, 网络需要更多的参数,会导致更多的计算资源消耗。 Yu F和Koltun V提出的膨胀卷积[17]可以很好地解决这一问题。 膨胀卷积是一种卷积算子,它使用不同的膨胀因子在不同范围使用相同的滤波器。 膨胀卷积能够更有效地扩展感受野。 与传统卷积相反,膨胀卷积的内核中存在孔,孔的大小为膨胀率。 一维普通卷积的公式如下:

式中 f——输入;

p——卷积的下限值;

q——卷积的上限值;

t——卷积核的大小;

w——卷积核。

如果是膨胀卷积,则一维膨胀卷积的公式如下:

其中l是膨胀率。

对输入数据应用膨胀卷积时,与传统卷积相比,感受野将得到扩展,但不会降低分辨率,能够在不增加参数数量或计算量的情况下增大感受野。

利用膨胀卷积既可以扩大卷积核的感受野,也能减少模型的参数量。 在深度卷积网络结构设计中,很多研究者采用了深度卷积神经网络VGG中的3×3小卷积结构, 通过堆叠3个3×3卷积核来代替7×7卷积核,堆叠2个3×3的卷积核来代替5×5卷积核,在保证相同感受野的条件下,采用了多层非线性层增加网络深度以确保学习到更复杂的特征模式, 进而提升深度卷积神经网络的效果。 同时通过堆叠小卷积核替换大卷积核也可以减少深度模型的参数量。

叠加的膨胀卷积的膨胀率(Dilated Rate,DR)不能有大于1的公约数,否则就会产生栅格效应,文中的膨胀率设计成锯齿状结构 (如[1,2,5])。为了扩大卷积核的感受野, 笔者一次堆叠了DR=1、DR=2、DR=5的膨胀卷积来替换普通卷积,如图2所示, 将膨胀卷积的感受野扩大到了19×19,使得模型能够获取更广泛的数据。

图2 膨胀卷积层

3 实验分析

3.1 UNSW-NB15数据集描述

UNSW-NB15[18]数据集由澳大利亚网络安全中心(ACCS)的安全研究小组收集和分发。该数据集总共包含254万个网络流量样本,涉及9个攻击类别。 每个样本有49个特征,包含流量和基于数据包的特征,其中两个是类别标签特征。 这些特征进一步分为4个不同的类别,即:内容、基本、流程和时间。 最初,数据集被标记为两个不同的流量标签(攻击和正常),随后根据攻击类型将攻击类别进一步分为9种不同的类别类型。 该数据集具有严重的类不平衡性,其中正常流量占整个数据集的87.35%, 所有攻击流量仅占数据集的12.65%。笔者在实验中使用UNSW-NB15数据集的所有样本, 并以7∶1∶2的比例划分数据集进行训练、验证和测试,各类别的数据分布见表2。

表2 UNSW-NB15数据集每个类别的样本数

(续表2)

3.2 数据预处理

数据预处理主要包含4个步骤:数据数值化、特征缩减、数据标准化和特征选择(DAE)。

3.2.1 数据数值化

对数据的数值化操作采用独热编码(onehot)算法,将UNSW-NB15数据集中原本的47维特征映射为208维。 采用独热编码的好处在于:可以解决分类器不好处理属性数据的问题:在一定程度上起到了扩充特征的作用。

3.2.2 特征缩减

进行数据数值化处理操作之后,删除数据集中冗余和无意义的特征,删除这些特征对于本研究的实验结果没有任何影响,却可以有效地缩减模型的训练时间。根据文献[10]在UNSW-NB15数据集中删除了6个特征, 分别是“srcip”、“sport”、“dsport”、“dstip”、“ltime”和“stime”,因此UNSWNB15数据集的真实维数从原来的208维减少到了现在的202维。

3.2.3 数据标准化

在数据集中,不同类别的数据值大小明显不同,最大值的范围变化很大。 为了便于算术处理和消除尺寸,采用数据标准化方法,在[0,1]区间内均匀且线性地映射每个特征的范围。 用以下公式将数值标准化到[0,1]范围内:

其中,max为样本数据的最大值,min为样本数据的最小值,x为原始数据,x*为标准化后的数据。

3.2.4 特征选择

最后一步是执行特征选择。对于UNSW-NB15数据集,笔者根据文献[10]堆叠了一个带去噪的自动编码器(DAE),从剩余的202个要素中选择权重最高的12个要素。

3.3 评价指标

笔者选取准确率 (Accuracy,ACC)、 精确率(Precision)、召回率(Recall)和F1分数作为评估模型性能的关键指标,计算式如下:

其中,TP表示攻击类型被正确分类的个数;TN表示正常类型被正确分类的个数;FP表示正常类型被错误分类(误报)的个数;FN表示攻击类型被错误分类(漏报)的个数。

3.4 超参数选择

笔者通过实验确定了最优DCNN模型, 卷积层设置为3层, 每个卷积层的膨胀率分别为2、4、8,每层的卷积核分别为32、64、128。 使用了Adam优化算法,学习率设置为0.008,具体参数见表3。

表3 模型参数设置

4 实验结果

笔者采用Python作为编程语言, 使用Tensor-Flow 1.14.0作为深度学习框架, 实现了所提出的入侵检测系统模型,并在装有Win10 64位操作系统的个人电脑上对UNSW-NB15数据集进行了实验,以评估其检测现代攻击的有效性。 具体的系统环境参数如下:

操作系统 Win10

框架 Keras2.2.4

CPU i7-10750H

GPU RTX2060

内存 32GB

编程语言 Python 3.6

表4显示SSG-DCNN模型在UNSW-NB15数据集的多分类结果, 结果表明通过混合采样之后,各个小类别的召回率明显提高。 随之比较原始数据和4种数据平衡算法的准确率和F1分数, 结果显示笔者提出的混合采样方法均优于其他方法。

表4 UNSW-NB15数据集多分类中各类别召回率%

为了证明SSG算法和膨胀卷积模型的有效性, 将其与现在比较流行的4种混合采样不平衡处理技术和2种现有的机器模型进行比较。 为了使得模型更好地拟合数据,本次实验批处理的大小设置为512,循环迭代设置为200次,实验结果详见表5。

表5 3种模型在UNSW-NB15数据集进行多分类的性能比较%

(续表5)

由表5可知,不管采用什么模型,笔者所提出的混合采样算法,均优于其他4种数据平衡算法。该算法应用在DNN模型时, 准确率、 精度、F1分数、 召回率分别达到了97.01%、97.96%、97.40%、97.01%;该算法应用在RF模型上时,准确率、精确率、F1分数、 召回率分别达到了96.58%、98.18%、97.14%、96.58%;当运用在DCNN模型上时,准确率、精确率、F1分数、召回率分别达到了97.04%、98.28%、97.43%、97.04%, 优于应用在RF模型和DNN模型上,获得了最佳的整体性能。

为了展示笔者所提模型的优越性,与其他文献所提出的4种不同模型进行了对比, 实验结果见表6。

表6 UNSW-NB15数据集在不同模型下的准确率和F1分数%

通过表6可以发现,笔者所提SSG-DCNN模型在UNSW-NB15数据集进行训练和测试时取得了很好的效果,相对于CLAIRE模型[19]而言,在检测准确率上提升了3.52%, 在F1 分数上提升了2.03%;较CNN-1D模型[20],在检测准确率提升了7.24%,在F1分数上提升了6.13%;较MDPCA-DBN模型[21],在准确率上提升了6.86%;在F1分数上提升了5.94%;对比ICVAE-DNN模型[22],在准确率上提升了7.96%,在F1分数上提升了6.82%。

5 结束语

针对现在入侵检测数据集不平衡和检测准确率低的问题,提出了一种混合采样与膨胀卷积相结合的入侵检测模型SSG-DCNN, 在UNSWNB15数据集上进行多分类实验,首先使用混合采样技术SSG平衡数据, 确定了DCNN的最佳模型。将SSG与4种平衡算法在3种模型上进行比较,证明了SSG-DCNN的优越性, 并和其他文献所提模型进行了比较, 笔者所提出的SSG-DCNN模型都取得了很好的性能。

猜你喜欢
类别准确率卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
论陶瓷刻划花艺术类别与特征
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
一起去图书馆吧
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法