首页 > 范文大全 > 正文

基于决策支持向量机的入侵检测技术研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于决策支持向量机的入侵检测技术研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:该文在对“1对其他的”SVM多类分类基础上提出了决策支持向量机多类分类方法,并应用到入侵检测中。实验表明,该方法的训练效率大大提高,并且具有较高的检测率。

关键词:入侵检测;决策支持向量机;多类分类

中图分类号:TP309文献标识码:A文章编号:1009-3044(2011)11-2535-03

An Intrusion Detection System Based on Decision Support Vector Machine

YU Xiao-rong, GUO Chang-yan

(Jiangsu University of Science and Technology, Zhenjiang 212003, China)

Abstract: In this paper, we propose the decision-making support vector machine multi-category classification method which based on the "1 to the other" SVM multiclass classification, and applied to Intrusion Detection. Experiments show that the method greatly improved the efficiency of the training, and has a higher detection rate.

Key words: intrusion detection; decision support vector machine; multiclass classification

支持向量机(SVM,support vector machine)是一种新型用于机器学习的一种方法,并于入侵检测系统(IDS)中得到了广泛的应用。Mukkamala S.等在2002年改进了入侵检测,并将有监督的标准SVM算法用在入侵检测技术中[1],后又将该新技术和神经网络的算法两者比较,最终得到的实验结果比原来要好。不过SVM 是针对两种问题进行分类的,并且IDS系统如果想对入侵做出及时的响应,那么对入侵类别就要进行区分[2]。目前支持向量机方法解决多个分类(比如n个分类)转化为两个类的分类问题,有两个方法可以实现:1)“1对1”的方法。该方法先生成n(n-1)/2个分类器,然后对每个分类器操作,分类器分别训练两种数据,每种数据是不同类别的,可以将投票策略使用在每个分类中;2)“1对其它”的方法,先生成n个分类器,然后将其中一个分类器的训练数据作为正例,比如第i个分类器,而除此之外的类的训练数据成为反例,这样的话,每个类都生成分类器的数据,再构造一个超平面在第m类和剩余的类这两类之间,分别构造完成后,在生成的多个两类分类器中进行比较,可以得到最大输出的类别,此类别就是需要得到的类别。有了上述的理论支持,主要是“1对其他的” 支持向量机多类分类的理论支持下,本文设计了SVM决策树的多类的分类方法,并在入侵检测中应用。实验表明,该方法的训练效率大大提高,并且具有较高的检测结果。

1 支持向量机决策树的理论方法

支持向量机决策树方法将二叉决策树和支持向量机的思想两者结合起来,构成一个识别器,且是多类别的。该方法的思想如下:先将所有n个类别按某个方法分成a子类和b子类,再将a子类或b子类按同样方法分成二个次级子类a1和b1,按照该方法一直循环,直到得到一个类别是单独的。通过上述方法可以得到一棵二叉树,但该二叉树是倒立的,所有在二叉树中,决策点的分类问题可以用支持向量机来解决。N类的分类问题,N大于2,该问题与上述的分成两类的问题之间是有一定的关系和联系的,因为一个N分类可以分,那么在N分类中取出任意两类,这两类之间是一定可以分的;反之,如果有一个N分类,需要对它分类,现知道这个N分类中的任意两类都可以分类,那么我们建立一个合适的的组合规则,通过该组合规则的两类可以分类直至完成这个N类可以分类。支持向量机决策树的方法必需先生成n个支持向量机的分类器,子支持向量机分类器的个数为N-1个,如果生成一个具有N个叶子结点的决策二叉树可以有好多个方法,而且支持向量机决策树的每个结点与叶子的分类需要一定的历史经验。所有要选择支持向量机决策树的具体方案时,可以按下述方法操作:

1)如果对N类分类问题中的各种子类无历史经验时,这样就没有办法进行叶结点的划分,这种情况下可以根据每次决策就可以分类出一个类别的二叉树结构。

2)如果对N类分类问题中的各种子类有一些历史经验时,如对走路的人进行分类,则走路的人可能有男老人、女老人、男成人、女成人、男童、女童,不过上述的哪个类比较多或比较少无从得知,这样可以用完全二叉树结构来分类。方法是先分男女,再分别分成老人、成人和儿童;或者先分出老人、成人和儿童,再分别分出男女。

上述两种方法各有优点,本文通过研究入侵检测的特点,采用第一种方法中的二叉树结构。

SVMDT算法

支持向量机决策树在判断训练样本中的每个测试点类别时,比较易发生错分现象和累积现象。所以生成支持向量机决策树,要使决策数的分类性能较好,最先分的类应该是不会有错分现象的结点类,或者说是类的特点很强健的类别,这样在二叉树的上层出错的机会就很少,分好强健的类后再分容易出错的类,这样就可以出错的分类会离二叉树树根很选,不会影响大局。

