APP下载

基于多种特征选择策略的入侵检测模型研究

2021-03-11何红艳黄国言

信息安全研究 2021年3期
关键词:特征选择分类器聚类

何红艳 黄国言 张 炳 陈 瑜

(燕山大学信息科学与工程学院 河北秦皇岛 066001)(河北省软件工程重点实验室 河北秦皇岛 066001)

(hhongyan@stumail.ysu.edu.cn)

网络入侵检测系统(IDS)是检测网络入侵常用的工具,通过收集网络的当前运行状态数据,并使用系统预置算法和历史经验来分析网络流量[1].然而,网络流量数据存在大量冗余和不相关的数据,干扰了IDS的分类过程.因此对数据的维度进行缩减是对数据挖掘、分析和应用的过程中非常必要的一步.

由于IDS处理的数据量很大,因此基于机器学习的IDS面临的主要挑战之一是计算复杂度高,而计算复杂度高的主要原因是机器学习数据集中包含的冗余、不完整和无关的特征[2].为了能够深入挖掘网络流量数据中包含的关键信息并消除干扰冗余无关的特征,特征选择技术目前已经成为入侵检测研究中非常重要的一个阶段,在此过程中,不相关和冗余的特征被去除,而信息更丰富的特征被保留.用于入侵检测系统的数据集包含许多特征,因此,需要采用特征选择步骤来提高分类性能,减少计算时间[3-4].

基于此,国内外很多学者展开了研究:Wang等人[5]提出了基于互信息和萤火虫算法分别选择合适的特征子集,并结合2种特征子集提出了特征选择策略.Hamed等人[6]提出基于支持向量机的特征递归选择方法,减少了特征冗余,提高了相关性.Ahmadi等人[7]提出了一种多数投票系统,使用基于关联的特征选择、信息增益和卡方校验3种特征选择方法来进行最相关特征的选择.王明等人[8]提出基于卷积神经网络算法的网络入侵检测系统,该系统可以自动提取入侵样本的有效特征,从而对入侵样本进行准确分类,并在KDDCUP99数据集上评估了模型的准确率.Sarvari等人[9]提出了基于异常点的入侵检测方法,采用了改进的布谷鸟搜索算法(CSA)、变异布谷鸟模糊算法(MCF)进行特征选择,采用进化神经网络(ENN)进行分类.Nancy等人[10]发现现有的入侵检测系统只关注于检测已知类型的攻击,而忽略了识别新的攻击类型,这些攻击是由恶意用户引入的,导致网络的脆弱性和信息丢失,为了解决这一难题提出了一种新的入侵检测系统,利用智能决策树分类算法检测已知和未知类型的攻击.为此,作者提出了一种新的特征选择算法——动态递推特征选择算法.此外,通过对决策树算法的扩展,并与卷积神经网络相结合,提出了一种智能模糊时态决策树算法来有效地检测入侵者.Zhou等人[11]提出了一种基于特征选择和集成学习技术的入侵检测框架:首先提出了基于特征间相关性选择最优子集的启发式降维算法CFS-BA,这是结合C4.5、随机森林(RF)和森林惩罚属性(forest PA)算法的集成方法;然后利用投票技术结合基本学习者的概率分布进行攻击识别.Zhong等人[12]提出了一种新的异常检测模型HELAD,该模型基于阻尼增量统计算法进行特征选择和多种深度学习技术的有机集成进行分类.Adhao等人[13]采用主成分分析进行特征变换,然后使用遗传算法选择最优特征集,最后使用决策树作为分类器.结果表明,在遗传算法之前采用主成分分析方法,可以在较少特征个数的情况下提高模型的精度.Mohamed等人[14]提出了基于信息论的特征选择方法,结合互信息和“最大化最小化”方法来选择特征,把冗余和不相关的特征删除掉. Khammassi等人[15]应用基于遗传算法的封装方法作为搜索策略,将逻辑回归作为网络入侵检测系统的学习算法来选择最佳特征子集.莫坤等人[16]提出了基于LightGBM算法的网络入侵检测系统,对疑似入侵行为样本进行分类,通过KDDCUP99数据集的验证,实验结果表明,准确率提高,训练时间缩短.Liu等人[17]提出了一种结合信息增益和遗传搜索的混合特征选择算法.首先,利用信息增益计算所有特征的信息增益值,根据信息增益对所有特征进行排序,并按照指数递增策略对排序特征进行排序;其次,利用排序特征指导遗传算法的搜索过程;最后,用分类算法对特征选择后的数据集进行测试.Anwer等人[18]提出一种利用不同机器学习分类器进行网络异常检测的特征选择框架.该框架通过使用过滤器和包装器特性选择方法组成不同的策略,用来解决入侵检测问题.

