面向稀有攻击的入侵检测方法

2022-01-27 09:57沈荔萍钱俊彦翟仲毅
桂林电子科技大学学报 2021年5期
关键词:分类器样本深度

沈荔萍,钱俊彦,翟仲毅

(桂林电子科技大学 计算机与信息安全学院,广西 桂林 541004)

随着网络威胁的不断增加,网络入侵检测作为有效的防护技术,在阻止网络攻击中起了重要作用[1]。网络入侵检测方法主要有基于异常的入侵检测方法和基于误用的入侵检测方法。基于异常的入侵检测方法试图识别与正常模式偏离的网络行为,而基于误用的入侵检测方法则通过先验知识来发现攻击。

目前,基于传统机器学习的网络入侵检测技术成为网络安全研究的热点[2]。尽管使用传统机器学习技术能够提高入侵检测率,但其依靠人工经验来选择攻击特征,需要密集的劳动力和昂贵的开销[3]。随着深度学习的发展,研究人员将深度学习技术引入网络入侵检测,目的是从网络流量中学习输入与输出的函数映射来自动提取攻击特征[4]。该过程无需过多的人力干预,因而可减少人力消耗并降低错误率。

近年来,研究人员针对网络入侵检测的问题提出了许多高检测率的方法,然而,大多数方法在检测稀有攻击时表现不佳。对于整个网络数据而言,稀有攻击的数量要远小于普通攻击的数量,因此稀有攻击与普通攻击之间类别分布不平衡。直接将机器学习或深度学习方法应用于不平衡的网络数据时,容易导致普通攻击的检测率高而稀有攻击的检测率低[5]。

网络入侵检测通常使用特征选择技术、过采样技术或者通过开发新的学习算法来提高入侵检测率。

Reddy等[6]基于共同信息的特征提取技术选择最优特征子集,基于此特征子集训练所得的攻击分类器能够识别新型网络攻击。Alom等[7]利用深度自编码器和受限玻尔兹曼机提取网络特征,获得新的低维特征集,利用反馈神经网络对该特征集进行分类,有效提高了整体检测率。尽管上述入侵检测方法取得了不错的效果,但均未考虑数据攻击类别之间分布不平衡的问题。

文献[8-9]利用过采样技术对稀有攻击数据进行扩充,可平衡攻击类型之间的数据分布,消除普通攻击模式对稀有攻击模式的影响。然而,任何一种过采样技术都可能在训练攻击分类器时引入误差,进而影响分类过程的准确性。

此外,Qu等[10]提出一种基于深度置信神经网络的入侵检测方法,此方法结合了无监督学习算法和监督学习算法,处理海量数据时鲁棒性较高。Yin等[11]将网络流量建模成时间序列数据,基于该数据训练循环神经网络,提高了整体入侵检测率。虽然上述算法在入侵检测方面表现良好,却未解决稀有攻击检测率低的问题。

针对网络入侵检测中稀有攻击检测率低的问题,设计了一种基于联合攻击分类器的网络入侵检测方法。通过分离攻击数据集的方式降低数据分布的不平衡程度,并获得普通攻击集和稀有攻击集;利用新的数据集分别训练攻击分类器来消除普通攻击模式对稀有攻击模式的影响;通过连接子分类器来构造联合攻击分类器。实验结果表明,与典型的网络入侵检测方法相比,该方法可以在保证较高普通攻击检测率的同时,提高稀有攻击的检测率。

1 联合攻击分类器的设计与实现

1.1 分离子集

为了平衡网络数据中攻击类别之间的数据分布,消除训练过程中普通攻击数据对稀有攻击数据的影响,将原始数据进行分离并分别构建普通攻击集和稀有攻击集。普通攻击集由数据量庞大的普通攻击类型和部分正常网络流量构成;稀有攻击集由包含少量记录数的稀有攻击类型和部分正常网络流量构成。在构建子集的过程中,采用随机选择的方式将正常类型数据进行划分。与原始数据相比,普通攻击集和稀有攻击集中的数据分布更平衡,基于这2个数据集训练的攻击分类器可以获得更好的性能。

在处理不平衡数据时,一般的处理方法是通过对数据进行采样来降低不同类别数据之间的不平衡程度,进而构建攻击分类器集中学习所有类别的攻击模式。尽管本方法同样是基于数据层面的处理方法,但其可以在不增加冗余样本或不减少重要信息的前提下降低普通攻击数据对稀有攻击数据的影响。同时,该方法为通过构造联合攻击分类器来解决因数据不平衡而导致的对稀有攻击检测性能低的问题提供了数据基础。

