基于改进蝙蝠算法的工业控制系统入侵检测

2017-11-01 11:52,,
关键词:蝙蝠分类器局部

, ,

(1.华东理工大学化工过程先进控制和优化技术教育部重点实验室,上海 200237; 2.中国信息安全测评中心,北京 100085)

基于改进蝙蝠算法的工业控制系统入侵检测

李金乐1,王华忠1,陈冬青2

(1.华东理工大学化工过程先进控制和优化技术教育部重点实验室,上海200237;2.中国信息安全测评中心,北京100085)

针对蝙蝠算法(BA)易陷入局部极小的缺点,提出了两点改进:(1)在蝙蝠位置更新时考虑了当前局部最优解分布对算法的影响;(2)将差分进化算法(DE)中的变异操作迁移到蝙蝠算法中,采用随机性变异的方式增加了种群多样性,提升了算法局部搜索能力,并通过典型测试函数验证了本文算法的优越性。将该算法用于工业控制系统(ICS)入侵检测中支持向量机(SVM)分类器的参数优化,使用工控入侵检测标准数据集进行仿真研究。结果表明,与DE、粒子群算法(PSO)和遗传算法(GA)等优化算法相比,其优化的SVM入侵检测模型在检测率、漏报率和误报率等指标上都有显著提升。

改进蝙蝠算法; 最优解分布; 差分进化算法; 支持向量机; 工业控制系统; 入侵检测

“震网”病毒[1]敲响了工业控制系统(Industry Control System,ICS)信息安全的警钟。2016年11月3日工信部下发了《工业控制系统信息安全防护指南》,强调了构建ICS信息安全防御体系的重要性。工业防火墙因其无法抵挡来自局域网内部的攻击,使得防御显得被动。入侵检测作为继防火墙之后的第2道防线[2],能够起到主动防御的作用,因此,研究ICS入侵检测技术成为信息安全领域的一个热点[3-5]。

入侵检测在本质上可以归类为模式识别中的分类问题[4],常用的入侵检测分类算法有神经网络、支持向量机(SVM)、决策树等[6]。其中,SVM作为一种统计学习方法,以其优越的分类性能被广泛应用于入侵检测系统的构建,但其分类性能主要依赖于惩罚常数C和核函数参数g的选择[3],参数选取的适当与否直接关系到入侵检测分类效果的优劣。因此,SVM入侵检测分类器参数C和g的优化成为研究的重点和难点。随着智能优化算法的迅猛发展,一些随机优化算法如遗传算法(GA)、粒子群算法(PSO)等[7]被应用于工业控制系统入侵检测领域并发挥了重要作用。王华忠等[7]应用改进的PSO算法优化SVM入侵检测分类器的参数,构建了PSO-SVM工控入侵检测框架并取得了良好的效果。尚文利等[8]使用PSO对单类支持向量机(OCSVM)的参数进行优化,提出了PSO-OCSVM的工业控制系统入侵检测算法,通过仿真验证了算法的有效性。

蝙蝠算法[9](BA)是通过模拟蝙蝠利用回声定位进行搜索和捕食的特性模拟出的一种实数编码型全局随机搜索算法。BA算法模型简单,需要调节的参数少且在低维空间寻优效果好,因此特别适合用于SVM入侵检测分类器的参数寻优。BA与其他随机优化算法一样也容易陷入局部极小[10],因此本文对基本蝙蝠算法提出了两点改进:(1)不仅考虑当前全局最优解在算法中的作用,也考虑当前局部最优解的分布对算法的影响,使得算法向潜在的全局最优方向搜索;(2)因BA缺乏变异机制,故将差分进化算法 (DE)[11]的变异引入BA,采用随机性变异的方法增加算法的种群多样性,增强了算法的局部搜索能力。将改进蝙蝠算法(IBA)用于工业系统入侵检测中对SVM分类器参数进行寻优,使用密西西比州立大学(MSU)工控入侵检测标准数据集[2]进行验证,在MATLAB平台下进行仿真测试,结果验证了本文算法的有效性。

1 改进的蝙蝠算法

1.1基本蝙蝠算法

fi=fmin+(fmax-fmin)β

(1)

(2)

(3)

其中:fi为第i只蝙蝠的脉冲发射频率;fmin和fmax分别为脉冲发射频率的最大和最小值;β为[0,1]的随机数;x*为当前全局最优解。基本蝙蝠算法通过从最优解集中随机选取一个解然后施加随机扰动来获得一个新的解,如式(4)所示。

