基于Boosting半监督的网络安全入侵检测算法*
2014-09-06朱韶平
朱韶平
(湖南财政经济学院信息管理系,湖南 长沙 410205)
基于Boosting半监督的网络安全入侵检测算法*
朱韶平
(湖南财政经济学院信息管理系,湖南 长沙 410205)
针对网络安全入侵行为升级快、隐蔽性强和随机性高等严重的安全问题,提出了一种基于半监督的网络安全入侵检测算法.该算法利用Boosting建立入侵检测模糊分类器,采用遗传算法进行迭代训练,生成最终的网络安全入侵检测模型.仿真结果表明,该算法有效提高了网络安全入侵检测的性能和效率.与SVM等先进的入侵检测方法相比,该算法能更加准确有效地检测各种类型的入侵,具有良好的检测效果和应用价值.
网络安全;入侵检测;半监督学习;模糊分类器
随着计算机和网络技术的迅速发展,计算机及网络的应用渗入到了社会各领域,然而人们面临的网络安全问题也日益严峻.入侵检测技术是一种网络安全主动保护策略,是近年来网络信息安全领域的一个研究热点,倍受国内外专家的关注.该技术通过收集和分析计算机系统或网络中的审计记录、安全日志、用户行为及网络数据包等信息,检测网络或系统中可能存在的违反安全策略的入侵行为与被攻击的迹象[1].文献[2]提出了第1个入侵检测模型;文献[3]等提出了通用入侵检测框架CIDF;文献[4]提出了基于决策树算法的协议分析方法,提高了入侵检测系统的性能;文献[5]提出了基于神经网络的误用检测方法,系统通过在网络流中搜索攻击的关键码来检测入侵;文献[6]以系统调用执行迹来建立检测模型,提出了基于支持向量机的入侵检测模型.近年来,尽管研究者提出了各种入侵检测模型和相关算法,并取得了一些研究成果,但是检测效果并非十分理想.
随着网络安全入侵技术更新速度的加快及隐蔽性的加强,网络安全入侵技术变得日趋复杂.笔者将半监督学习算法引入网络安全入侵检测中,提出了一种基于半监督学习的网络安全入侵检测算法,该算法可在先验知识不足的情况下仍保证有较好的分类正确率,从而提高入侵检测的精度.
1 特征提取
1.1系统调用频率特征的提取
系统调用频率特性是判断系统进程是否异常的重要特征,当进程异常执行时,系统调用频率会发生变化甚至产生一些未知的系统调用.每一个进程的系统调用序列分别用一个向量表示,其中每个元素分别表示相应系统调用的发生频率.例如,系统调用的集合s={access,audit,chdir,close,creat,exit,fork,ioctl},若进程x由2个access、1个close、1个exit、1个ioctl 组成,则其频率向量表示为x=(2,0,0,1,0,1,0,1).
1.2系统调用短序列时序特征的提取
系统调用频率向量不包含系统调用间的时序特征,系统调用短序列包含了时序特征(在程序正常执行时所产生的短序列局部连贯,在程序存在安全漏洞运行程序时会产生一些异常的系统调用短序列).因此,进程产生的系统调用短序列是判断系统进程是否异常的另一项重要依据.文中采用 STIDE滑动窗口方法提取系统调用短序列,窗口从头到尾每次移动1个系统调用,每次生成窗口内的系统调用短序列[7].实验中窗口长度取4时性能较好.例如,进程x=close,execve,open,mmap,open,mmap,close,exit,窗口的长度L=4时,提取的系统调用短序列为(close,execve,open,mmap),(execve,open,mmap,open),(open,mmap,open,mmap),…,(open,mmap,close,exit).
2 基于半监督学习的网络安全入侵检测
半监督学习是一种重要的机器学习方法,利用少量的标注样本和大量的未标注样本进行训练和分类,减少了标注代价,提高了学习机器的性能,即在训练集样本有限的条件下,也能保证测试集相对独立,误差较小[8].在网络安全入侵检测中引入半监督学习方法,可大大提高入侵检测的精度和速度.
2.1Boosting半监督学习算法
Boosting模糊分类算法是对模糊先验知识进行建模,是一种典型的半监督学习算法.算法具体流程如下:
设样本集x={x1,x2,…,xn},其中xi表示第i个输入分量;Anj表示xj的模糊集合,其规则数j=1,2,…,N;类别cj∈{c1,c2,…,cm};模糊分类器输入变量x.则产生的模糊规则为
Rj:ifx1isA1jandx2isA2j…xnisAnjthenC=cj.
对x={x1,x2,…,xn}的模糊集合的隶属函数μAij(x)为高斯函数,其表达式为
2.2基于Boosting半监督的网络安全入侵检测
(ⅰ)假设有N个初始学习的网络数据特征样本集{(x1,c1),(x2,c2),…,(xi,ci),…,(xN,cN)}.其中ci∈{c1,c2,…,cN},向量xN为网络数据特征训练样本,cN是入侵检测问题的分类结果,各个样本的初始权值wi=1/N.
(ⅱ)设置Boosting算法最大迭代次数为T,初始化当前迭代次数t=1,针对N个网络数据特征样本集样本进行T轮训练.
(1)根据遗传算法寻找适应度F最大所对应的模糊规则Rt,即寻找使分类效果最好的模糊规则.适应度函数定义为
(2)在当前样本分布下,计算使适应度F最大的模糊规则Rt所对应的分类错误率E(Rt)和Rt对应的权值Ht:
(3)根据分类错误率E(Rt)计算wi(t+1),并更新样本的权值wi(t),得到最优的权重值,从而优化Boosting模糊分类算法.设zt是归一化因子,则其权值
基于Boosting半监督学习的网络安全入侵检测,采用遗传算法,以迭代方式,通过对样本权值的调节,获取使分类效果最好的模糊规则,从而有效地提升了正确样本对网络安全入侵检测模型的贡献,降低了错误样本或随机样本对网络安全入侵检测模型的影响.
3 实验仿真
为了验证文中算法的有效性,在Windows XP的操作系统、Pentium 3.0 GHz的处理器、4.0 GB内存的实验平台上和Matlab7的语言编程环境对该算法进行仿真实验.为保证仿真实验的权威性,实验数据采用DARPA’98数据[9].取400万个连接数据作为训练样本集,取298 500个连接数据作为测试样本集,且使测试样本集中包含有训练样本集中没有出现过的攻击.
实验1 基于半监督学习的网络安全入侵检测.
从训练样本集中抽取包含6 000个Normal、3 500个Neptune、500个Portsweep、200个Satan、10个Buffer_overflow和2 000个Guess-password的41维12 210个网络数据作为本次实验的训练样本集,从测试机中抽取41维115 200个网络数据作为本次实验的测试样本集,并划分为5个测试集.利用文中算法进行网络安全入侵检测,检测结果如表1所示.
表1 基于半监督学习的网络安全入侵检测仿真结果 %
从表1的数据可以看出,采用基于Boosting半监督学习算法进行网络安全入侵检测,整体检测效果较好,检测精度较高.对样本数较大的Normal和Neptune类型的入侵平均检测精度分别高达97.7%和95.8%;对样本数较少的Satan和Buffer_overflow类型的入侵平均检测精度有所降低,但仍能保证有较高的检测精度.仿真实验表明,由于Boosting半监督学习算法采用了遗传算法对模型进行了迭代修正,降低了随机样本对模型的影响,减少了小样本及随机样本导致模型精度大幅下降的问题,因此大大提升了整体的检测精度.
图1 2种不同检测算法对网络安全入侵检测精度比较
实验2 2种不同检测算法对网络安全入侵检测精度比较.
为了进一步验证文中算法的有效性,对同一测试集,分别采用SVM算法和Boosting半监督学习算法对6种类型的入侵进行了检测比较实验,实验比较结果如图1所示,A,B,C,D,E,F分别表示Normal,Neptune,Portsweep,Satan,Buffer_overflow,Guess-password这6种类型的入侵.
由图1实验结果可知,文中算法对6种类型的入侵检测精度均高于SVM算法的检测精度,同时也验证了文中的算法优于基于SVM算法的检测效果.
4 结语
分析了基于Boosting半监督模糊分类问题,提出了一种基于Boosting半监督学习方法用于网络安全入侵检测.该方法采用遗传算法对模型进行了迭代修正,降低了随机样本对模型的影响,解决了小样本及随机样本导致模型精度大幅下降的问题,大大提升了整体的检测精度.实验结果表明,该方法能够较好地提高半监督入侵检测的准确率,性能明显优于基于SVM等的先进算法,具有检测速度快、精度高、效果好等特性.
[1] 杨宏宇,朱 丹,谢 丰,等.入侵异常检测研究综述[J].电子科技大学学报:自然科学版,2009,38(5):587-596.
[2] DENNING D E.An Intrusion Detection Model[J].IEEE Transactions on Software Engineering,1987,13(2):222-232.
[3] CHEN S,TUNG B,SCHNACKENBERG D.The Common Intrusion Detection Framework Data Formats[R].Internet Draft Draft-Ietf-Cidf-Data-Formats-OO.txt,1998.
[4] 李 亮,李汉菊,黎 明.用决策树改进基于协议分析的入侵检测技术[J].华中科技大学学报:自然科学版,2004,32(12):37-39.
[5] CUNNINGHAM R,LIPPMANN R.Improving Intrusion Detection Performance Using Keyword Selection and Neural Networks[J].Computer Network,2000,34(4):597-603.
[6] 绕 鲜,董春曦,杨绍全.基于支持向量机的入侵检测系统[J].软件学报,2003,14(4):798-803.
[7] HOFMEYR S A,FORREST S,SOMAYAJI A.Intrusion Detect Using Sequences of System Calls[J].JournaI of Computer Security,1998,6(3):151-180.
[8] 高 伟,王中卿,李寿山.基于集成学习的半监督情感分类方法研究[J].中文信息学报,2013,27(3):120-126.
[9] 1998 Darpa Intrusion Dectection Evaluation Data Set.[DB/OL].(1998-02-02)[2014-03-20].http://www.ll.mit.edu/mission/communications/ ist/corporayideval/data/index.html.
(责任编辑 陈炳权)
IntrusionDetectionofNetworkSecurityBasedonSemi-Supervision
ZHU Shaoping
(Department of Information Management,Hunan University of Finance and Economics,Changsha 410205,China)
For the features of fast upgrading,strong concealment,and great randomness possessed by net intrusion,a method for intrusion detection of network security based on semi-supervised learning is proposed.The Boosting is used to build the fuzzy classifier of intrusion detection.Genetic algorithm is used to improve the iterative training,and the final the intrusion detection model of network security is thus generated.The results show that this algorithm can effectively improve the performance and efficiency of intrusion detection of network security.Compared with SVM and other advanced methods for intrusion detection,this method can detect the various types of invasion with greater accuracy,better effect and higher application value.
network security;intrusion detection;semi-supervised learning;fuzzy classifier
1007-2985(2014)05-0033-04
2014-04-16
湖南省科技厅科技计划资助项目(2014FJ3057);湖南省教育厅教育科学“十二五”规划课题(XJK012CGD022);湖南省普通高等学校教学改革研究资助课题(湘教通[2012]401号文件);湖南省重点建设学科“计算机应用技术” 建设资助项目
朱韶平(1972—),女,湖南双峰人,湖南财政经济学院信息管理系副教授,硕士,主要从事计算机应用技术、网络安全和模式识别等研究.
TP309
A
10.3969/j.issn.1007-2985.2014.05.009