1.2 联合攻击分类器的构造

在分离数据后,普通攻击集中的样本数量大,稀有攻击集中的样本数量少。针对普通攻击集数据量大而稀有攻击集数据量少的特点,利用深度学习技术和传统机器学习技术,分别训练普通攻击分类器和稀有攻击分类器。

2个分类器的训练单独进行,普通攻击分类器学习普通攻击模式和正常模式,稀有攻击分类器学习稀有攻击模式和正常模式。检测阶段,将2个攻击分类器进行连接,构成联合攻击分类器,该过程首先使用普通攻击分类器对网络数据进行分类,若分类结果为正常类型,则此网络数据将通过稀有攻击分类器再次进行检测。由于2个子分类器分别是基于不同的数据集训练而得的,因此普通攻击分类器无法识别稀有攻击类型。当稀有攻击类型利用普通攻击分类器分类时,该分类器中并没有稀有攻击类型的数据,因此这些未被正确识别的攻击数据会送入稀有攻击分类器进行二次检测。稀有攻击分类器基于稀有攻击数据训练而成,因此可以识别数据中的稀有攻击模式。

图1为联合攻击分类器的构造过程。普通攻击分类器为一个卷积神经网络[14],由卷积层、全连接层和分类层构成。卷积层将输入数据映射到高维空间,得到原始数据的高维特征组合,经计算后得到的第m特征子集为

图1 联合攻击分类器的构造过程

fm=tanh(wtxm:m+s-1+b),m∈[1,n+1-s],

其中:wt∈Rs为第t过滤器,t∈T,m、s分别为过滤器的维度、数量;b∈Rn为偏置;n为输入数据的维度。计算完成后,通过拼接特征子集fm获得特征集f=[f1,f2,…,fn+1-s]。特征集f经平铺操作后,进入全连接层进行计算,其计算方式与传统的多层神经网络类似,hl=relu(wlhl-1+bl),hl为第l层全连接层,wl、bl分别为第l层全连接层的权值矩阵、偏置矩阵,l∈L,L为全连接层的数量。激活函数relu[12]将Dropout技术[13]引入全连接层,以防止神经网络在训练时过拟合。Dropout是一种正则化方法,在训练神经网络模型时,随机暂时丢失部分神经元,训练过程中相当于训练多个模型,最终的输出结果由这些模型共同决定,能有效防止过拟合的发生。经全连接层输出后的特征集进入分类层进行分类,样本x的类别为j的概率

其中:θ(w,b)为分类层的参数;k为分类样本的标签类型数;y为预测出的样本类别。通过代价函数计算得到的真实样本标签与预测出的样本标签之间的误差

稀有攻击分类器通过随机森林算法训练而成。随机森林作为一个集成评估器,使用平均化来控制过拟合问题[15]。随机森林的主要实现过程为:1)从原始数据中构造不同的样本集;2)基于每个样本集训练决策树[16];3)集成所有决策树,构成森林。决策树的主要思想是将给定数据映射到事先定义好的类。给定一组属性(x1,x2,…,xn)和相应的属性类别y,用归纳学习的方式分类数据,从根节点出发,每个属性都会经过特定的分支,到达相应的叶子节点,最终生成决策树。在森林形成后,每棵树都会对同一个分类目标进行投票。最终,森林会将目标的类别定义为拥有票数最多的类型。

2 实验结果与评估

2.1 评估标准

通过对比样本的真实类别与攻击分类器预测出的样本类别,可以将分类结果分为4类,如表1所示。实验采用的评价标准为检测率Ra和误报率Rfa:

表1 样本经分类后的4种结果

2.2 结果分析

采用NSL-KDD数据集[17]对联合攻击分类器进行训练和测试。NSL-KDD数据集由DOS、U2R、R2L、PROBE攻击类型和Normal类型的数据构成,其中普通攻击包括DOS攻击和PROBE攻击,稀有攻击包括U2R攻击和R2L攻击。数据集结构如图2所示。将原始数据集进行分离,随机抽取原始数据集中的Normal类型数据,将其与稀有攻击类型合并,构成稀有攻击集。此时,普通攻击集中包括Normal类型、Dos攻击和Probe攻击,稀有攻击集中包括Normal类型、R2L攻击和U2R攻击。为了降低数据集不平衡性的影响,在分离稀有攻击时,将原数据中1.5%的Normal类型加入稀有攻击集。该结果基于对比实验,实验中Normal类型数据的抽取比例分别为原样本中Normal类型的0.5%、1.0%、1.5%、2.0%和2.5%。

