一种基于ALO?SVM算法的入侵检测方法

2020-07-14 08:35陈卓单欣欣
现代电子技术 2020年10期
关键词:入侵检测支持向量机数据处理

陈卓 单欣欣

摘  要: 入侵检测一直是网络安全领域的热点研究方向,为了提高网络入侵检测的速度和准确性,提出一种在PCA降维的基础上,基于蚁狮优化算法(The Ant Lion Optimizer,ALO)和支持向量机(Support Vector Machine,SVM)相结合的入侵检测方法。该算法首先利用主成分分析法(Principal Component Analysis,PCA)对数据进行降维处理以去除冗余数据,并利用ALO算法优化SVM的参数,然后根据优化后的SVM建立入侵检测模型,最后利用由PCA处理过的KDDCUP99数据集验证检测模型。实验结果表明,所提方法相较于简单的ALO优化SVM和PSO?SVM算法,在提高正确率的基础上,检测速度有显著提高。

关键词: 入侵检测; 数据处理; 检测模型建立; 蚁狮优化算法; 支持向量机; 分类测试

中图分类号: TN911.23?34; TP309               文献标识码: A                     文章编号: 1004?373X(2020)10?0079?04

Intrusion detection method based on ALO?SVM algorithm

CHEN Zhuo, SHAN Xinxin

(School of Computer, Hubei University of Technology, Wuhan 430068, China)

Abstract: Intrusion detection has always been a hot research direction in the field of network security. On the basis of the dimensionality reduction of the principal component analysis (PCA), an intrusion detection method based on ant lion optimizer (ALO) and support vector machine (SVM) is proposed to improve the speed and accuracy of network intrusion detection. In this method, PCA is used to reduce the dimensionality of the data to remove the redundant data, the ALO is adopted to optimize the parameters of SVM, and then the intrusion detection model is built based on the optimized SVM. The KDDCUP99 data set processed by PCA is utilized to verify the detection model. The experimental results show that, in comparison with the simple SVM optimized by ALO and PSO?SVM algorithm, the detection speed of this proposed method has been significantly improved based on improving the accuracy.

Keywords: intrusion detection; data processing; detection model establishment; ant lion optimization algorithm; support vector machine; classify test

0  引  言

随着计算机网络非法入侵越来越频繁以及入侵手段越来越复杂,传统的网络防御技术无法应对现今复杂的网络攻击[1]。由此可见, 计算机网络安全的入侵检测技术仍然不够完善,需要不断吸收先进的计算机网络安全的入侵检测技术[2]。目前,机器学习方法在IDS中被广泛使用[3]。SVM作为一种基于VC维度结构风险最小化分类器的机器学习方法,不但具有处理非线性分类问题的能力,同时也可以较好地提高学习机的泛化能力[4]。实验结果表明,基于 SVM 的网络入侵检测模型性能与其参数(惩罚因子c和核函数参数等)直接相关[5]。因此,本文使用ALO优化算法对SVM的参数进行优化,通过文献[6]可知,ALO算法比粒子群算法(Particle Swarm Optimization,PSO)、遗传算法(Genetic Algorithm,GA)、蝙蝠算法(BatAlgorithm,BA)、布谷鸟搜索(Cuckoo Search,CS)、花朵授粉算法(Flower Pollination Algorithm,FPA)等有更好的寻优精度、更强的全局搜索能力、更简单的参数设置。与此同时,入侵检测系统由于需要分析大量的通信数据,所以,有效的降维技术是解决性能问题的必要条件[7]。因此,本文提出一种在PCA降维的基础上,将ALO和SVM结合的入侵检测方法。首先将处理过的数据进行PCA降维,然后利用ALO算法优化SVM的核函数参数和惩罚因子。仿真结果表明了本方法的有效性,该算法能够在保持原始数据特征的同时提高数据精度,并提供跳出局部最优的能力,在开发和收敛方面具有竞争力。

1  ALO?SVM算法理论基础

1.1  SVM的理论基础

