基于分段核函数的SVM入侵检测方法

2019-06-06 04:21谈帅昕
软件导刊 2019年3期
关键词:入侵检测

谈帅昕

摘 要:为了克服N-RBF核函数在处理取值完全相同特征时出现准确率、检测率和误报率异常的现象,提出一种分段核函数(P-RBF)。该核函数根据特征样本方差是否为0对特征分别进行变换,但仍然以RBF核函数为基础。实验结果表明,在基于SVM的入侵检测方法中,选用该分段核函数不仅避免了因选用N-RBF核函数而出现检测率和误报率异常的情况,而且较RBF核在准确率、检测率和误报率方面有一定改善,同时缩短了检测时间。

关键词:SVM;入侵检测;分段核函数

DOI:10. 11907/rjdk. 182783

中图分类号:TP306文献标识码:A文章编号:1672-7800(2019)003-0043-04

0 引言

长期以来,计算机网络安全问题一直困扰着人们,其不仅源于计算机系统存在的各种漏洞,还源于各种复杂多变的网络流量存在的潜在隐患,而后者往往导致计算機系统受到入侵。因此,入侵检测显得格外重要,从而促进了入侵检测系统的研究和开发。在研发过程中,人们相继提出了许多入侵检测方法。

从现有各种入侵检测方法来看,基于机器学习或数据挖掘的入侵检测方法受到了人们重点关注,相关方法包括K-means[1]、极限学习机(ELM)[2]、决策树(decision tree)[3]、支持向量机(SVM)[4-14]等。由于支持向量机是通过间隔实现分类的,能够避免过拟合,因而应用更加广泛。通常情况下,支持向量机非常适合数据规模较小的情形。

值得一提的是,核函数选取将直接影响支持向量机的分类效果。文献[15]指出在特定领域选择特定核函数是个公开的难题,因此在不知道任何先验知识的情况下,优先选用径向基(RBF)核函数[4-7,9-15],在许多基于支持向量机的入侵检测方法研究中也不例外。为了使核函数的选用更加灵活,赵夫群[13]构造了由多项式核函数和RBF核组成的混合核函数,使用PSO算法优化该混合核函数参数,并采用LSSVM进行分类。实验结果显示,对从KDD CUP 99测试集中抽取的测试子集异常数据所属的大类DOS、Probe、U2R和R2L而言,在SVM中选用混合核函数分类相比于选用RBF核分类消耗时间更少,检测率更高,且误报率低;肖丰佳[14]构造了一种由多项式核函数、RBF核函数和sigmoid核组成的混合核函数,并采用PSO算法优化该混合核函数参数。实验结果表明,对特征采用灰色关联分析方法处理后,在基于SVM的入侵检测方法中选用混合核函数虽然较选用RBF核函数能获得更低的误报率和更高的检测率,但其检测性能仍需进一步提升。当然,也有在RBF核基础上改进核函数的相关研究,如Kuang等[9-10]提出的N-RBF核,其以RBF核为基础,虽然能克服入侵检测数据集中一些特征取值范围相差过大导致检测时间消耗过多的问题,但当入侵检测样本中存在取值完全相同的特征时,会导致准确率、检测率和误报率异常。在国外,已有学者将分段核函数用于SVM多分类[16]、图像重构[17]等方面,均取得了良好效果;在国内,李渝等[12]提出一种基于RBF核函数和线性核函数的分段核函数,用于在支持向量机中对heart数据集进行分类,实验结果表明,在支持向量机中选用该分段核函数,分类效果不仅优于仅选用RBF核和线性核函数,也优于由线性核函数和RBF核函数组成的组合核函数。受此启发,为了克服N-RBF核函数存在的问题,本文提出一种分段核函数P-RBF,即对于每一个特征,根据其对应样本方差是否为0分别进行变换,然后将变换后的特征向量应用于RBF核函数。

1 分段核函数P-RBF构造

1.1 核函数性质

1.2 N-RBF核

