基金项目:国家自然科学基金资助项目(60572128)、安徽省高校省级自然科学研究计划项目(KJ2008B38ZC )(KJ2007B239)、巢湖学院自然科学基金资助项目(XLY -200713)和巢湖学院科研启动基金项目资助
收稿日期:2009-02-19 修回日期:2009-03-20
第27卷 第8期
计 算 机 仿 真
2010年8月
文章编号:1006-9348(2010)08-0092-03
几种机器学习方法在I D S 中的性能比较
汪世义
1,2
,陶 亮1,王华彬
1
(1.安徽大学智能计算与信号处理教育部重点实验室,安徽合肥230039;
2.巢湖学院计算机系,安徽巢湖238000)
摘要:入侵检测是一种保障网络安全的新技术,传统的入侵检测方法存在误报漏报及实时性差等缺点,将机器学习的技术引入到入侵监测系统之中以有效地提高系统性能具有十分重要的现实意义。将目前主要的基于机器学习的贝叶斯分类的方法、神经网络的方法、决策树方法与支持向量机的方法应用于入侵检测系统中,以kdd99公共数据集进行了仿真实验,仿真测试结果表明支持向量机方法(S VM )和神经网络方法具有较好的分类识别性能,适合用于入侵检测。关键词:网络安全;机器学习;入侵检测系统中图分类号:TP30912 文献标识码:A
Performance Com par ison of Severa l M ach i n e L earn i n g
M ethods for I n trusi on D etecti on
WANG Shi -yi 1,2
,T AO L iang 1
,WANG Hua -bin
西教台1
(1.MOE Key Lab of I ntelligent Computing &Signal Pr ocessing,Anhui University,Hefei Anhui 230039,China;
2.Computer Depart m ent of Chaohu College,Chaohu Anhui 238000,China )
ABSTRACT:I ntrusi on Detecti on Method is a ne w e merging net w ork curity technol ogy .The traditi onal intrusi on detecti on syste m s have high fal negative rate,s o it is i m portant t o intr oduce machine learning int o intrusi on detec 2ti on syste m s t o i m p r ove the perf or mance .
I n this paper,currently popular machine learning methods including the
Bayes method,the neural net w ork method,the decisi on tree method and the SupportVect orMachines (S VM )method are app lied t o intrusi on detecti on system,experi m ents with the data t kdd99show that the method S VM and the neural net w ork method have better perf or mance and are more suitable for intrusi on detecti on .KE YWO R D S: Net w ork curity;M achine learning;I ntrusi on detecti on syste m (I D S )
1 引言
入侵检测系统作为一种可以放置在受保护网络内部的原始过滤器,它是符合动态安全模型P2DR 的核心技术之一。根据分析引擎中使用的检测方法的不同,可以把入侵检测模型分为误用检测和异常检测。误用检测搜索审计事件数据,查看其中是否存在预先定义的误用模式,对获得数据使用各种模式识别算法进行匹配,检测主体的活动是否符合已知的入侵模式[1]。误用检测存在误报率低的优点,但是漏报率较高。异常检测提取正常模式审计数据的数学特征,检
查事件数据中是否存在与之相违背的异常模式[2]。异常检
测最大的优点是可以检测出未知模式的攻击行为,但是由于系统本身的“正常”行为的轮廓、阈值等难以界定,异常检测主要存在误报和漏报率较高的问题。
贝叶斯分类的方法,神经网络的方法,决策树方法和支持向量机的方法作为当前主流的机器学习算法,在许多学科领域中都有着广泛的应用,也是入侵检测系统最常用的几种机器学习算法[3,4]。本文将这几种机器学习方法分别应用于入侵检测系统,并在kdd99数据集上对各学习方法进行了仿真实验。通过性能比较发现S VM 和神经网络方法在实验中效果较好,为选择构建高效的基于算法融合的入侵检测系统提供参考。
2 基于机器学习的入侵检测方法工作原理
机器学习的研究是根据生理学、认知科学等对人类学习
机理的了解,建立人类学习过程的计算模型或认识模型,发展各种学习理论和学习方法,研究通用的学习算法并进行理论上的分析,建立面向任务的具有特定应用的学习系统。入侵检测的本质问题就是一个分类的过程,入侵检测系统中的事件分析器负责对事件行为进行分析,判断观察到的事件是入侵还是正常行为,因此入侵检测技术研究的主要工作是对事件分类技术的研究。
2.1 基于贝叶斯分类方法
贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类
[5]
。设
每个数据样本n 个属性的值用一个n 维特征向量来表示,即
A =
a 1,a 2,…,a n 。假定有m 个分类,分别用C 1,C 2,…,C m
表示。对于一个给定的末知类别的数据样本A,如果将样本
A 分配给类C i ,则仅当满足条件:p (C i |A )>P (C j |A ),1≤i,j
≤m ,i ≠j 由贝叶斯定理:p (A |B )=(P (B |A )P (A ))/P (B ),因P (B )对所有类为常数,最大化后验概率P (C i |A )可转化为最大化先验概率P (A |C i )P (C i )。
2.2 BP 神经网络
神经网络模式识别成为神经网络最成功的应用领域之一
[6]
。神经网络以其高度并行处理、高度非线性、高度鲁棒
性、自组织性、记忆推理、对任意函数的任意精度逼近能力、自学习能力和类似人的思维的不透明映射性能,成为模式识别中最热的焦点。神经网络是指模仿人脑神经网络的结构和某些工作机制而建立的一种新的计算模型。由输入层,隐含层和输出层组成[7],其结构图如图1
利用英语
所示。模式识别中的分类问题本质就是模式特征空间的一种映射问题,而BP 神经网络的输入输出关系可以看成是一种高度非线性的映射关系,在神经网络中,由权重和网络的拓扑结构决定了它所能识别的模式类型。BP 神经网络分类器就是在这个基础上实现对模式空间的分类的。
图1 BP 神经网络结构图
2.3 决策树学习算法
决策树是树形结构的知识表示,决策树的叶结点是所要学习划分的类,内部结点(非叶结点)一般表示为一个逻辑判断,如形式为(x =y )的逻辑判断,其中x 是属性,y 是该属性的某个属性值;树的边是逻辑判断的分支结果。内部结点的属性也称为测试属性。决策树是采用自上而下的递归构造方法构造的。决策树构造的结果是一棵二叉或多叉树,它的输入是一组带有类别标记的训练数据。对一批训练数据集通过训练产生一棵决策树后,就可以根据属性的取值对一个未知数据集进行分类。使用决策树对实例进行分类时由树根开始对该实例的属性逐渐测试其值,并且顺着分支向下走,直至到达某个叶结点,此叶结点代表的类即为该对象所处的类。
2.4 支持向量机
支持向量机是统计学理论的VC 维理论和结构风险最小化原理的具体体现,其最大的优点是能够尽量
提高学习的泛化能力,也就是能够保证在有限的训练集样本得到的小误差对独立的测试集也有小的误差。
支持向量机的解决分类问题的本质是通过将输入样本空间非线性变换到另一个特征空间,然后在这个新的特征空间中以求得使两类样本的分类间隔最大为目标求取样本的最优线性分类面,而这种非线性变换是通过定义适当的内积函数(或称为核函数)实现的。其中那些与最优分类面最近的两类样本被称为支持向量。这样最优分类面的构造问题实质上是求解约束条件下通过解下面约束最优化问题求出[8]。
M in w
12
w T
w s .t . y i (w T
x i +b )-1≥0
i =1,2,…,N
(1)
式(1)中x 是一样本向量,w 是权向量,b 为分类阈值。求解
(1)式的过程是通过构造如下Lagrange 函数
L (w ,b,α)=12
w T
w -∑
N
i =1
αi
[y i
(w T x i +b )-1]
(2)
其中αi ≥0为Lagrange 系数,α=[α1α2 … αN ]T
。
根据最优化理论得到(1)式优化问题的对偶问题:
M in
α
∑N
i =1
∑
N
j =1αi
αj y i y j
(x T
i
x j )-
∑
N
i =1
αi
s .t .
∑
N
i =1
αi
y i
=0
αi ≥0
i =1,2,…,N
(3)
通过求解最优化问题的对偶问题(3)式得到最优分类函数为:
f (x )=sign{
g (x )}=sign哈佛家训
∑机电一体化论文
s
l =1
αsv
l
y sv l 〈x ,x sv l 〉+b
op
(4)
3 实验结果与讨论
3.1 实验数据与环境朗文词典
为了比较各种机器学习算法的性能,实验系统测试采用通用的kdd99数据集。每个连接由41个标记连接状态的属性和一个标记是否正常的标志性属性组成。检测数据描述了每个网络连接的41个属性的前9个本质特征:持续时间,协议类型,服务类型,源端到目的端发出的字节数,目的端到源端的字节
数,连接状态标志,源和目的主机端口是否相同,错误分片的数目,紧急包的数目。训练用的每条网络连接都进行了以下标记:nor mal(正常连接),DoS(拒绝服务攻击),p r obe(探测攻击),U2R(U r t o Root攻击),R2L(Re2 mote t o Local攻击)。由于K DD数据集非常大,为了减少机器学习算法的学习时间,选取数据的一个子集,将得到的入侵数据经过数据预处理和属性权值离散化,得到训练数据31644条,其中正常连接10150条,DoS攻击20493条,p r obe 攻击470条,U2R攻击19条,R2L攻击512条。在实验中,采用了十折交叉验证的方法将31644条数据均分为10等份,每次提取其中的9份作为训练数据,余下的1份作为测试数据,实验重复10次,最后取10次实验的平均值作为算法的好坏评价标准。实验环境操作系统为W indows XP, Pentiu m CP U214GHz,内存:110G B。程序执行环境采用V isual C++610
3.2 贝叶斯分类实验性能
表1可以看出,贝叶斯分类器对Pr obe和U2R攻击检测识别性能较好。但对DoS和R2L类型效果较差。
表1 贝叶斯分类器对不同类型的攻击检测率
类型正确率误报率漏报率
Nor mal9712021800100
Pr obe9616031400100
DoS8911281082180
U2R9818401430173
R2L16102615877140
3.3 BP神经网络的分类性能
整个网络的输入数据取9个特征值,所以输入节点数为9;输出值如果为1则表示输入为正常行为,输出值为0则表示输入为异常行为,所以输出层节点数为1;隐含层节点数通过对不同节点数所对应的BP网络的误差对比来确定。学习率取为013,动量系数取012,训练次数设为200次。网络隐含层的神经元取为40。
表2的测试结果可以看出,神经网络在入侵检测系统中对DoS和Pr obe攻击类型具有很高的识别率,而误报率和漏报率都很低。由于这两种类型在kdd99数据集中占有的比例很大,因而该方法的整体检测正确率较高。
表2 BP对不同类型的攻击检测率
类型正确率误报率漏报率
Nor mal9813011700100
Pr obe9918201180100
DoS10010001000100
U2R9610231510147
R2L21114314375143
3.4 决策树方法的分类性能
首先对四对入侵类型进行决策树的创建,然后在测试集上进行测试,表3给出了决策树方法对不同类型的攻击检测结果。
表3 决策树对不同类型的攻击检测率
类型正确率误报率漏报率
Nor mal9712021800100
Pr obe9216061321108
DoS9711221640124
U2R361124016423124
R2L111007411414186
表3可以看出:决策树对Pr obe和U2R识别率较差。3.5 支持向量机的分类性能
S VM的核函数为RBF,通过比较使用不同的参数组合训练出的S VM对预测数据集的检测率来选择一个较好的参数组合C和δ2。表4给出了S VM方法对不同类型的攻击检测结果(C=10000,δ2=0108)。
表4 支持向量机对不同类型的攻击检测率
类型正确率误报率漏报率
Nor mal9719021100100
Pr obe9816011120128
DoS9911201000188
U2R89112016410124
R2L21108410674186
4 结论
本文把几种常用的机器学习方法应用于入侵检测系统中,并通过仿真比较了它们的性能。仿真测试结果表明神经网络和支持向量机方法对DoS和Pr obe攻击的种类具有很高的识别率,而误报率和漏报率都很低;同时也可看出几种机器学习算法对R2L检测率都很差,而决策树方法对U2R 检测效果也不理想。由于DoS和Pr obe攻击种类包含的数据量在kdd99数据集中占有的比例较大,因而表现出神经网络和支持向量机总的检测正确率较高,因此神经网络和支持向量机适合用于入侵检测系统中的机器学习算法,为今后研究更高效的融合算法奠定了基础。
(下转第121页)
图6 仿真结果
从仿真结果可以看出模糊解耦具有较好的解耦能力,且当被控对象开环增益增大10%时系统仍有较好的控制效果;当其中一个输入发生较大扰动时,对另外一个输出几乎没有影响。且控制器采用预估P I控制器,控制系统具有较好的稳定性、动态特性和鲁棒特性,从而证实了该方法是有效的。
5 结论
本论文利用模糊控制不需要建立准确数学模型的特点介绍了一种模糊解耦控制器的设计方法。以模糊规则设计的解耦器来解耦,控制器采用预估P I控制器。仿真研究表明,该方法具有很好的解耦能力和较强的鲁棒性。由于控制器设计方法简单,易于实现,对模型要求低,对于多变量强耦合的系统具有一定的应用价值。
参考文献:
[1] 郝立军,杨艳华.模糊解耦控制在精馏塔的应用[J].石油化
工自动化,2005,(6):27-293.
[2] 张玲,郑恩让.抄纸过程免疫单神经元控制研究与应用[J].
化工自动化及仪表,2008,(6):68-70.
[3] 刘涛,等.化工多变量时滞过程的频域解耦控制设计的研究进
展[J].自动化学报,2006,32(1):73-79.
一抹香
[4] 金以慧.过程控制[M].北京:清华大学出版社,20051171大蒜怎么种
-175.
[5] CHEN J ian-liang,ZHU W ei-xing.Ant col ony algorithm s f or
fuzzy op ti m izati on.Computer Engineering and App licati on[J].
2007,43(5):113-115.
[6] 刘金琨.先进P I D控制的MAT LAB仿真[M].北京:电子工业
出版社,2004-9.
[7
] 钱艳平,李奇,刁翔.预测P I时滞网络拥塞控制算法设计及性能分析[J].控制理论与应用,2006,23(2):161-168.
[作者简介]
张 玲(196212-),女(汉族),陕西人,副教授,
主要从事电路、信号与系统方面的教学与科研
工作。
张文苑(198314-),女(汉族),陕西人,硕士生,
研究方向为工业过程智能控制、风力发电。
郑恩让(1962110-),男(汉族),陕西人,教授,主要研究方向为智能控制、工业过程高级控制、风力发电等。
(上接第94页)
参考文献:
[1] 邓安远.基于机器学习方法的入侵检测技术的研究[J].计算
机科学,2008,35(1):90-93.
[2] 张义荣,等.基于机器学习的入侵检测技术概述[J].计算机
工程与应用,2006,(2):7-10.
[3] C Lacave,M Luque,F J D iez.Exp lanati on of Bayesian Net w orks
队旗简笔画and I nfluence D iagra m s in Elvira[J].I EEE Transacti ons on Sys2
tem s,Man,and Cybernetics,Part B,2007,37(4):952-965. [4] 朱芳芳,李志华,王士同.改进的W S VM入侵检测方法[J].计
算机仿真,2008,25(11):157-159.
[5] J Zhang and M Zulkernine.Net w ork intrusi on detecti on using ran2
dom forests[C].Pr oceedings of the the Third Annual Conference
on Privacy,Security and Trust,Oct ober2005153-61.
[6] 黄国宏,刘刚.一种新的RBF神经元网络分类算法[J].计算
机仿真,2008,25(8):144-146
[7] 杨长盛,陶亮.几种机器学习方法在人脸识别中的性能比较
[J].计算机工程与应用,2009,45(4)
:169-172.
[8] 陶亮,庄镇泉.基于小波分解和支持向量机的准正面人脸识别
方法[J].电路与系统学报,2003,8(6):107-111.
[作者简介]
汪世义(1974-),男(汉族),安徽桐城人,讲师,
博士研究生,主要研究方向为模式识别与信号处
理,网络安全。
陶 亮(1963-),男(汉族)安徽合肥人,博士,
教授,博士生导师,研究方向为数字信号与图像
处理、模式识别。
王华彬(1983-),男(汉族),安徽颖上人,博士研究生,主要研究方向为模式识别与信号处理,机器学习。