通过特征选择技术去除冗余和无关的特征,在能够保持代表整个网络流量数据的高质量特征和关键信息的同时,可以非常有效地降低训练和检测的时间,并且选择出的最优特征子集能增加或至少保持异常检测的效果[19-20].受此启发,本文提出了一种具有多种不同特征选择方法的入侵检测模型,使用3种不同的机器学习分类算法对特征选择后的数据集进行测试,并选择模型性能最好的组合方法.

1 主要框架

图1为本文提出的多种特征选择方法构建的入侵检测模型流程图,主要分为3个核心阶段:阶段1是对原始数据集进行预处理操作,要将数据集整理成为机器学习算法可使用的数据,其中包括文本特征的数值化以及Kmeans简化数据集获得典型数据集;阶段2是不同的特征选择方法分别与机器学习分类算法的组合;阶段3依据2个评估指标对使用不同组合策略构建的模型进行评估.本文以逻辑回归、极限树、随机森林为RFE的基模型,并使用决策树(DT)、随机森林和XGBoost这3种机器学习分类器进行研究,利用这3种分类器学习并测试了所讨论策略中的每一种特征选择方法.

图1 入侵检测模型框架流程图

研究人员通常使用的KDDCUP99自诞生以来,已在该领域使用了近20年,由于网络环境随时间而变化,已经不足以反映现在的真实网络环境[21].本文采用了澳大利亚网络安全中心(ACCS)实验室创建的公共入侵检测数据集UNSW-NB15,该数据集中的异常行为分为九大类,每种异常行为类别也将分为特定的攻击行为.与KDDCUP99的4种类别相比,UNSW-NB15的特定攻击行为数量几乎是其5倍.由于UNSW-NB15数据集的异常行为新颖,均衡且比例合理,因此更适合相关研究人员进行入侵检测研究,该数据集与KDDCUP99数据集相比,更能反映当代网络入侵流量的特点[22-23].

2 特征选择策略

特征选择过程可以看作是一个迭代过程[24],特征选择的过程基本由以下几个部分组成,如图2所示:

图2 特征选择流程图

根据学习算法的关系,特征选择方法可分为2类:分类器独立方法(过滤式Filter)和分类器依赖方法(封装式Wrapper和嵌入式Embedded)[11].

本文关注的特征选择技术是特征递归消除算法(RFE),特征递归消除是封装式特征选择算法.封装式方法最显著的特点是需要利用学习算法的性能来评估特征子集的优劣,在进行特征选择过程中需要一个分类器,根据分类器性能去度量特征子集.封装式方法首先通过搜索策略在特征集上选出候选特征子集,然后分类算法作为引导算法对特征子集进行评价,迭代这一过程,直到选出符合要求的特征子集[25].本文以逻辑回归算法(LR)、极限树算法(ET)和随机森林算法(RF)分别作为特征递归消除算法的基模型对数据集进行建模,得到每个特征对应的权重值,再将权重绝对值最小的特征依次移出特征集合.RFE是在反复地对模型进行构建,遍历其全部的属性特征,直到获得其重要性的最终排序结果[26].基于RFE的特征选择流程图如图3所示:

图3 基于RFE的特征选择流程图

算法1.基于RFE的特征选择算法.

输入:训练集Q={(a1,b1),(a2,b2),…,(an,bn)}、特征集F=(f1,f2,…,fn);