1.4 基于分段核函数P-RBF的SVM入侵检测算法

为方便说明,规定选用的支持向量机算法为C-SVC[6],核函数选用分段核函数P-RBF,且经过预处理的训练集与测试集数据已经生成。

Step1:对预处理训练集中的每一条数据,利用分段核函数P-RBF的分段归一化功能,再次对输入数据的各个特征根据其在训练集中的样本方差是否为0进行分段变换。如果该特征在训练集中的样本方差不为0,则根据该特征在训练集中的均值和样本方差进行归一化变换,否则直接将该特征变换为0。之后将经过变换的训练集数据划分为正常和异常两类,并保证两类的间隔尽可能大,从而产生支持向量,形成分类模型。

Step3:输出分类结果。

1.5 基于分段核函数P-RBF的SVM入侵检测总体流程

Step1:抽取数据。从网络中抽取一定量的连接数据。

Step2:特征提取。从抽取的连接数据中提取一些特征形成数据集,并分为测试集和训练集。

Step3:数据预处理。将形成的训练集和测试集字符特征向数字特征转化,考虑到各特征取值范围不同,需要对每个特征作线性归一化变换。

Step4:训练基于分段核函数的SVM。将训练样本用于训练基于分段核函数的SVM,并形成分类模型。

Step5:利用训练后的SVM对测试样本进行检测,并输出分类结果。

Step6:根据分类结果,系统对检测到的异常情况及时作出响应并采取相应措施。

2 模拟实验及分析

2.1 数据集及评估标准

模拟实验中选用的入侵检测数据集为KDD CUP 99[20],因而自然省去了基于分段核函数SVM入侵检测流程中的前两步。由于在KDD CUP 99数据集中包含Normal、DOS、Probe、U2R和R2L共5大类数据,而Probe、U2R和R2L的数据量相对较少,因而从KDD CUP 99 10%训练集和KDDTest中随机抽取数据进行实验。抽取的数据分布如表1所示。

实验中涉及的评价指标为准确率(AC)、检测率(DR)和误报率(FAR),分别用式(12)-(14)表示。

其中,TP表示被正确检测成正常的数据记录数目,FP表示被错误检测成正常的数据记录数目,TN表示被正确检测成异常的数据记录数目,FN表示被错误检测成异常的数据记录数目。

2.2 实验数据预处理

由于抽取的训练子集和测试子集包括41个特征,其中特征protocol_type、service和flag都是字符型,需要分别将其转化为数字型。将以上3种特征向数字型转化的方法有两种,一种是直接将上述特征从字符型转换为数字型,另一种则是采用独热码(one hot code)方式[21],即离散特征有n个取值,则可用n维向量表示该离散特征。对于离散特征中出现的每一个值,在n维向量中各自占用独立的一位并用1表示,而该n维向量只有一位用1表示,其它位用0表示。显然特征protocol_type、service和flag即可按该方式转化为数字型,而这些特征取值分别有3种、70种和11种,从而实现了将特征从41维扩展到122维的变换。为了探究上述两种特征处理方式分别对选用分段核函数的支持向量机性能带来的影响,实验会涉及到两种特征处理方式。鉴于一些特征的内部取值相差非常大,因此在字符型特征向数字型特征变换之后会按照式(15)归一化至[0,1]。

2.3 实验分析

2.3.1 分段核函数P-RBF性能实验

实验环境为一台配备了AMD 2.40GHz CPU与4GB内存,并安装了64位Windows 10系统的电脑,实验在MATLAB R2010B上进行,SVM分类器采用林志仁教授[9]开发的工具箱LIBSVM。实验选用RBF核、N-RBF核和分段核函数P-RBF在SVM上作分类,分类采用二分类方式。实验数据特征为122时的实验结果如表2所示,实验数据特征为41时的实验结果如表3所示。

