杨智慧,王华忠,颜秉勇,陈冬青
(1.华东理工大学化工过程先进控制和优化技术教育部重点实验室, 上海200237;2.中国信息安全测评中心, 北京100085)
基于改进粒子群优化SVM的多分类入侵检测研究
杨智慧1,王华忠1,颜秉勇1,陈冬青2
(1.华东理工大学化工过程先进控制和优化技术教育部重点实验室, 上海200237;2.中国信息安全测评中心, 北京100085)
摘要:针对工控网络数据的高维特性以及攻击方式多样性而导致传统入侵检测算法检测准确率低等问题,采用改进粒子群(PSO)算法优化支持向量机的参数,提出改进的PSO-SVM多分类入侵检测方法。该方法将SVM参数作为改进PSO的粒子,将SVM分类准确率作为PSO的目标函数进行全局搜索以确定SVM的最优参数,建立基于改进PSO-SVM的“一对一”多分类工控入侵检测模型。最后采用密西西比州立大学关键基础设施保护中心提出的工控标准数据集进行仿真实验,结果表明,该算法针对不同的攻击方式的平均检测准确率均能达到90%以上,能够准确识别攻击类型,可为工控系统入侵检测提供有效方法。
关键词:入侵检测;粒子群;支持向量机;多分类
0引言
入侵检测系统(intrusion detection system,IDS)是信息安全领域的重要防御技术。在信息化与工业化深度融合[1]的发展趋势下,越来越多的工业控制系统使用分布式架构连接到外部企业网络和互联网。现代工业控制系统正逐步朝着更加开放和标准的方向发展,使用标准通信协议在优化工业生产和通信过程的同时也增加了工业控制系统的安全风险。近年来,继伊朗“震网”病毒事件后,恶意攻击事件正在不断向工业控制领域蔓延。因此,入侵检测已成为工业控制系统网络安全领域的研究热点[2]。
支持向量机(support vector machine, SVM)是一种基于统计学习的机器学习算法[3],目前已被广泛应用于工业控制系统网络入侵检测领域[4]。Justin等[5]研究了机器学习算法,如SVM、朴素贝叶斯等应用于工业控制系统入侵检测的可行性,并应用工业控制系统提取的标准数据集对多种机器学习方法的查准率、查全率进行评估。Jiang等[6]初探了SVM算法在SCADA系统入侵检测领域的应用,并应用通信系统提取的网络数据集进行仿真实验,结果表明SVM算法具有较好的检测效果。
工控网络通信协议数据的高维特性以及攻击方式的多样性导致传统SVM算法检测准确率低。SVM入侵检测算法的分类性能主要取决于核函数各参数的取值[7]。粒子群算法(particle swarm optimization, PSO)作为一种基于迭代的优化技术,具有遗传算法的优点,其运算速度快,容易实现,将其应用于SVM参数寻优非常适合。基于PSO对SVM进行参数寻优的方法已被广泛应用在网络入侵检测领域[8],但PSO优化SVM参数具有陷入局部最优的缺陷[9]。为了解决上述问题,对粒子群的ω权重进行改进,ω随着迭代次数的增加线性增加,当迭代次数达到某一阈值时,重置ω值,使算法快速跳出局部极值。与传统遗传算法相比,改进PSO-SVM具有收敛速度快,精度高的特点。为此,本文构建基于改进的PSO-SVM多分类模型,应用密西西比州立大学关键基础设施保护中心提供的工控数据集进行仿真实验,结果显示,本文提出的算法相比PSO-SVM算法具有较高的检测准确率以及较低的漏报率与误报率,并能够准确识别攻击类型。
1改进PSO-SVM入侵检测算法
1.1支持向量机
支持向量机(Support Vector Machine)最早是由贝尔实验室Vapnik等提出的基于统计学理论的机器学习方法[10-11],该方法在小样本、高维的图像识别、生物信息学等领域得到了广泛的应用。支持向量机依据小样本数据建立相关模型,利用非线性映射将低维空间的数据映射到高维特征空间,并在高维特征空间构造最优分类超平面。样本数据中离最优超平面最近且位于与超平面平行的平面上的样本数据称作支持向量(Support Vector, SV)。求解最优超平面可归结为在原空间上求解如下的凸二次规划问题,即在约束条件为:
(1)
求解目标函数的最小值:
(2)
其中,C为误差惩罚系数,引入Lagrange乘子方法将该问题转化为如下的对偶形式:
(3)
且满足如下约束条件:
(4)
其中,k(x(i),x(j))为核函数,αi为Lagrange乘子,利用得到的αi,b及支持向量,得到相应的分类模型,即:
(5)
其中,sgn()为符号函数,可通过函数的正负判断样本集数据的类别。使用不同核函数可以建立不同的SVM分类器模型,径向基核函数(RBF)具有分类准确率高,运行时间短的特点。因此,本次研究使用核函数为:
(6)
1.2改进PSO对SVM参数的优化
PSO算法是美国研究者提出的一种基于群智能方法的优化计算技术[12],具有收敛速度快的优点。该算法是通过模拟鸟类等动物的觅食过程,在优化问题的解空间内,随机初始化PSO算法的每个粒子的初始位置,并使之具有一定的初始速度;计算每一个粒子的适应度函数值,通过对每一代适应度值确定粒子的个体最优位置(pbest)和全局最优位置(gbest);在搜索到两个最优位置之后,粒子通过跟踪个体最优位置和全局最优位置来不断更新自己的速度和位置。算法的数学描述如下:
(7)
(8)
其中,ω为惯性权重,c1,c2为加速因子,pbest为个体最优值,gbest为全局最优值。粒子速度的更新是由当前速度、个体最优和全局最优共同作用完成的。
为了增强算法的全局搜索能力,本研究对粒子群的ω权重进行改进,ω随着迭代次数的增加线性增加,当迭代次数达到某一阈值时,重置ω的初始值,使算法快速跳出局部极值,以便找出最优解。具体描述如下:
(9)
式中,iter表示迭代次数,itersum表示总的进化次数,itermax表示迭代次数的阈值,ωmax表示最大惯性权值,ωmin表示最小惯性权值。
改进的PSO优化SVM参数的步骤如下:
Step 1:初始化粒子群,设定算法的当前迭代初始值为iter=1,设定总的迭代次数itersum和迭代次数的阈值itermax,并设置算法的惯性权重值ωmax和ωmin。
Step 2:通过适应度函数计算每个粒子的适应度值,并根据式(7)、(8)、(9)不断迭代更新粒子的位置。
Step 3:通过适应度值最大原则对粒子群中的各个粒子进行迭代搜索,对于每个粒子,将适应度函数值与其pbest对应的适应值进行比较,若优于最优值,则更新pbest,否则保留原值。然后比较更新后的各个粒子的pbest与全局极值gbest,若优于群体最优值,更新gbest,否则保留gbest原值不变[13]。
Step 4:判断是否满足算法终止条件,若已达到最大迭代次数,或者粒子的适应度值不再变化,则算法结束,否则返回Step 3进行迭代。
1.3构建改进PSO-SVM多分类模型
传统的SVM算法是针对二值分类而提出的,但在实际入侵检测中对攻击类别的判断都需要构造多分类器来实现[14]。本研究采用间接法,即通过对多个二分类器进行组合来实现多分类器。由于一对多法(one-versus-rest,1-v-r SVMS)对单一的二分类器要求较高,因此,采用一对一法(one-versus-one,1-v-1 SVMS), 这需要构造n(n-1)/2个SVM,每个SVM由相应的两类样本训练。例如,在第i类和第j类寻找最优超平面,设相应的训练集为:
(xij,t,yij,t), t=1,2,…,nij,xij,t∈Rd,yij,t∈{i,j},
(10)
(11)
(12)
采用式(5)建立n(n-1)/2个SVM模型后,应用最大赢投票法(Max-Wins Voting)对检测样本集进行分类,即对n个类的训练样本任意两类使用二分类SVMij进行比较,每次竞争淘汰,直至最后优胜分类机输出的类别即为测试样本的类别。
2入侵检测仿真实验
2.1数据源
为了验证本文提出的基于改进的PSO-SVM入侵检测系统的有效性,采用密西西比州立大学关键基础设施保护中心于2014年提出的用于工控系统入侵检测评估的数据集。该数据集为储水池控制系统中注入攻击提取的网络数据[15],并且已经进行数值化处理,数据集包括三大类攻击类型:命令注入攻击(CommandInjection)、响应注入攻击(ResponseInjection)、拒绝服务攻击(DenialofService,DoS),每个攻击类型分为不同的攻击方式。在数据集中,每条网络数据包括27个标记特征,其中26个为连接特征,1个为标记。
为了分析训练样本与测试样本数目对检测结果的影响,定义sumi为每类攻击的样本总数,参数α作为划分训练样本数与测试样本数的控制因子,在模型中,训练样本数为α×sumi,测试样本数为(1-α)×sumi。
2.2数据预处理
标准化处理:从工业控制系统网络提取的样本数据其特征值为不同的度量单位,具有不同的特征属性,为了消除这些因素对数据分析结果的影响,进行数据标准化预处理:
(13)
其中,Xmax=1,Xmin=0,即[0,1]标准化处理。
提取主成分:对提取的样本数据进行降维处理是入侵检测的必要环节。本文采用主成分分析法(PCA),准确地提取反映数据属性的信息主元,累计贡献率设为90%。本研究中通过PCA方法提取了4个反应攻击特征的主成分变量。
2.3基于改进PSO的SVM参数优化
图1 改进PSO优化SVM参数 Fig.1 Improved PSO optimized SVM parameters
取α=0.45,此时总体训练样本数为1 705,测试样本总数为2 202,每类攻击的训练样本数为0.45×sumi,测试样本总数为0.55×sumi。运用改进PSO算法进行SVM参数寻优,其中粒子数选择20。图1为改进PSO优化SVM参数的结果。由图1可知,当PSO进化到23代时,取得了分类准确率最优值98.35%。
表1为PSO算法、遗传算法(GA)对SVM参数进行优化的对比结果。由表1可以看出,本文所提出的改进PSO算法虽然时间成本提高,但准确率最高;PSO算法虽然收敛速度较快,但准确率偏低;而GA优化效果最差。因此,本文提出的改进PSO优化算法对SVM具有良好的参数寻优效果。
表1 优化结果对比
2.4攻击检测实验结果分析
2.4.1本文算法的检测结果
为了对攻击类型进行检测,本文用数字1~6对不同的攻击类型进行标记,其详细的数据描述如表2所示。
表2 数据描述
取α=0.45时,得到基于改进PSO优化SVM参数的支持向量机多分类器入侵检测模型。用这些分类器对测试样本集进行预测,结果如图2所示。由图2可知,标记为1,2,3,4,6的攻击检测结果均具有较高的准确率,并且具有低的漏报率与误报率,标记为5的攻击类型准确率略低,存在一定的漏报率,但仍具有良好的检测效果。
图2 多分类器入侵检测结果
2.4.2样本个数对入侵检测结果的影响
为了分析训练数据集的样本个数对测试数据集分类准确率的影响,对α参数选取不同的数值,可得到不同的训练数据集和测试数据集。表3为选取不同的α参数条件下实际的入侵检测结果。由表3可知,当α因子取0.5数值附近时,分类准确率处于较高的水平,当α大于0.5时,分类准确率会有所下降,但依旧保持在90%左右。可以看出,基于改进的PSO-SVM入侵检测模型具有良好的检测效果和稳定性。
表3 不同样本个数算法的入侵检测结果
2.4.3模型评价
为了验证本文算法在入侵检测领域存在优势,采用PSO-SVM、朴素贝叶斯算法的入侵检测查准率结果作为参比模型。表4为本文算法在α=0.45时的检测结果与其他入侵检测算法在查准率、漏报率、误报率三个方面的结果比较。
表4 不同算法对注入攻击性能比较
由表4可知,PSO-SVM和贝叶斯算法在检测注入攻击行为时具有较低的查准率和较高的漏报率。本文算法在检测注入攻击行为时查准率有所提高,并且具有低漏报率与误报率。由此可以说明,本文算法具有良好的检测效果。
3结语
本文提出改进的PSO-SVM入侵检测算法,并采用工控数据集进行仿真实验,验证其可行性。针对具有高维特征的网络数据及传统SVM检测准确率低的难点,使用改进粒子群算法对SVM参数进行寻优,建立最优的支持向量机多分类入侵检测模型。应用密西西比州立大学提供的标准数据集进行验证。研究表明,本文算法可以在非常短的时间内检测到未知攻击,并能准确地识别攻击类型。为了分析训练数据集的样本个数对测试数据集分类准确率的影响,本研究引入α因子。研究发现,α因子取0.5数值附近时,分类准确率处于较高的水平,当α大于0.5时,分类准确率依旧保持在90%左右,具有良好的稳定性,并且该算法比PSO-SVM、朴素贝叶斯算法有较高的准确率和较低的漏报率、误报率。
参考文献:
[1]MANUEL C, LUCA D, ADRIANO V, et al.Review of security issues in industrial networks[J]. IEEE Transactions on Industrial Informatics, 2013,9(1):277-293.
[2]FAN X H, FAN K F, WANG Y, et al.Overview of cyber-security of industrial control system.[C]//2015 International Conference on Cyber Security of Smart cities, Industrial Control System and Communications.Shanghai: IEEE Press, 2015:1-7.
[3]顾嘉运,刘晋飞,陈明.基于SVM的大样本数据回归预测改进算法[J]. 计算机工程,2014,40(1):161-166.
[4]KANG D H, KIM B K, NA J C.Cyber threats and defence approaches in SCADA systems[C]//Advanced Communication Technology (ICACT).Pyeongchang: IEEE Press, 2014:324-327.
[5]JUSTIN M B, RAYMOND C B, MARK A B.An Evaluation of machine learning methods to detect malicious SCADA communications[C]// International Conference on Machine Learning and Applications. Miami: IEEE Press, 2013:54-59.
[6]JIANG J, LASITY Y.Anomaly detection via one class SVM for protection of SCADA Systems[C]//International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery.Beijing: IEEE Press, 2013:82-88.
[7]HUANG C, WANG C.A GA-based feature selection and parameters optimization for support vector machines[J]. Expert Systems with Applications, 2006,31(2):231-240.
[8]向昌盛,张林峰.PSO-SVM在网络入侵检测中的应用[J]. 计算机工程与设计, 2013,34(4):1222-1225.
[9]鞠秋文.PSO—SVM算法在网络入侵检测中的研究[J]. 计算机仿真,2011.28(4):130-148.
[10]滕少华,樊继慧,陈潇,等.SVM多分类器协同挖掘局域气象数据[J]. 广西大学学报(自然科学版),2014,39(5):1131-1137.
[11]李辉,管晓宏,暂鑫,等.基于支持向量机的网络入侵检测[J]. .计算机研究与发展,2003,40(6):799-807.
[12]乐美龙,黄薇.基于粒子群算法的泊位分配集成优化研究[J]. 广西大学学报(自然科学版),2014,39(1):119-124.
[13]李明,张勇,李军权,等.改进PSO-SVM在说话人识别中的应用[J]. 电子科技大学学报,2007.36(6):212-215.
[14]沈健,蒋芸,邹丽,等.基于节点选择优化的DGA-SVM多类别分类[J]. 计算机工程,2015,41(6):143-146.
[15]MORRIS T, GAO W.Critical infrastructure Protection VIII[M]. IFIP: Springer-Verlag,2014,65-78.
(责任编辑裴润梅)
收稿日期:2016-02-20;
修订日期:2016-04-10
基金项目:国家自然科学青年基金资助项目(51407078)
通讯作者:王华忠(1969—),男,江苏南京人,华东理工大学副教授,博士;E-mail: hzwang@ecust.edu.cn。
doi:10.13624/j.cnki.issn.1001-7445.2016.0779
中图分类号:TP309
文献标识码:A
文章编号:1001-7445(2016)03-0779-07
Research on intrusion detection based on improved particle swarm optimization SVM
YANG Zhi-hui1, WANG Hua-zhong1, YAN Bing-yong1,CHEN Dong-qing2
(1.Key Laboratory of Advanced Control and Optimization for Chemical Processes,East China University of Science and Technology, Shanghai 200237,China;2.China Information Technology Security Evaluation Center,Beijing 100085,China)
Abstract:For the problem of traditional intrusion detection algorithms with low detection accurate rate which is caused by the high dimensional characteristics of the industrial control network data and diversity of attack patterns, a improved particle swarm optimization (PSO) algorithm which used to optimize the parameters of support vector machine (SVM), and an improved PSO-SVM multi classification intrusion detection method is proposed. The support vector machine parameters are optimized by particle swarm of particles while the SVM classification accuracy is used as particle swarm target function for global search to determine the optimal parameters of SVM. Base on the improved PSO-SVM “one to one” classification an industrial intrusion detection mode is established. Finally, the simulation experiment is carried on with the latest proposed industrial standard data sets by the Mississippi State University Center for critical infrastructure protection. The results show that the average detection accuracy rate of the proposed algorithm can reach more than 90% for different ways of attacking, and can identify the type of attack accurately. The improved PSO-SVM provides an effective method for the intrusion detection of industrial control system.
Key words:intrusion detection; particle swarm optimization; support vector machine; multi classification
引文格式: 杨智慧,王华忠,颜秉勇,等.基于改进粒子群优化SVM的多分类入侵检测研究[J].广西大学学报(自然科学版),2016,41(3):779-785.