xnew=xold+εAt

(4)

其中:At是当前蝙蝠种群响度的平均值;ε是在[-1,1]上服从均匀分布的随机值。

响度Ai和脉冲速率Ri的更新公式分别为式(5)和式(6):

(5)

(6)

其中α∈(0,1) ,γ>0。由公式可知,在迭代过程中Ai逐步递减,Ri逐渐递增。

基本蝙蝠算法的迭代过程如下:

Step 1 对算法参数fmin、fmax、γ、最大响度A、响度衰减因子α、最大脉冲频率R0、最大迭代次数IterMax等参数初始化,种群速度和位置进行初始化并计算机每个个体的适应度得到初始化的最优解x*。

Step 5 算法是否达到终止条件或者最大迭代步数,如果是,则算法结束;若否,则返回Step 2继续迭代。

1.2改进的蝙蝠算法

蝙蝠算法和其他优化算法一样都易于陷入局部极小而导致算法的优化性能下降,改进的蝙蝠算法(IBA)主要包括以下两点:

(1) 针对算法的全局和局部搜索能力进行改进,考虑了当前局部极值点的分布对算法搜索的影响。

(7)

令λ1+λ2=1且λ1>0,λ2≥0。

图1 局部极小值分布曲线Fig.1 Local minimum distribution curve

我们期望算法在迭代早期具有较强的全局搜索能力能够跳出局部极小,而在迭代后期以当前全局最优为主进行局部搜索。可以令

(8)

λ1=1-λ2

(9)

(10)

其中:Iter是当前迭代次数;ξ是[0,1]的1个实数。可以分析出随着迭代次数的增大,λ2线性递减,而λ1则从1-ξ线性递增到1。λ1和λ2的变化规律符合预期设想:即迭代初期考虑局部最优解的分布对算法的

影响增强全局搜索能力;迭代后期,以当前全局最优解为主导进行局部搜索,使得算法具有自适应性。同时对速度更新公式采用线性权重递减策略(式(10)),ωmax和ωmin分别为惯性权重的最大和最小值。

(2) 考虑到蝙蝠算法因缺乏变异机制而导致局部搜索能力不强的缺陷,将DE中的变异机制引入BA中,使用随机性变异策略增强种群多样性,提升算法局部搜索能力。本文采用标准DE/rand/1/bin[11]进行变异操作,公式如下:

η=e1-IterMax/(IterMax-Iter+1)

(11)

F=F0×2η

(12)

xnew=xr1+F(xr2-xr3)

(13)

其中:η为变异算子;F为缩放因子;F0为缩放因子的初始值;xr1,xr2,xr3是从当前最优解集中随机选出的3个解。针对这一改进,则将1.1节算法流程中Step 3变更如下:

在改进算法中,无论条件rand1>Ri是否满足,总有新解xnew的产生,增强了种群多样性,进而强化了算法的局部搜索能力,提升了算法的优化效果。

1.3改进蝙蝠算法的验证测试

通过比较改进蝙蝠算法(IBA)与DE、PSO和基本BA算法对标准测试函数的优化效果,验证了改进算法的有效性,测试函数见表1。上述几种算法的种群数量均为50,迭代次数为500,其中IBA和BA的参数取值均相同。由于篇幅限制,本文仅给出Girewank函数和Rosenbrock函数[12]在维度为30时的仿真结果,分别如图2和图3所示。从仿真结果可以看出,IBA的函数优化性能远好于基本BA,且IBA的总体优化效果也优于PSO、DE等算法。

表1 测试函数

图2 Girewank函数优化效果Fig.2 Girewank function optimization results

图3 Rosenbrock函数优化效果Fig.3 Rosenbrock function optimization results

2 基于IBA-SVM的工业控制系统入侵检测算法

2.1SVM算法原理

SVM[3]算法的核心思想是使用VC维理论和结构化风险最小化原理[6],在有限数量的样本上获取具有最佳泛化能力的模型。通过将低维空间的样本数据映射到高维空间进而求解最优分类超平面。SVM通过使用核函数方法,能够有效避免在高维空间的运算,把求解高维空间最优超平面问题简化为原样本空间上的凸二次型寻优问题。SVM有效地解决了样本特征的维数问题且算法的复杂度与维数无关。

假设样本空间为{(x1,y1),(x2,y2),…,(xm,ym)},其中输入xi∈Rn,类标签yi∈{-1,1},m为样本数量,n为输入特征维数。使用SVM进行分类,目标函数以及约束如下:

(14)

(15)

其中:k(xi,xj)为核函数;αi为拉格朗日乘子,最终得到分类结果为

(16)

SVM可选用多种核函数包括多项式核、线性核、高斯核以及傅里叶核等[3]。本文使用高斯核函数,即

(17)

本文使用IBA算法对参数C和g进行优化。此外,传统SVM分类器只针对两分类问题进行求解,本文需对多种入侵形式进行识别,故用一对一方式(one-versus-one,1-v-1 SVMS)构造k(k-1)/2个 SVM分类器(k为分类类别数目),采用最大赢投票法(Max-Wins Voting)实现ICS网络攻击形式的多类分类。

2.2基于IBA-SVM的工控入侵检测算法

采用离线训练的方式构建IBA-SVM入侵检测算法模型,应用工控入侵检测标准数据集进行仿真研究,在训练过程中使用IBA算法搜索SVM入侵检测分类器的最优惩罚常数C和最优高斯核函数参数g,然后使用训练好的SVM入侵检测模型在测试集上进行测试评估,以验证IBA对入侵检测算法模型的参数优化的有效性。IBA-SVM入侵检测模型构建流程如图4所示。算法描述如下:

Step 1 将仿真数据划分为测试数据和训练数据,并进行归一化处理。

Step 2 初始化IBA算法的相关参数(迭代次数、惯性权重最大最小值、搜索边界值、缩放因子初始F0、ξ、γ、频率fmin和fmax、响度衰减因子α、响度A和脉冲速率R)。

Step 3 将SVM参数C和g作为优化对象,使用训练集对SVM模型进行训练,取5折交叉验证意义下的分类精度的相反数作为适应度。

Step 4 根据适应度最小准则,使用IBA算法进行迭代搜索并进行必要的越界处理,找出各个蝙蝠个体的最优解和当前种群的全局最优解。

Step 5 判断是否满足算法终止条件。若迭代已达到最大迭代次数,或者个体的最佳适应度已经达到指定精度,算法结束迭代,转至Step 6;否则返回Step 3循环进行迭代。

Step 6 选择全局适应度最佳的参数C-best和g-best建立SVM分类器模型,最终得到基于IBA-SVM的ICS网络入侵检测模型。

图4 IBA-SVM入侵检测算法流程图Fig.4 Flowchart of IBA-SVM intrusion detection algorithm

3 仿真实验

3.1数据集和预处理

本文使用的数据集是由MSU基础设施保护中心于2014年建立的工控入侵检测标准数据集[2],数据源为天然气管道ICS网络层数据,数据经过数值化处理,共包含4种类别的攻击:命令注入攻击(Command Injection)、响应注入攻击(Response Injection)、拒绝服务攻击(Denial of Service,DoS)、侦察攻击(Reconnaissance)。这4种攻击类别分别对应不同的攻击形式。X=(x1,x2,…,xn,y)为数据集中每一条数据记录的存储形式,其中x1,x2,…,xn为每条数据的n个特征,y为攻击类别标签值。数据集中每条数据包含26个特征和1个标签值。攻击形式和对应的分类标签如表2所示。

表2 攻击形式及仿真分类标签

3.2仿真参数设置

所有算法都由MATLAB语言编程实现,仿真平台:Intel i7-4720 CPU,内存8 GB,Win10 64位操作系统。首先将入侵检测数据集划分为训练集和测试集,从6 000组数据中抽取4 000组作为训练集,余下2 000组作为测试集。IBA算法群初始化:种群大小设置为20,最大迭代次数IterMax=50,搜索维数d=2,F0=0.5,ξ=0.6,fmin=0,fmax=10,γ=0.85,A=5,α=0.95,R0=1,ωmax和ωmin分别为0.9和0.2。本文中PSO、DE、GA等算法迭代次数和种群数量和IBA算法相同。

使用IBA对SVM惩罚常数C和核函数参数g进行迭代寻优,C和g采用实数编码且寻优范围都是0.000 01~10 000。取SVM分类器对4 000组训练数据在5折交叉验证意义下得到的准确率的相反数作为适应度,选取训练过程适应度最优(最小)的SVM入侵检测模型对2 000组测试数据进行分类,评价算法的寻优效果。

3.3仿真结果

3.3.1 训练结果分析 为比较算法的优化效果,除了对基本BA和IBA进行仿真以外,也对DE、PSO及GA的SVM参数寻优进行了评估,种群数量和迭代次数都与IBA算法相同。选择每种算法每代的最佳适应度个体作为当前全局最优解,则迭代寻优过程中,各代最优适应度曲线如图5所示,算法的运行时间和最终的优化精度如表3所示。