由表2、表3可见,不论数据特征数为41维还是122维,对于检测时间而言,N-RBF核最短,其次是分段核函数P-RBF,RBF核最长。说明N-RBF核通过将特征均值和样本方差嵌入到核函数中,实现了对特征的归一化,避免了选用RBF核时因特征内部取值范围差异过大带来的分类时間过长问题,而分段核函数P-RBF需要根据特征样本方差是否为0对特征进行变换,因而消耗的检测时间略多于N-RBF核,但不会多于选用RBF核的情况。但对于准确率、检测率和误报率而言,在选用N-RBF核时,检测率为NaN,误报率为0,说明正常样本都被错误分类,从而导致准确率非常低,究其原因在于训练子集和测试子集中一定有取值完全相同的特征,使得该特征的样本方差为0。但选用分段核函数P-RBF不仅不会出现检测率为NaN和误报率为0的现象,而且比选用RBF核的准确率和检测率更高,误报率更低。因此,将提出的分段核函数P-RBF用于支持向量机中,会得到较好的检测效果,且检测时间较短。

2.3.2 训练样本正常数据比例对入侵检测实验结果的影响

为了探究训练样本正常数据和异常数据比例对入侵检测实验结果的影响,从已抽取的训练子集和测试子集中各抽取1 000条数据,分别作为训练样本和测试样本。定义α为训练样本中正常数据占整个训练样本的百分比,为了方便研究α对测试样本分类的影响,将测试样本中正常数据和异常数据的比例设置为1∶1。但对离散特征protocol_type、service和flag而言,相对于直接转化为离散数字的方法,用独热方式变换可以提高分类鲁棒性。因此,在对训练样本和测试样本特征进行预处理时,将特征从41维变换为122维。实验仍然采用SVM进行分类,并将分段核函数P-RBF和RBF核函数作对照。实验结果如表4所示。

由表4可见,无论α取0.2、0.5还是0.8,分段核函数P-RBF在测试样本上的分类准确率不仅都超过90%,而且高于RBF核函数。当α=0.5时,虽然两个核函数在测试样本上的分类准确率都为最高,但分段核函数P-RBF的准确率仍高于RBF核。说明对基于支持向量机的入侵检测方法而言,采用分段核函数P-RBF能取得比RBF核函数更稳定的分类效果。就检测时间而言,无论α取0.2、0.5还是0.8,选用分段核函数P-RBF所需的时间依然比选用RBF核要短。说明分段核函数P-RBF对于取值不完全相同的特征,能够根据其在样本中的均值和样本方差进行归一化,并将取值完全相同的特征归为0,从而达到使特征收敛的目的,不仅提高了分类准确率,而且减少了检测时间。由此可见,基于分段核函数P-RBF的SVM入侵检测方法是一种准确率高、检测时间短且检测性能稳定的方法。

3 结语

本文提出分段核函数P-RBF,将其应用于基于SVM的入侵检测方法中,并比较了RBF核、N-RBF核在该入侵检测方法中的准确率、检测率与误报率。实验结果表明,不论数据特征是41维还是122维,在基于SVM的入侵检测方法中选用分段核函数P-RBF不仅能有效处理取值完全相同的特征,避免出现异常的准确率、检测率和误报率,而且在一定程度上能够改善相关性能,并缩短检测时间。此外,为了探究训练样本中正常样本占比对基于SVM的入侵检测方法的影响,在测试样本中正常样本和异常样本比为1∶1的情况下,对采用不同正常样本和异常样本比例的训练样本分别进行实验。实验结果表明,虽然需要将特征从41维变换至122维,但训练样本中正常样本占总体的比例α无论取0.2、0.5还是0.8,在SVM中选用分段核函数P-RBF的准确率不仅高于选用RBF核函数时的情形,而且相对稳定,检测时间也更短。因此,基于分段核函数P-RBF的SVM入侵检测方法是行之有效的。

参考文献:

[1] WANG X G, WANG L L. Research on intrusion detection based on feature extraction of autoencoder and the improved K-means algorithm[C]. 2017 10th International Symposium on Computational Intelligence and Design (ISCID), 2017: 352-356.