SVM是由Vapik和Cortes提出的一种机器学习方法[8?9],已被广泛用于分析和识别模式。该方法中学习模型和算法的集成使其能够解决分类和回归分析问题,其目的是通过使用训练集使数据分为两个类来获得最佳单独超平面(Optimum Separate Hyperplane,OSH),从而完成数据分类。又因为核函数的选取和参数的选择对SVM性能很重要,所以本文实验的支持向量机核函数选择的是应用最广、可以将样本映射到更高维的空间内径向基核函数(Adial Basis Function,RBF),并利用试探法确定惩罚因子[c]和径向基核参数[σ],算法如下。

如果训练样本[xi,yi,i=1,2,…,l,x∈Rn,y=±1],[i]是样本数,[n]是样本维度(输入维度),则最优超平面为:[x*ij=xij-xjSj∈X],此时的约束条件为:

[minw22s.t.   yiw·xi+b-1≥0,i=1,2,…,l]

出现训练样本集无法线性分割时,当引入变量[ξi],则:

[minw22+ci=1lξis.t.   yi(w·xi+b)-1≥1-ξi,ξi≥0,i=1,2,…,l]

式中,[c]是惩罚因子,[c]的大小表示错误分类的惩罚的大小。使用拉格朗日乘子法得到最优决策函数:

[f(x)=sgnyiai(x·xi)+b]

式中:[a]是拉格朗日系数,这种方案只针对[ai]的非零部分,相应的样本是支持向量;[b]是分类阈值。

将非线性问题转换为线性问题:通过非线性变换把问题转换成高维空间求解分类面问题。之后通过使用RBF核函数在不增加计算复杂度的基础上实现非线性变换后的线性分类,最后最优决策函数变为:

[f(x)=sgni=1lyiaik(x·xi)+b]

1.2  ALO算法的理论基础

ALO 算法是Seyedali Mirjalili在2015年提出的模仿自然界中蚂蚁狩猎机制的新颖自然启发式算法。模仿自然界中的蚂蚁的狩猎机制,拥有调节参数少、寻优精度较好等优点。ALO算法模型原理如下:

蚂蟻在搜索空间中通过随机游走来找寻食物,蚁狮利用陷阱捕捉蚂蚁。根据蚂蚁在搜寻食物时随机游走的方式,模拟其随机游走的运动公式为:

[xi=0,cumsum(2r(t)-1)]  (1)

式中:[cumsum]用来计算累计和;[t]表示迭代;[r(t)]是一个随机函数。

随机游走全部基于式(1),但是由于搜索边界问题,式(1)不能直接用于蚂蚁位置的更新。为了防止越界,使用以下等式(最大最小归一化)进行归一化处理:

[xti=(xti-ai)*(dti-cti)bi-ai+ci]

式中:[ai]表示第[i]维变量随机游走的最小值;[bi]表示第[i]维变量随机游走的最大值;[cti]是第[t]次迭代中第[i]维变量随机游走的最小值;[dti]是第[t]次迭代中第[i]维变量随机游走的最大值。

[I=10w·tT]

[w=2,      t>0.1T3,      t>0.5T4,      t>0.75T5,      t>0.9T6,      t>0.95T]

式中:[t]是当前迭代次数;[T]为最大的迭代次数;[w]为基于当前迭代定义的常数,其可以调节搜索的准确性。

蚁狮在蚂蚁到达坑底时捕捉蚂蚁是狩猎的最后阶段。在这个阶段之后,蚁狮把蚂蚁拖进沙坑吃掉。为了模拟这个过程,假设当蚂蚁进入沙子内部时,蚁狮开始捕捉蚂蚁。然后需要一个蚁狮把它的位置更新到被狩猎的蚂蚁的最新位置,以增加捕捉新猎物的机会。

[Antlionti=Antti,  f(Antti)>f(Antlionti)]

当蚁狮捕获蚂蚁后,其位置更新到蚂蚁位置以增强其捕获猎物的机会,更新算子如下:

[Antti=RtA+RtE2]

式中:[RtA]是蚂蚁按上一代蚁狮种群的适应度值,用轮盘赌方法选一个蚁狮,并围绕该蚁狮进行随机游走后的位置;[RtE]显示[t]次迭代时围绕精英蚁狮进行随机游走之后的位置;[Antti]表示第[t]次迭代的第[i]维蚂蚁的位置。

1.3  PCA的引入