输出:特征的重要度排序.

① 初始化原始特征集合F=(f1,f2,…,fn),特征排序集合R;

② FORF不为空 DO

③ 使用特征集F分别进行以逻辑回归算法、极限树算法和随机森林算法训练模型;

④ 分别计算各个模型下各个特征的权重值;

⑤ 对特征权重值进行排序NewRand=sort(Rank);

⑥ 更新特征排序列表:Update(R)=R+F(NewRand);

⑦ 删除贡献最小的特征:Update(F)=F-F(NewRand);

⑧ END FOR

3 仿真实验

UNSW-NB15数据集[27]是一个类别不均衡的数据集,在网络流量中入侵的数据样本远远少于正常流量的数据样本.UNSW-NB15数据集的总体分布情况:采用饼状图进行可视化数据的总体分布,如图4所示.

图4 UNSW-NB15数据集分布饼状图

由于存在数据集不均衡和样本数量多的情况,我们通过Kmeans算法选出UNSW-NB15数据集中具有代表性的典型数据,也可以表示为对数据集进行了一个聚类抽样.聚类后生成的典型数据特征表现更为突出,因此在进行特征选择时,典型数据集更有利于选出能区分正常和异常流量较为关键的特征集合.

由于Kmeans聚类算法中k值的确定是一个非常关键的步骤.本次实验采用手肘法则来确定Kmeans算法的最优k值[28].手肘法则在确定Kmeans算法中k值的步骤如下:

1) 初始化k的初始值;

2) 增加k的值;

3) 根据每个k值计算平方误差和;

4) 分析平方误差和急剧下降的k值;

5) 找到并确定肘形k值.

手肘法则的最佳聚类值将从误差平方和SSE(sum of the squared errors)的值中选取,SSE值有一个显著的肘形下降.SSE是一种统计方法,用于测量与已实现值的实际值的总差[29].SSE通常用作确定最佳聚类个数k的研究参考.

(1)

其中,Ci是第i个簇;p是Ci中的样本点;mi是Ci的质心(Ci中所有样本的均值).随着聚类数k值的增加,样本数据的划分会进一步细化,每个簇群的聚集程度会逐渐地提高,那么误差平方和SSE自然会逐渐地变小[30].

所有的训练数据样本作为输入,我们将k值的取值范围设置为1~9,对每个k值进行聚类实验并且记录相应的SSE,然后绘制k和SSE的关系图,如图5所示.可以看出随着k的增加,SSE呈下降趋势且最终趋于稳定状态,故以拐点肘部处的位置所对应的k值被认为是相对最优的聚类数量值.由图5可知,肘部对应的k值为2,所以相对于UNSW-NB15数据集的聚类而言,聚类数值设置2为最佳.

图5 k值选择

因此采用参数k=2进行聚类实验获取典型代表数据集,是最能代表原始数据集关键信息以及反映原始数据集的实际情况.原始数据集在进行Kmeans聚类后获得典型数据集的样本数量如表1所示,我们看出聚类前后的数量发生了变化,这也表明了通过Kmeans聚类算法达到了简化数据集的目的.

表1 Kmeans(k=2)典型数据集的样本数量

本文实验主要采用准确率Acc(accuracy)和误报率FAR(false alarm rate)作为二分类异常检测效果的评估指标.在进行多类分类异常检测研究时,我们采用召回率Recall作为评价指标.因为数据样本多的类别准确率高,数据样本少的类别准确率低,但依然能得到较高总体准确率,所以并不能很好地描述分类器的性能,所以在进行多类分类时我们选择用召回率作为评价指标.准确率是指在测试数据集中分类正确的样本数与所有样本数之比值.误报率是指正例样本中被误分为反例的样本数与正例样本总数的比值和反例样本中被误分为正例的样本数与反例样本总数的比值之和的平均值[26].召回率是指正例样本中分类正确的比率.分类结果的混淆矩阵如表2所示:

表2 分类结果混淆矩阵

