APP下载

Boosting方法在网络攻击分类中的性能分析

2016-05-14靳燕姚悦

网络空间安全 2016年6期
关键词:分类器类别样本

靳燕 姚悦

1 引言

面对日益严峻的网络安全问题,各种安全防御技术已被提出并得以应用。以防范和自我保护为主的被动保护方式,主要包括数据加密、安全路由、访问控制、报文鉴别等,其在有效防范网络攻击上虽有重要作用,但缺少实时发现攻击行为的能力。入侵检测系统通过采集主机审计数据和网络全局流量,来实现关键点的实时监控,并依靠检测分析引擎来发现异常行为,与其他安全技术可有效互补,共同为网络系统提供安全保障[1]。

检测分析模块的构建是入侵检测技术实施的关键,传统方式下的人工编码,对专家领域知识依赖大,存在效率低、适应性差、不易扩展等缺点。数据挖掘技术用于入侵检测分类建模中,可从训练数据集中自动提取攻击模式,生成分类模型,有效改善了分类建模效率,提高了分类检测准确率。分类模型可以判定用户行为是否异常,在两类行为的区分认识上,不同算法的处理方式不同。常用的分类算法包括NaiveBayes[2]、RIPPER[3]、SVM(支持向量机Support Vector Machine)[4]等。

Boosting方法属性能提升算法[5],通过多次迭代来改善基分类器的分类性能,本文将NaiveBayes、RIPPER和SVM作为Boosting方法的基分类算法,在KDD CUP99数据集上加以应用,通过分类结果的相关性能比较来分析Boosting算法的提升效果,并进一步给出更适合于KDD CUP99的基分类算法。

2 分类算法原理分析

分类属数据挖掘中的预测任务,是根据其他属性值来预测离散的目标属性值。在KDD CUP99中,目标属性是class,取离散的23种类型。分类之前,需要事先产生一个分类模型,不同分类算法学习到的分类模型也不同。

2.1 NaiveBayes算法原理分析

NaiveBayes为贝叶斯分类的一种,其基于统计学原理,通过事件的先验概率,来获得事件可能所属每类的后验概率,选最大后验概率的对应类作为该事件的所属类。

对于KDD CUP99数据集,NaiveBayes引入条件概率来量化数据集的样本类序列中,出现某类攻击事件的概率,该条件概率记为P(Itr | Evt),Evt表示样本类序列,Itr表示某类攻击事件。使用Bayes公式可得出P(Itr | Evt)的值,如公式(1)所述:

P(Itr | Evt) = P(Evt | Itr) P(Itr)/ P(Evt)(1)

P(Evt) = P(Itr) * P(Evt | Itr) + P(┐Itr)* P(Evt | ┐ Itr) (2)

公式(1)的P(Itr)为先验概率,可依据领域专家经验或数据集的样本分布来给定。P(Evt | Itr)为给定攻击下的事件序列的条件概率,系统全部事件构成了每个攻击的事件序列,进而可算出构成给定攻击的事件序列占全部攻击事件序列的相对概率,即为P(Evt | Itr)。同样,可算得P(Evt | ┐ Itr)的条件概率。

应用公式(1)和(2),算得P(Itr | Evt)的值,反映了事件序列中存在攻击事件的可能程度。攻击检测中,将取最大P(Itr | Evt)值所对应的Itr作为检测类别。

NaiveBayes以属性相独立为前提,在属性相关较小的数据集上的性能较好。当属性相关较大或属性较多时,NaiveBayes的分类效果下降。

2.2 RIPPER算法原理分析

RIPPER属基于规则的分类算法,通过样本学习可产生类似if cndt1 then class1 elseif cndt2 then class2,…,else default的规则集。if部分为某类的判定条件,then部分为预测类,default为算法定义的默认类。

在两类问题中,RIPPER选择多数类为默认类,学习少数类的分类规则。在多类问题中,依据类别出现频率的大小,按小到大进行排序,设排序后的类别序列为class1, class2,…, classn,class1代表了极少发生的类,classn为最频繁发生的类,是RIPPER定义的default。

对于KDD CUP99,RIPPER按类别出现频率递增产生类别序列,并按此顺序为每个类别寻找检测规则,class1的检测规则应可将class1与 {class2,…, class23 }相区分,依此产生其他类别的检测规则。在对用户行为进行检测时,仍按规则顺序进行匹配,匹配项对应的类别即为检测类别,没有满足的规则时,就检测为default。

RIPPER算法的类别序使得出现频率极小的类在预测时得以关注,在不均衡类分布的数据集中[6],其分类性能往往优于其他算法。

2.3 SVM算法原理分析

SVM按线性方程式的求解来对待分类问题,通过寻找类间超平面来实现分类模型的构建。超平面选取基于了结构风险最小化的理论,在样本的特征空间中,寻找最优的分割超平面,进而产生最优分类器。针对线性不可分的情况,SVM通过引入核函数可将样本空间转为高维空间下的线性可分,在分类以及回归等数据挖掘任务中得到广泛应用。对于KDD CUP99数据集,SVM将样本按向量对待,通过求解线性方程的参数,来确定类别的支持向量。