主成分分析法是一种空间映射的方法,其将常规正交坐标系的变量通过矩阵变换操作映射到另一个正交坐标系中的主元,以此达到降维的目的,具体步骤为:

1) 数据标准化。原始的数据样本组成的集合为[X=(X1,X2,…,Xn)],[n]为样本维数,由于原始数据的单位不一样,使数据差异过大会带来负面的影响,所以要对[X]进行标准化处理:

[x*ij=xij-xjSj∈X]

式中,[xj]和[Sj]分别为第[j]维的样本指标和标准差。

2) 计算协方差矩阵。

3) 求特征值和特征向量。根据特征方程[(λ-S)U=0]求解[S]的特征值[λ]和特征向量[U]。

4) 确定主成分。根据[λ]的大小确定主成分的顺序,并计算各个主成分的方差贡献率。若当前[t]个主成分的累计贡献率达到90%时,则选择前[r]个主成分作为输入数据。

2  ALO?SVM网络入侵检测方法

本文在提出PCA算法的基础增加了在ALO?SVM网络入侵检测方法,旨在提高检测率的基础上,提高检测的速度。

本文整体的基本思想是,首先用PCA对网络入侵数据进行主成分提取,以此提高入侵检测模型的性能。然后使用ALO算法对SVM的惩罚因子[c]和核函数宽度[σ]进行优化建模,并将网络入侵检测确率作为适应度函数。最后将处理完成的数据在入侵检测模型中进行检验。其实现步骤如下:

1) 主成分提取。因为KDDCUP99数据集中41维数据会有无用特征和数据冗余现象。以下是在惩罚因子[c]取100,核函数宽度是[σ]取0.112 的情况下,利用SVM做入侵检测得到的结果,如图1所示。

从图1可以看出,不同维度检测结果不稳定,这是因为数据集中有杂质数据,给检测结果带来了影响。本文使用PCA算法将高维度的KDD CUP 99数据集进行处理,去除无关属性保留下最重要的一些特征,从而提高检测速度和准确率。

2) 要初始化[ALO(c,σ)],初始化蚂蚁和蚁狮的种群规模[N],设置最大迭代次数[T],[d]为搜索空间维度,并给出最大和最小的加权因子[ωmax,ωmin]。

3) 使用适应度函数计算每只蚂蚁和蚁狮的个体适应度值,寻找当前最优蚁狮并作为当前精英个体保存,代入入侵检测正确率作为适应度函数计算适应度值。

4) 迭代。在迭代过程中更新蚂蚁的位置,并用轮盘赌的方法选择蚁狮个体。

5) 找出当前最佳的精英蚁狮对应的适应度值和所处的空间位置。

6) 判断结束条件。达到迭代终止条件结束搜索,否则返回步骤3)。

7) 迭代完成,提取SVM的最优参数,并用最优参数训练降维之后的数据进行建模。

8) 使用测试数据来检测建立的模型,输出结果。

算法的目的是在减少冗余数据检测过程中消耗资源的前提下,并利用ALO快速寻优,在提高检测速度的基础上提高检测率。

3  实  验

KDD CUP 99数据集源自麻省理工学院林肯实验室进行的IDS计划,该计划于1998年首次评估,并于1999年再次评估。该计划由DARPA资助,产生了通常被称为DARPA98的数据集。 随后,该数据集被过滤以用于国际知识发现和数据挖掘工具竞赛,从而产生大家认为的KDD CUP 99数据集[10]。

3.1  数据集处理

文中选择10%的训练集作为实验数据,因为10%的训练集的数据量仍然庞大,因此实验随机抽取10 000条10%的训练集数据作为训练集,随机抽取10 000条10%的训练集数据作为测试集。KDD CUP 99数据集特征维度为41维和1个标签。大部分数据为数字型数据,部分特征和标签为字符型数据,实验中将其转化成数字型数据,然后对数据进行归一化处理。

在数据特征提取方面,经过主成分分析之后,发现前15维的累计贡献率就达到了96.02%,所以提取前15维作为主成分分析特征提取的主成分进行输入,作为SVM的学习样本。在技术指标方面,本文中采用文献[11]提出的检测方法进行评价。

3.2  实验结果