先设定两类训练样本分别为和,设经非线性映射Φ作用,映射到特征空间H后,类中心分别为mΦ和m'Φ,则在特征空间中mΦ和m'Φ间的距离为:

支持向量机决策树的训练算法如下所示:

假设在树的各结点生成的最优化的分类面是将其中一类与其它类分开。比如要开始n类分类,构成了训练样本集合X。

Step1 根据公式计算两类之间的,把它作为各个分类的分离行测度。

Step2 将得到分离行测度进行降序排列,可设。

Step3 设置计数器k=1。

Step4 将当前最强健的类和其它所有类进行分类训练,可以训练得到最优分类面,再构造子分类器SVMk。

Step5 X=X-xk,k=k+1。

Step6若k≤n-1,转到Step4,否则结束。

2 基于SVM决策树的入侵检测模型

根据文献[3],文中构建了基于SVMDT 的入侵检测系统模型,系统的框架结构如图1所示。框架中通过网络数据进来,先进行数据采集、再进行数据预处理、然后进行SVMDT训练和SVMDT检测,最后传送至系统响应。

入侵检测系统的整个工作流程可以分成两个阶段进行:

1) 训练:数据流从网络中传来,数据采集模块便收集这些的数据流,去除数据流中某些太强或太弱的数据,然后将这些数据流传入预处理的模块,该模块可以对巨额的特征数据进行向量化的操作,最终得到SVMDT可处理和理解的特征向量,特征向量还要进行训练才有实用价值,所有还要把特征向量送入SVMDT训练模块.最终获得该分类器的训练参数。

2) 检测:经过如上训练后的SVMDT分类器即可用在其他数据预处理中得到的数据包进行参数化检测,得到检测结果,最后传送给系统响应模块,如果发现入侵行为,系统响应模块就会采用对应的响应策略。

3 入侵检测的仿真实验

现实中采集得到巨额入侵检测数据是比较困难的,我们根据目前现有的实验数据集进行操作。DARPA98是MIT Lincoln实验室为美国国防部研究局提供的入侵检测的数据集,检测目的是调查、评估现有入侵检测技术的性能。KDDCUP99数据集是在DARPA98数据集基础上的一种扩展数据集合,数据集合中增加了某些新的构造特征,目前已成为评测通用入侵检测系统的标准化数据集合,我们也采用KDDCUP99数据集合进行仿真实验。KDDCUP99数据集合还用于一些国际的入侵检测数据分析与挖掘的通用标准。在实验中本文采用的训练数据是10%的数据子集(kddcup.data_10_percent),并使用带正确的标志的测试数据子集成为实验测试数据。

3.1 参数选取

在理论中得到函数与参数的过程不可行,应该先进行实验,得到实验数据后再确定函数与参数。因为我们使用的数据集是一个典型的异构数据集,实验中选用H-SVC(H-支持向量分类机)和RBF型的核函数进行实验。因为不一样的惩罚因子H和核参数γ进行训练,将得出不一样的支持向量机,同样会得出不一样的结果,所以H和γ的选择非常重要,参数的选择要进行交叉验证。检测精度=正确分类的样本数/总样本数

表2 H取不同值时的训练测试结果(γ=0.02) 表3 γ取不同值时的训练测试结果(H=1500)

由表2和表3可得,效果最佳的一组数据为:参数H=1500,r=0.07,检测精度为94.54%。

3.2 实验结果与分析

如上进行的实验计算生成的最佳参数,对我们提出的算法进行实验,同时和“1-v-R”方法与Lee方法进行比对,实验得到的结果如表4所示。

根据表4的对比数据可以看出,本文提出的算法与1-v-R方法相比,检测效率是比较高的;与Lee方法对比,除了对Probe的检测的数据精度稍低以外,对其它的攻击都有相对较高的检测数据精度。不过针对R2L攻击,因为测试样本数据中R2L攻击内的新攻击类型相对较多,以至检测率相对较低。

4 结论

文中在对“1对其它”支持向量机的多类的分类基础上,提出了一种决策支持向量机的分类方法,并进行了实验检测和应用到入侵检测中。实验表明,该方法的训练效率大大提高,并且具有较高的检测效率。

参考文献:

[1] 叶芳,吴中福,刘勇国.网络入侵的聚类算法研究与实现[J].重庆大学学报,2004(3):46-49.

[2] 邓乃扬,田英杰.数据挖掘中的新方法:支持向量机[M].北京:科学出版社,2004.

[3] 柯永振,张加万,孙济洲.结合支持向量机与均值聚类的图像分割[J].计算机应用,2006(9):2081-2083.