Boosting方法在网络攻击分类中的性能分析_第1页
Boosting方法在网络攻击分类中的性能分析_第2页
Boosting方法在网络攻击分类中的性能分析_第3页
Boosting方法在网络攻击分类中的性能分析_第4页
Boosting方法在网络攻击分类中的性能分析_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Boosting方法在网络攻击分类中的性能分析1引言 面对日益严峻的网络安全问题,各种安全防御技术已被提出并得以应用。以防范和自我保护为主的被动保护方式,主要包括数据加密、安全路由、访问控制、报文鉴别等,其在有效防范网络攻击上虽有重要作用,但缺少实时发现攻击行为的能力。入侵检测系统通过采集主机审计数据和网络全局流量,来实现关键点的实时监控,并依靠检测分析引擎来发现异常行为,与其他安全技术可有效互补,共同为网络系统提供安全保障[1]。检测分析模块的构建是入侵检测技术实施的关键,传统方式下的人工编码,对专家领域知识依赖大,存在效率低、适应性差、不易扩展等缺点。数据挖掘技术用于入侵检测分类建模中,可从训练数据集中自动提取攻击模式,生成分类模型,有效改善了分类建模效率,提高了分类检测准确率。分类模型可以判定用户行为是否异常,在两类行为的区分认识上,不同算法的处理方式不同。常用的分类算法包括NaiveBayes[2] 、RIPPER[3]、SVM(支持向量机 SupportVectorMachine)[4]等。Boosting 方法属性能提升算法 [5],通过多次迭代来改善基分类器的分类性能,本文将NaiveBayes、RIPPER和SVM作为Boosting方法的基分类算法,在KDDCUP99数据集上加以应用,通过分类结果的相关性能比较来分析 Boosting算法的提升效果,并进一步给出更适合于 KDDCUP99的基分类算法。分类算法原理分析分类属数据挖掘中的预测任务,是根据其他属性值来预测离散的目标属性值。 在KDDCUP99中,目标属性是 class,取离散的 23种类型。分类之前,需要事先产生一个分类模型,不同分类算法学习到的分类模型也不同。2.1NaiveBayes 算法原理分析NaiveBayes为贝叶斯分类的一种,其基于统计学原理,通过事件的先验概率,来获得事件可能所属每类的后验概率,选最大后验概率的对应类作为该事件的所属类。对于KDDCUP99数据集,NaiveBayes引入条件概率来量化数据集的样本类序列中,出现某类攻击事件的概率,该条件概率记为 P(Itr |Evt),Evt表示样本类序列, Itr 表示某类攻击事件。使用Bayes公式可得出 P(Itr |Evt)的值,如公式(1)所述:P(Itr|Evt )=P(Evt|Itr )P(Itr )/P(Evt)(1)*P

P(Evt)=P(Itr(Evt| ┐Itr )

)*P(2)

(Evt|Itr

+P

(┐Itr

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

P(Evt|Itr

)。同样,可算得P(Evt|

Itr

)的条件概率。应用公式(

1)和(

2),算得

P(Itr|Evt

)的值,反映了事件序列中存在攻击事件的可能程度。攻击检测中,将取最大P(Itr|Evt )值所对应的 Itr 作为检测类别。NaiveBayes以属性相独立为前提, 在属性相关较小的数据集上的性能较好。当属性相关较大或属性较多时,NaiveBayes的分类效果下降。2.2RIPPER算法原理分析RIPPER属基于规则的分类算法, 通过样本学习可产生类似

ifcndt1thenclass1elseifcndt2thenclass2

,,elsedefault

的规则集。

if

部分为某类的判定条件,

then部分为预测类,

default

为算法定义的默认类。在两类问题中,RIPPER选择多数类为默认类, 学习少数类的分类规则。在多类问题中,依据类别出现频率的大小,按小到大进行排序,设排序后的类别序列为 class1,class2,,classn ,class1代表了极少发生的类, classn为最频繁发生的类,是 RIPPER定义的default 。对于KDDCUP99,RIPPER按类别出现频率递增产生类别序列,并按此顺序为每个类别寻找检测规则, class1 的检测规则应可将 class1 与{class2 ,,class23} 相区分,依此产生其他类别的检测规则。在对用户行为进行检测时,仍按规则顺序进行匹配,匹配项对应的类别即为检测类别,没有满足的规则时,就检测为 default 。RIPPER算法的类别序使得出现频率极小的类在预测时得以关注,在不均衡类分布的数据集中 [6],其分类性能往往优于其他算法。2.3SVM算法原理分析SVM按线性方程式的求解来对待分类问题,通过寻找类间超平面来实现分类模型的构建。超平面选取基于了结构风险最小化的理论,在样本的特征空间中,寻找最优的分割超平面,进而产生最优分类器。针对线性不可分的情况, SVM通过引入核函数可将样本空间转为高维空间下的线性可分,在分类以及回归等数据挖掘任务中得到广泛应用。对于 KDDCUP99数据集,SVM将样本按向量对待,通过求解线性方程的参数,来确定类别的支持向量。2.4Boosting 算法原理分析Boosting 算法通过多轮迭代以产生一个用于分类预测的函数系列,并结合权重加以组合共同决策,进而改善原有弱分类算法的分类准确度。将迭代次数记为 T次,可产生出 T个简单分类器。每个简单分类器的分类准确度,通过其发言权加以表达。在进行预测时,T个简单分类器的加权组合将是最终的分类结果。3分类建模及结果分析3.1 参与分类建模的数据样本

KDDCUP99网络攻击数据集共包含

42个属性,样本分属

23个类别

[7]

,同类别的样本实例数量差别极大。本文从

KDDCUP99_10%中无放回随机抽样,抽样比例为 10%,样本分布如表 1所示。3.2 参与建模的分类算法及结果比较本文选用Boosting 算法中较具代表性的 AdaBoost算法进行模型构建,选用的基算法为: NaiveBayes、RIPPER和SVM。为较直观的分析 Boosting 算法的性能提升效果,依次与三类算法产生的单个分类模型进行指标比较。表和表4分别为单算法和基于该算法的 AdaBoost(以/作为两算法的分隔)。

2、表3的分类结果本文做两类比较。(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秒。结束语本文围绕入侵检测系统的检测分析模块的构建方法,分析了NaiveBayes、RIPPER、SVM和Boosting 的相关原理,并在KDDCUP99的部分数据上进行分类建模。从实验分类结果及耗时上做总体比较: RIPPER对KDDCUP99的总体分类效果较好,尤其在小类分类上表现极佳,但规则学习过程花费时间较长;使用 Boosting(本文以AdaBoost

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论