本文在种群规模[N=30]和最大迭代次数[T=30]的情况下选择基于PCA?ALO?SVM算法、蚁狮算法优化SVM 神经网络 (ALO?SVM)和粒子群算法优化SVM 神经网络(PSO?SVM)进行对比实验。三种方法检测率对比图如图2所示。

通过图2得知,基于ALO?SVM的入侵检测方法的检测指标基本上都高于基于PSO?SVM的入侵检测方法,说明在本实验中ALO算法替代PSO算法的有效性,提高了SVM入侵检测的性能。同时,通过表1可知PCA?ALO?SVM算法所用的检测时间比ALO?SVM算法短,速度提高2~3倍。这是因为PCA对数据集进行降维,有效地缩短了神经网络入侵检测的时间。

图3可知,基于PCA?ALO?SVM入侵检测方法的检测正确率和精度比另外两种方法都高,同时漏报率和误报率也最低。由此证明了基于PCA?ALO?SVM入侵检测方法良好的检测性能。

4  结  论

本文提出基于PCA?ALO?SVM算法的入侵检测技术,并将该方法与基于ALO?SVM的入侵检测和基于PSO?SVM算法的入侵檢测技术进行对比。首先输入数据集,对数据集进行预处理,对数据进行降维处理,再利用ALO算法选取最佳适应度粒子作为SVM的最佳惩罚因子[c]和径向基核参数[σ],将处理后的数据作为检测模型的训练集,最后通过测试集数据进行分类测试。实验结果表明,该方法在综合了SVM和ALO算法的优点,利用PCA提高了检测速度,解决了传统入侵检测的检测率不高、收敛速度慢的问题,达到实验预期目标,为入侵检测技术提供了一种新思路。

注:本文通讯作者为单欣欣。

参考文献

[1] SULTANA A, JABBAR M. Intelligent network intrusion detection system using data mining techniques [C]// 2016 2nd International Conference on Applied and Theoretical Computing and Communication Technology. Bangalore: IEEE, 2016: 329?333.

[2] 杨光.国外入侵检测系统现状的研究[A].公安部第三研究所.信息网络安全 2016增刊[C].公安部第三研究所,2016:3.

[3] PARK Kinam, SONG Youngrok, CHEONG Yun?Gyung. Classification of attack types for intrusion detection systems using a machine learning algorithm [C]// 2018 IEEE 4th International Conference on Big Data Computing Service and Applications. Bamberg: IEEE, 2018: 1021?1027.

[4] 刘铭,吴朝霞.支持向量机理论与应用[J].科技视界,2018(23):68?69.

[5] 李振刚,甘泉.改进蚁群算法优化SVM参数的网络入侵检测模型研究[J].重庆邮电大学学报(自然科学版),2014,26(6):785?789.

[6] MIRJALILI Seyedali. The ant lion optimizer [J]. Advances in engineering software, 2015, 83: 80?98.

[7] MEHER P K, SAHU T K, RAO A R. Performance evaluation of neural network, support vector machine and random forest for prediction of donor splice sites in rice [J]. Indian journal of genetics & plant breeding, 2016, 76(2): 173.

[8] SONG Y, JIN Q, YAN K, et al. Vote parallel SVM: an extension of parallel support vector machine [C]// 2018 IEEE Smart World, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation. Guangzhou: IEEE, 2018: 1942?1947.

[9] KARAMIZADEH S, ABDULLAH S M, MANAF A A, et al. An overview of principal component analysis [J]. Journal of signal and information processing, 2013(4): 173?175.

[10] DIVEKAR A, PAREKH M, SAVLA V, et al. Benchmarking datasets for anomaly?based network intrusion detection: KDD CUP 99 alternatives [C]// 2018 3rd IEEE International Conference on Computing, Communication and Security. Singapore: IEEE, 2018: 17?24.

[11] SINGH R, KUMA R H, SINGLA R K. An intrusion detection system using network traffic profiling and online sequential extreme learning machine [J]. Expert systems with applications, 2015, 42(22): 8609?8624.

猜你喜欢
入侵检测支持向量机数据处理
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
动态场景中的视觉目标识别方法分析
论提高装备故障预测准确度的方法途径
基于熵技术的公共事业费最优组合预测
基于关联规则的计算机入侵检测方法
基于支持向量机的金融数据分析研究
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用