Acc,FAR分别定义为

(2)

(3)

(4)

表3展示了采用不同特征选择方法和不同机器学习分类器组合的评价结果.特征选择的数量是在每种方法中效果最优的特征个数.由表3可以看出,最佳组合是以逻辑回归算法为特征递归消除算法的基模型和决策树算法为分类器的组合(LR-RFE)+DT,其分类准确率可以达到88.27%,其误报率也是最低的.

表3 不同策略的模型评价结果

为了更好地验证本文提出的算法的有效性,将本文的算法(LR-RFE)+DT在准确率和误报率2个指标上与其他已发表的文献中提出的算法进行了对比,表4展示了对比结果.本文提出的算法的准确率为88.27%,相比于其他算法均有提高,检测效果最优,且误报率低于大多数算法.综上所述,验证了本文提出的算法在异常检测中是有效可行的.

表4 本文提出算法与其他算法的检测效果对比

为了进一步验证我们提出的方法不仅在二分类中取得较好的结果,在多类分类中也获得良好的效果,因此我们将本文提出的方法进行多类分类研究.由于在网络流量中入侵行为比正常行为要少得多,所以将正常流量进行抽样,降低正常流量样本的数量,对数据进行平衡.抽样方法主要分为随机抽样和不平衡数据抽样2种.我们选择随机抽样中的分层抽样方法对正常流量数据样本抽样,分层抽样能明显地降低抽样误差,我们将正常流量总样本数量的50%进行抽取,异常流量样本数量保持不变.抽样后的样本数量如表5所示:

表5 抽样前后样本数量

我们的目标是检测入侵行为,对异常流量的多分类研究,采用上述的最佳组合方法(LR-RFE)+DT进行实验,在决策树分类时为了防止决策树过拟合,我们通过参数max_depth限定决策树的深度,在一定程度上可以避免过拟合.调参结果展示如图6所示.Max_depth=18为决策树的最优深度.

图6 参数max_depth调参结果展示

多类分类召回率结果展示如表6所示,为了更为直观地观察结果,将本文提出方法与GALR-DT算法的多类分类召回率采用了柱形图的形式进行了结果对比的展示,如图7所示.结果发现,不同类型的攻击行为的检测率大部分均有提高,尤其是Backdoor,Analysis,DOS,Shellcode,Worm这5种攻击类型的样本数量相对较少,检测率较低,我们提出的方法对这几类攻击类型的召回率均得到了提高.因此验证了本文方法不仅对二分类的高效性,对多分类同样有效.

表6 多类分类召回率结果

图7 本文方法与GALR-DT[15]多类别召回率对比

4 结 论

网络传输过程中的海量数据中包含大量冗余和无关特征,使得入侵检测系统难以及时处理,降低了效率.使用不同的机器学习方法和特征选择方法组合进行入侵检测的研究具有很好的实用价值.本文利用Kmeans算法聚类得到典型数据集,提出了一种基于3种不同的特征选择方法和3种不同机器学习分类算法组合的入侵检测框架.模型评价指标采用了准确率和误报率.实现结果表明,(LR-RFE)+DT方法表现优于其他方法.并且验证了该方法在多类分类研究中同样也取得了良好的结果,易于使用.接下来将对深度学习方面的特征选择工程进行研究,新型算法对于入侵检测的应用,以及对数据预处理阶段采用更多不同的方法处理,如层次聚类、过采样、欠采样等.

致谢特别感谢黄国言教授、张炳讲师的指导,感谢陈瑜同学在实验上的帮助,同时感谢实验室其他同学们的支持.

猜你喜欢

特征选择分类器聚类
基于K-means聚类的车-地无线通信场强研究
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
基于高斯混合聚类的阵列干涉SAR三维成像
Kmeans 应用与特征选择
基于Spark平台的K-means聚类算法改进及并行化实现
联合互信息水下目标特征选择算法
基于改进的遗传算法的模糊聚类算法
基于特征选择聚类方法的稀疏TSK模糊系统
基于层次化分类器的遥感图像飞机目标检测