[2] CHENG C, TAY W P, HUANG G B. Extreme learning machines for intrusion detection[C]. The 2012 International Joint Conference on Neural Networks (IJCNN), 2012: 1-8.

[3] TENG L, Y TENG S H, TANG F Y, et al. A collaborative and adaptive intrusion detection based on SVMs and decision trees[C]. 2014 IEEE International Conference on Data Mining Workshop,2014: 898-905.

[4] CALIX R A,SANKARAN R. Feature ranking and support vector machines classification analysis of the NSL-KDD intrusion detection corpus[J]. Community Dentistry & Oral Epidemiology,2013,41(1): 41-52.

[5] 范宇辰. 一种基于极限学习机的分类器及其应用研究[D]. 沈阳:东北大学, 2014.

[6] CHANG C C, LIN C J. LIBSVM: a library for support vector machines[J]. ACM transactions on intelligent systems and technology (TIST), 2011, 2(3): 1-27.

[7] AMBUSAIDI M A, HE X J, NANDA P, et al. Building an intrusion detection system using a filter-based feature selection algorithm[J]. IEEE transactions on computers, 2016, 65(10): 2986-2998.

[8] 高妮, 高岭, 贺毅岳, 等. 基于自编码网络特征降维的轻量级入侵检测模型[J]. 电子学报, 2017, 45(3): 730-739.

[9] KUANG F J, XU W H, ZHANG S Y. A novel hybrid KPCA and SVM with GA model for intrusion detection[J]. Applied Soft Computing Journal, 2014, 18(4): 178-184.

[10] KUANG F J, ZHANG S Y, JIN Z, et al. A novel SVM by combining kernel principal component analysis and improved chaotic particle swarm optimization for intrusion detection[J]. Soft Computing, 2015, 19(5): 1187-1199.

[11] 谭琨, 杜培军. 基于再生核Hilbert空间小波核函数支持向量机的高光谱遥感影像分类[J]. 测绘学报, 2011, 40(2): 142-147.

[12] 李渝, 吴增印. 基于分段核函数的支持向量机及其应用[J]. 现代电子技术, 2013, 36(16): 5-8.

[13] 赵夫群.基于混合核函数的LSSVM网络入侵检测方法[J].现代电子技术,2015,38(21):96-99.

[14] 肖丰佳. 基于粒子群优化支持向量机的入侵检测模型研究[D]. 重庆:西南大学, 2012.

[15] 汪廷华, 陈峻婷. 核函数的选择研究综述[J]. 计算机工程与设计, 2012, 33(3): 1181-1186.

[16] BREDENSTEINER E J, BENNETT K P. Multicategory classification by support vector machines[J]. Computational Optimization & Applications, 1999, 12(1-3): 53-79.

[17] MEIJERING E H W, ZUIDERVELD K J, VIERGEVER M A. Image reconstruction by convolution with symmetrical piecewise nth-order polynomial kernels[J]. IEEE Transactions on Image Processing a Publication of the IEEE Signal Processing Society, 1999, 8(2): 192-201.

[18] CRISTIANINI N, TAYLOR J S. 支持向量機导论[M]. 李国正, 王猛, 曾华军, 译. 北京: 电子工业出版社, 2004.

[19] 邓乃扬, 田英杰. 支持向量机:理论、算法与拓展[M]. 北京:科学出版社, 2009.

[20] STOLFO S J, FAN W, LEE W K, et al. KDD cup 1999 data[EB/OL]. http://kdd.ics.uci.edu/databases/ kddcup99/kddcup99.html.

[21] KELLEY D R, SNOEK J, RINN J. Basset: learning the regulatory code of the accessible genome with deep convolutional neural networks[J]. Genome Research, 2016, 26(7): 990-999.

(责任编辑:黄 健)

猜你喜欢
入侵检测
多Agent的创新网络入侵检测方法仿真研究