图2 数据集结构

表2为不同抽取比例的整体检测率。从表2可看出,随着抽取比例的升高,联合攻击分类器的整体检测率先升高再降低,抽取比例为1.5%时,分类效果最佳。因此,加入稀有攻击集中的Normal类型数据抽取比例选择1.5%。

表2 不同抽取比例的整体检测率 %

联合攻击分类器用Python语言实现,所用的深度学习框架为Tensorflow。实验环境为64 bit Ubuntu 16.04 操作系统,Intel Core 3.5 GHz处理器,8 GiB内存。

为了验证联合攻击分类器是否能够提高稀有攻击的检测率,选用相同的训练集和测试集,分别采用典型的深度学习分类器和传统机器学习分类器进行对比实验。典型的深度学习方法包括长短期记忆神经网络(LSTM)[18]、CNN和深度信念网络(DBN)[19],传统机器学习方法包括决策树(DT)、支持向量机(SVM)[20]和K-邻近算法(KNN)[21-22]。表3~6为不同入侵检测分类器的检测率和误报率。在检测稀有攻击U2R、R2L时,联合攻击分类器分别获得了72.97%、75.08%的检测率,与基于深度学习的分类器相比,该联合攻击分类器对稀有攻击的检测率至少分别提高了34.14%、58.12%。上述基于深度学习的攻击分类器对不同攻击类型产生的误报率波动范围较大,而联合攻击分类器不仅保持了对稀有攻击的较低误报率,而且保证了对普通攻击的误报率较低。此外,与传统的机器学习分类器相比,联合攻击分类器的稀有攻击检测率分别至少提高了36.22%、51.44%,同时,在检测DOS攻击、PROBE攻击和Normal类型时,检测率仍然较高。

表3 联合攻击分类器与基于深度学习的分类器所得的检测率

在检测过程中,某些U2R、R2L攻击类型的数据在第一阶段的普通攻击分类器中被识别为DOS或PROBE攻击类型,但此类情况仍能阻止异常或潜在的攻击性网络数据,进而保护网络通信的安全,因此,无需对这些攻击类型再进行进一步的检测。

表4 联合攻击分类器与基于传统机器学习的分类器所得的检测率

综上所述,在不影响普通攻击的检测性能的情况下,与典型的基于深度学习和基于传统机器学习的攻击分类器相比,联合攻击分类器可以有效利用稀有攻击样本,进而提高对稀有攻击的检测能力。

表5 联合攻击分类器与基于深度学习的分类器所得的误报率

表6 联合攻击分类器与基于传统机器学习的分类器所得的误报率

3 结束语

为了提高稀有攻击的检测率,设计了一种基于深度学习和传统机器学习方法的联合攻击分类器,并设计了一种基于联合攻击分类器的网络入侵检测方法。运用分离原始数据集的方法来减少普通攻击数据对稀有攻击数据的影响;利用卷积神经网络构建普通攻击分类器,用决策树构建稀有攻击分类器,并分别用新的数据集对子攻击分类器进行训练与测试;在测试过程中,将子攻击分类器进行连接,构成联合攻击分类器。实验结果表明,与现有的典型入侵检测方法相比,该联合攻击分类器在保持对普通攻击较高检测率的同时,提高了稀有攻击的检测率。

本研究主要通过NSL-KDD数据集进行评估,然而在实际网络世界中,网络的复杂性及动态性会造成许多不可预测的问题,而该数据集并未包含新出现的攻击及已有攻击的变种。因此,未来将用新的数据集评估已提出的方法,并考虑如何将其应用到现实网络中。另外,本方法基于已获取的数据集,为了弥补静态网络数据集与动态网络通信流量的差异,今后将在动态环境中进行实验。

猜你喜欢
分类器样本深度
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
四增四减 深度推进
深度思考之不等式
学贯中西(6):阐述ML分类器的工作流程
基于朴素Bayes组合的简易集成分类器①
简约教学 深度学习
规划·样本
人大专题询问之“方城样本”
基于AdaBoost算法的在线连续极限学习机集成算法
随机微分方程的样本Lyapunov二次型估计