图5 不同算法训练精度曲线图Fig.5 Training accuracy curves of each algorithm

表3 训练时间和训练精度

从表3和图5可以看出,IBA算法对SVM训练参数的寻优精度最高为96.84%,GA的寻优能力最弱,训练精度仅为93.20%,PSO和DE寻优精度相当。从算法的收敛速度上看,BA的收敛速度最快,第5代左右就收敛到最优,IBA的收敛代数仅次于BA,但IBA在训练精度上占据绝对优势。

从表3可看出,虽然IBA每一代都会有xnew产生,但是对IBA算法的运行时间影响并不是很大,IBA-SVM训练用时比BA-SVM仅增加了0.87% (11 s),因此在算法运行时间层面上并不会影响IBA算法的正常应用,并且IBA与DE、PSO等算法的运行时间基本保持在同一水平上。GA-SVM的训练时间比本文所列的其他算法都要长许多。

3.3.2 测试结果分析

(1) 总体检测效果分析。检测率、误报率、漏报率是评价入侵检测分类器性能的主要指标[10],基于训练过程中优化得到的SVM的训练参数构建的SVM入侵检测分类器,用2 000组数据进行测试,得到整体的检测率、漏报率、误报率如表4所示。

表4 总体入侵检测结果

IBA-SVM的检测率为97.2%,在所有算法中检测率最高,而BA-SVM的检测率仅为94.6%;同时,IBA-SVM的误报率仅为0.26%,漏报率也仅为1.74%,远远低于其他算法的误报率和漏报率。结合表3可以发现,IBA优化的SVM具有很好的泛化性能,而GA的泛化能力最差,训练精度为93.20%,测试精度仅为88.3%。同时本文也比较了其他算法对该数据集的评估结果,如Naive Bayes算法[7]和标准SVM算法[13]。

(2) 各攻击类别检测效果分析。MSU工控入侵检测标准数据集[2]包含4种类别、7种形式的攻击,针对上述算法的仿真结果统计出各个算法在4种攻击类别上的识别准确率如图6所示。

图6 各个攻击类别的检测率曲线Fig.6 Detection rate curves for each attack category

从图6可以非常明显地看出IBA算法的优越性,IBA-SVM在响应注入攻击、命令注入攻击、拒绝服务攻击和侦察攻击4个方面检测效果都明显高于BA、PSO、DE、GA算法,尤其在命令注入攻击和拒绝服务攻击的检测上性能提升尤为显著。

各个算法针对8种攻击形式(包括正常数据)的检测准确率如图7所示。从整体来看,IBA-SVM针对每种攻击形式的检测率基本上都是最高的,尤其是在NMRI、MFCI、DoS这3种攻击检测性能上,IBA较之于其他几种优化算法优化的SVM入侵检测模型,分类性能提升十分显著。同时也可以看出,各个算法对Normal、CMRI、RECO等类别的数据检测率都非常高,尤其是对RECO,各算法对该攻击都有接近100%的检测率。

图7 各个攻击形式的检测率曲线Fig.7 Detection rate curves for each attack form

图8所示为IBA-SVM入侵检测模型对测试集中2 000组数据的实际分类结果和理论分类结果的对比结果,从图中可以直接观察出测试集数据的分布和错误分类数据的分布情况。

图8 IBA-SVM测试数据分类结果Fig.8 IBA-SVM classification results of test data

4 结束语

蝙蝠算法是一种新兴的全局随机搜索算法,但具有易陷入局部最优、局部深度搜索能力弱、优化精度低等缺陷。本文针对这些缺陷,提出了2点改进。首先考虑随机局部最优点对算法搜索的影响,在速度更新公式加入随机局部最优解的作用,让算法具有自适应性:即在迭代初期考虑全局性,迭代后期专注于局部深度搜索。其次是将差分变异引入BA算法中,采用DE/rand/1/bin模式进行变异操作,增加了种群多样性和局部深度搜索能力,从而提高了算法的优化精度。基于IBA,本文建立了基于IBA-SVM的ICS入侵检测模型,用IBA算法对SVM的参数C和g进行寻优。使用MSU的ICS入侵检测标准数据集进行仿真研究,结果表明:IBA-SVM入侵检测精度最高,且误报率、漏报率等各项指标均优于经BA、PSO、DE及GA等算法优化的SVM入侵检测模型,验证了IBA在实际工程应用场景中的有效性,拓展了IBA的应用领域。