2.4 Boosting算法原理分析

Boosting算法通过多轮迭代以产生一个用于分类预测的函数系列,并结合权重加以组合共同决策,进而改善原有弱分类算法的分类准确度。

将迭代次数记为T次,可产生出T个简单分类器。每个简单分类器的分类准确度,通过其发言权加以表达。在进行预测时,T个简单分类器的加权组合将是最终的分类结果。

3 分类建模及结果分析

3.1 参与分类建模的数据样本

KDD CUP99网络攻击数据集共包含42个属性,样本分属23个类别[7],同类别的样本实例数量差别极大。本文从KDD CUP99_10%中无放回随机抽样,抽样比例为10%,样本分布如表1所示。

3.2 参与建模的分类算法及结果比较

本文选用Boosting算法中较具代表性的AdaBoost算法进行模型构建,选用的基算法为:NaiveBayes、RIPPER和SVM。为较直观的分析Boosting算法的性能提升效果,依次与三类算法产生的单个分类模型进行指标比较。表2、表3和表4分别为单算法和基于该算法的AdaBoost的分类结果(以/作为两算法的分隔)。

本文做两类比较。(1)三个基算法间的分类比较。表2、表3和表4的单分类器产生的分类结果中,对数量较多的Normal、Neptune和Smurf,NaiveBayes不及RIPPER和SVM;对极小量的类,RIPPER优于SVM和NaiveBayes,中间类的分类效果较为相似。(2)基算法与AdaBoost算法的分类比较。比较每张表中的基算法与AdaBoost算法的结果,AdaBoost对NaiveBayes的提升无效,对RIPPER和SVM的分类效果改善明显。

本次所选样本共包含49402条,使用三类基算法NaiveBayes、RIPPER和SVM的建模耗时依次为:0.33秒、24.77秒和4.54秒;使用AdaBoost后,耗时均有所增加,依次为:79.92秒、179.45秒和72.81秒。

4 结束语

本文围绕入侵检测系统的检测分析模块的构建方法,分析了Naive Bayes、RIPPER、SVM和Boosting的相关原理,并在KDD CUP99的部分数据上进行分类建模。从实验分类结果及耗时上做总体比较:RIPPER对KDDCUP 99的总体分类效果较好,尤其在小类分类上表现极佳,但规则学习过程花费时间较长;使用Boosting(本文以AdaBoost算法为代表)后,对基分类的性能改善明显,但同样存在建模耗时的问题。针对KDD CUP99的分类学习问题,据本文的实验结论,可从分类的具体目的出发,如重视哪些类的分类性能、对建模效率有无要求等因素综合考虑,选取合适的算法。在不考虑分类效率的前提下,可选用基于RIPPER的Boosting算法,既可以提高小类的分类性能,对其他类的分类也较好。

参考文献

[1] 靳燕.检测未知攻击的数据预处理算法研究[J].山西师范大学学报(自然科学版),2013,27(4):23-26.

[2] 韩绍金,李建勋.基于密度核估计的贝叶斯网络结构学习算法[J].计算机工程与应用, 2014 (15): 107-112.

[3] Seerat B, Qamar U. Rule induction using enhanced RIPPER algorithm for clinical decision support system[C]//Intelligent Control and Information Processing (ICICIP), 2015 Sixth International Conference on. IEEE, 2015: 83-91.

[4] Moraes R, Valiati J F, Neto W P G O. Document-level sentiment classification: An empirical comparison between SVM and ANN[J]. Expert Systems with Applications, 2013, 40(2): 621-633.

[5] 李诒靖,郭海湘,李亚楠等.一种基于Boosting的集成学习算法在不均衡数据中的分类[J].系统工程理论与实践, 2016(1):44-47.

[6] 靳燕,彭新光.折中规划分类性能的少数类误分代价优化设计[J/OL].计算机工程与应用, 2016 http://www.cnki.net/kcms/detail/11.2127.TP.20160414.1542.044.html.

[7] 张新有,贾磊.入侵检测数据集KDD CUP99研究[J].计算机工程与设计,2010,(22):56-59.

基金项目:

1.山西省自然科学基金资助项目(编号No.2010011022-2);

2.山西大学商务学院科研基金资助项目(编号No.2014010)。

作者简介:

靳燕(1982-),女,硕士,山西大学商务学院信息学院,讲师;主要研究方向和关注领域:网络安全、数据挖掘。

姚悦(1993-),女,学士,英大商务服务有限公司,初级工程师;主要研究方向和关注领域:数据分析。

猜你喜欢

分类器类别样本
学贯中西(6):阐述ML分类器的工作流程
一起去图书馆吧
简析基于概率预测的网络数学模型建构
基于AdaBoost算法的在线连续极限学习机集成算法
一种统计分类方法的学习
直击高考中的用样本估计总体
随机微分方程的样本Lyapunov二次型估计
基于支持向量机的测厚仪CS值电压漂移故障判定及处理
基于支持向量机的蛋白质交互界面热点的预测的研究与改进
七年级数学下册期末检测题(B)