开篇:润墨网以专业的文秘视角,为您筛选了一篇基于样本密度的SVM及其在入侵检测中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:针对网络数据集过于庞大,学习速度过慢的问题,提出了一种基于空间块和样本密度的svm算法,并将其应用到入侵检测中。该算法根据样本的局部密度选择训练样本,减少参加训练的样本数量,提高学习速度。实验结果表明,该算法在保证检测精度的同时,学习速度快于传统SVM入侵检测方法。
关键词:入侵检测;支持向量机;空间块;样本密度;边缘向量
中图分类号:TP393.08文献标识码:A
文章编号:1001-9081(2007)04-0838-03
0引言
目前,很多安全软件提供了入侵检测的部分功能,但是由于网络攻击手段的多元化、智能化、复杂化,这些入侵检测软件尚存在误报、漏报率高等缺点。支持向量机方法是解决这类问题的较好选择。
网络入侵检测可以认为是一个数据分类问题,且网络数据十分复杂,常常体现为高维、线性不可分等特点。与传统的学习方法相比[1],支持向量机[2]具有小样本、良好的推广性能、全局最优等优点,所以支持向量机方法可以很好地解决这类问题。与核函数[3,4]的结合,使支持向量机的适用范围更广。
但是,当训练样本过多时,训练速度会变得很慢。文献[5]提出了一种基于中心距离比值的淘汰算法,但是基于中心距离比值得到的边界向量[5,6]的分布区域不能精确地描述支持向量的分布特性。本文提出了一种基于空间块[7]和样本密度的SVM算法,根据样本的密度决定样本的取舍,只保留那些可能成为支持向量的边缘向量,边缘向量比边界向量更接近支持向量集,而且样本数更少。
1支持向量机
2基于样本密度的SVM算法
利用SVM进行分类的关键就是要求出最优分类面[3]。由于最优分类面只由那些支持向量确定,所以只须求出支持向量便可获得最优分类面。可以证明支持向量集和训练样本集[8]之间是等价的。即支持向量集是样本集的一个子集,并且支持向量集只是样本集的一小部分。每个训练样本成为支持向量的概率是不一样的,只有在两类边缘上的向量才有可能成为支持向量。因此,为了进一步提高算法的速度,可以先对训练样本进行剪裁,选择那些有很高概率成为支持向量的边缘向量,用这些边缘向量训练支持向量机,就可以减少参与训练的样本数。本文结合最近邻算法[2,9],提出一种基于空间块与样本密度的剪裁算法,以提高算法的速度,并保证训练精度。
该算法通过检查内部块的相邻块来寻找边缘向量。据定义2可知,那些边缘向量一般存在于与边界块相邻的内部块中。如果一个内部块BN的相邻块中有多于K个相邻块是边界块,那么BN的显著特性是其中包含很多边缘向量,所以将这个内部块保留。根据相邻块的个数公式,n维空间中,每个块有3n-1个相邻块,n增大时,相邻块的个数可能非常大,样本往往局限于某些空间块中,而很多空间块的密度为零,所以并不用检查所有的相邻块。
两类样本边界处的样本密度与类内部的样本密度的差异是本算法的主要依据。算法根据样本的分布密度,寻找边缘向量,相比文献[5]中的挖心算法和文献[6]的算法,本算法寻找的是两类样本的最边缘的那些样本点,它们更“接近”支持向量集,进一步减少了训练样本,从而提高训练速度。算法还可以利用参数ρ控制样本中噪声点的比例。结果集合中只有那些代表类的边缘的向量,这些向量的个数远远小于原始样本的个数。
3基于密度支持向量机的入侵检测实验
3.1实验数据的选取
实验中采用的训练数据和测试数据来自DARPA(美国国防部高级研究计划局)提供的一个网络流量异常检测的标准数据集,它是由美国麻省理工学院的Lincoln实验室建立的,从实际网络获得原始的TCP/IP网络通信数据,对每一个TCP/IP连接记录提取出了41个特征[10],该数据集包括约500万条连接记录和300万条测试记录,其中有大量的正常网络流量和各种攻击,具有很强的代表性,训练数据带有标记(正常或某种攻击),按时间先后进行排序。数据中包括四种类型的攻击:DoS(拒绝服务攻击)、R2L(远程权限获取)、U2R(对本地超级用户的非法访问)和Probe(各种端口扫描和漏洞扫描)。
每个连接记录有41个属性,每个属性可能的取值又不相同,这种数据集是典型的异构数据集。文献[10]中给出了各个属性的详细描述。
3.2属性集的选取
对于不同的攻击种类,应该选取不同的属性集合。文献[6]对DARPA入侵检测评估数据集进行了分析,得到了41个特征对不同的攻击类型分类时的影响大小:
1)对于正常数据分类影响较大的特征维数:1,3,5,6,10,17,23,27,28,29,33,36,39;
2)对DoS攻击分类影响较大的特征维数:1,5,6,23,24,25,26,32,36,38,39;
3)对R2L攻击分类影响较大的特征维数:1,3,5,6,32,33;
4)对U2R攻击分类影响较大的特征维数:1,2,3,5,6,12,23,24,32,33;
5)对Probe攻击分类影响较大的特征维数:1,2,3,4,5,6,23,24,29,32,33。
3.3实验结果
由于径向基函数(RBF)[3]对非线性、高维数据有很好的适应性,所以本实验采用RBF作为核函数:
从DARPA数据集中选取10000条记录,并重点对其中的DoS攻击进行检测实验,分别采用传统算法和基于密度的SVM算法进行测试,再将两种算法结果进行对比。先用上面提出的剪裁算法对训练集进行剪裁,然后利用libsvm[11]软件包对数据集进行训练和测试。结果如表1所示,其中,检测率(DR)=检测出的异常样本数/异常样本总数。
实验结果显示,基于样本密度的SVM算法的检测率与传统SVM算法基本相同,但是由于基于样本密度的SVM算法在训练分类器前将样本进行剪裁,所以减少了训练时间,比传统算法有更快的速度,如图2所示。
从图2可以看出,传统算法的运算时间随着样本数目的增加而急剧增加,而基于样本密度的SVM算法的运算时间随样本数目增加的速度比较缓慢,在样本数目比较少的情况下,两者区别不明显,但随着样本数目增加,基于样本密度的SVM算法有明显的优势。
4结语
提出了一种基于空间块和样本密度的支持向量机学习算法,并把此方法应用到入侵检测中,与传统SVM入侵检测方法相比,它能处理更大的训练样本集,具有训练时间短、占用系统内存少、检测率高等良好表现。进一步的工作主要集中在:对攻击特征的抽取、核函数的研究等方面,进一步缩短训练时间,提高检测精度。
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。