[1] JIANG J,YASAKETHU L.Anomaly detection via one class svm for protection of scada systems[C]// 2013 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (Cyber C).USA:IEEE,2013:82-88.

[2] NADER P,HONEINE P,BEAUSEROY P.One-class classification for intrusion detection in SCADA systems [J].IEEE Transactions on Industrial Informatics,2014,10(4):2308-2317.

[3] YOO H,SHON T.Novel approach for detecting network anomalies for substation automation based on IEC 61850[J].Multimedia Tools and Applications,2015,74(1):303-318.

[4] BERE M,MUYINGI H.Initial investigation of industrial control system (ICS) security using artifiicial inmue system (AIS)[C]//Internation Conference on Emerging Trends in Networks and Computer Communication.USA:IEEE,2015:79-84.

[5] GAO W,MORRIS T,REAVES B,etal.On SCADA control system command and response injection and intrusion detection[C]//eCrime Researchers Summit (eCrime),2010.USA:IEEE,2010:1-9.

[6] BEAVER J M,BORGES-HINK R C,BUCKNER M A.An evaluation of machine learning methods to detect malicious SCADA communications[C]//International Conference on Machine Learning and Applications.USA:IEEE,2013:54-59.

[7] 王华忠,杨智慧,颜秉勇,等.融合PCA和PSO-SVM方法在工控入侵检测中的应用[J].科技通报,2016(1):80-85.

[8] 尚文利,李琳,万明,等.基于优化单类支持向量机的工业控制系统入侵检测算法[J].信息与控制,2015,44(6):678-684.

[9] 郑云水,岳小雪,林俊亭.带有高斯变异的混合蛙跳蝙蝠算法[J].计算机应用研究,2015,32(12):3629-3633.

[10] 刘羿.蝙蝠算法优化神经网络的网络入侵检测[J].计算机仿真,2015,32(2):311-314.

[11] 肖辉辉,段艳明.基于DE算法改进的蝙蝠算法的研究及应用[J].计算机仿真,2014,31(1):272-277.

[12] 龙文,张文专.求解约束优化问题的改进蝙蝠算法[J].计算机应用研究,2014,31(8):2350-2353.

[13] GAO W.Cyberthreats attacks and intrusion detection in supervisory control and data acquistion networks[M].[s.l.]:Dissertations & Theses-Gradworks,2013.

IntrusionDetectionofIndustrialControlSystemBasedonImprovedBatAlgorithm

LIJin-le1,WANGHua-zhong1,CHENDong-qing2

(1.KeyLaboratoryofAdvancedControlandOptimizationforChemicalProcesses,MinistryofEducation,EastChinaUniversityofScienceandTechnology,Shanghai200237,China;2.ChinaInformationTechnologySecurityEvaluationCenter,Beijing100085,China)

Aiming at the local minima problem of the standard bat algorithm (BA),this paper makes two improvements.Firstly,the current local optimal solution distribution is considered during the updating of bats’ positions.Secondly,the random variation operation in differential evolution (DE) algorithm is introduced into BA to increase the diversity of the population and enhance the local search ability of the BA algorithm.Besides,the superiority of the proposed algorithm is illustrated by means of typical test functions.Moreover,the proposed algorithm is applied to the parameters optimization of support vector machine (SVM) classifier in industrial control system (ICS) intrusion detection model.The simulation results from the standard dataset for industrial system intrusion detection show that,compared with DE,particle swarm optimization (PSO) and genetic algorithm (GA),the optimized SVM intrusion detection model via the proposed algorithm can effectively improve the detection rate,false negative rate,and false alarm rate.

improved bat algorithm; optimal solution distribution; DE; SVM; ICS; intrusion detection

TP309

A

1006-3080(2017)05-0662-07

10.14135/j.cnki.1006-3080.2017.05.010

2016-11-15

李金乐(1990-),男,安徽滁州人,硕士生,主要研究方向为工业系统信息安全。E-mail:1148523890@qq.com

王华忠,E-mail:hzwang@ecust.edu.cn

猜你喜欢
蝙蝠分类器局部
局部分解 巧妙求值
爨体兰亭集序(局部)
非局部AB-NLS方程的双线性Bäcklund和Darboux变换与非线性波
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
蝙蝠
局部遮光器
蝙蝠女
基于层次化分类器的遥感图像飞机目标检测
蝙蝠为什么倒挂着睡觉?