改进引力搜索算法用于工控系统入侵检测
2020-02-08张晓宇王华忠
张晓宇,王华忠
(华东理工大学 化工过程先进控制和优化技术教育部重点实验室,上海 200237)
0 引 言
入侵检测系统(IDS)[1]是工控系统网络安全防御的重要手段。相比于人工神经网络(ANN)[2]、K近邻[3]和决策树[4]等分类算法,支持向量机(SVM)[5]以其优越的分类性能被广泛地用于入侵检测系统。但是支持向量机在处理不平衡数据的分类问题时,分类精度大大降低[6],而工控系统的数据往往是正常类数据远多于异常数据。基于此,Jayadeva提出了孪生支持向量机(TWSVM)[7]以解决不平衡数据分类性能差的问题。和SVM一样,TWSVM的分类性能也受到参数选择的影响[8],因此本文使用TWSVM作为工控入侵检测的分类器,并使用改进引力搜索算法对其参数进行寻优。
引力搜索算法(GSA)是一种新型的群体优化算法,其原理基于引力定律和相互作用[9]。GSA算法已被证实在收敛效果方面有着更好的性能[10],但是GSA无法保留更新过程中的过去结果,仍存在易陷入局部极小和搜索能力弱的问题。白国振等[11]利用混沌映射产生初始种群;根据距离因子的不同引入不同的惯性权重值改进GSA,通过在轨迹规划的应用对比,验证了改进算法较高的鲁棒性和寻优效率。
本文提出一种引入混沌映射和趋化算子的改进引力搜索算法(IGSA)。通过4个标准基准函数进行仿真,验证了IGSA的优越性能。最后,利用改进引力搜索算法(IGSA)优化TWSVM的参数,构建IGSA-TWSVM入侵检测系统模型,并应用于密西西比州立大学(MSU)工控入侵检测标准数据集,通过训练时间、标准差、检测率等指标的比较,验证了所提算法的优越性。
1 改进引力搜索算法及其验证
1.1 基本引力搜索算法
从粒子j施加在粒子i的力被定义为
(1)
(2)
式中:Mi、Mj分别是与粒子i和粒子j的引力质量,ε是个很小的常量,以防分母为0,t表示当前迭代,Rij(t) 是在第t次迭代时粒子i和粒子j间的欧式距离,G(t) 是在第t次迭代时的引力常数,计算如下
(3)
式中:G0代表初始引力常数,α代表衰减系数,T是最大迭代次数,G(t) 会随着迭代次数的增加而减小。
粒子i的合力定义如下
(4)
t时刻的第d维空间的粒子i的加速度定义如下
(5)
(6)
(7)
根据强弱等价原理,假设引力质量与惯性质量相等。粒子的引力质量是通过适应度函数计算得出的
(8)
(9)
其中,fiti(t) 是第t次迭代时的适应度值,对于最小化问题,best(t) 和worst(t) 定义如下
(10)
(11)
1.2 改进的引力搜索算法及验证
GSA的性能受以下两个主要问题的限制:一是由于多样性的快速减少,导致GSA出现过早收敛的现象;另一个是GSA在搜索过程开始时迅速收敛,而在搜索后期迅速减速。对此,本文提出的两点改进分别在节1.2.1和节1.2.2具体描述。
1.2.1 混沌算法的嵌入
首先针对算法的过早收敛的不足进行改进,本文将混沌操作嵌入引力常量G(t) 中。
从1.1节式(1)、式(2)、式(5)~式(7)可以看出,引力常数G(t) 在搜索后期变化较小,导致了多样性的快速减少,使得算法易陷入局部极小值,因此可以利用混沌算子遍历性和混沌性的性质,将正弦混沌映射引入到引力常量G(t) 中。在迭代过程中,引力常量G(t) 在减小的同时还在混沌地改变,正弦混沌映射公式如下
(12)
其中,在引入过程中,标准化的范围与当前迭代次数成比例地减少,如式(13)、式(14)所示
(13)
(14)
其中,[MIN,MAX] 表示自适应间隔,混沌映射的范围设为 [a,b],由式(14)可以看出,在每次迭代中 [a,b] 映射到 [0,V(t)],而V(t) 随着迭代增加而减小。
因此,本文对1.1节中的式(3)改进为式(15),以此更新引力常数G(t)
(15)
1.2.2 趋化算子的引入
考虑到引力搜索算法在搜索前期迅速收敛,而在搜索后期迅速减速的缺点,本文引入BFA的趋化算子,利用其并行搜索的特点,加快收敛速度。本文采用的趋化算子描述如式(16)、式(17)所示
θi(j+1,k,l)=θi(j,k,l)+C(i)φ(j)
(16)
(17)
其中,θi(j,k,l) 表示第i个细菌在第j次趋化,第k次繁殖和第l次迁移中的位置,C(i) 表示前进步长,φ(j) 是进行方向调整后的随机方向,Δ(i) 是生成的随机单位向量。为了能充分利用群体间的信息交互,本文采用的趋化算子结合了差分进化的变异机制,如式(18)所示
C=λ(Xbest(i)-Xl)+F(Xk-Xr)
(18)
其中,Xbest(i) 代表当前种群适应度值最好的细菌位置,Xl、Xk、Xr是除最优解之外的随机3个细菌粒子的位置。此时的粒子更新公式由1.1节的式(7)改进为式(19)的形式
(19)
通过引入趋化算子,改进后的算法充分利用了当前种群的最优个体信息,提升了收敛速度,提高了算法的性能。
1.2.3 改进引力搜索算法的验证
本节采用了4个标准基准函数来评估所提出的IGSA算法的性能。表1给出了本文使用的标准基准函数,其中Ackley、Girewank为多峰函数,Rosenbrock、Sphere函数为单峰函数,搜索维度都是30维。
表1 测试函数
图1到图4分别是GSA、PSO和IGSA对4个标准测试函数的优化效果图。从4幅图中可以看出,无论是单峰函数还是多峰函数,IGSA的优化性能均明显优于GSA和PSO算法的优化效果,采用引力搜索算法的优化可以更好找到全局最优解,而改进后的引力算法则进一步地逼近全局最优。图1显示的结果可以验证,在对Ackley函数优化时,PSO、GSA算法分别在第100次和第110次迭代后收敛速度迅速减慢,而IGSA还在保持收敛速度。图2到图4 表明IGSA算法在保证了收敛速度快的同时还兼顾着收敛精度高的优点。总体来说,IGSA对本文的4个测试函数的全局收敛精度和局部收敛速度均优于PSO和基本GSA算法。
图1 Ackley函数优化效果
图2 Rosenbrock函数优化效果
图3 Sphere函数优化效果
图4 Girewank函数优化效果
2 IGSA-TWSVM在工控入侵检测中的应用
2.1 TWSVM基本原理
孪生支持向量机(TWSVM)是2007年提出的一种改进SVM算法。TWSVM的原理是使用两个非平行超平面执行分类任务,其中每个超平面要求尽可能接近一个类的样本,并且尽可能远离另一个类的样本,因此TWSVM在解决不平衡数据的分类问题时有着较好的性能。由于工控入侵检测系统的数据是非线性的,因此本文将介绍非线性孪生支持向量机的基本原理。
非线性孪生支持向量机的优化问题可以由式(20)、式(21)表述
min(ω1,b1,
s.t-(K(B,CT)ω1+e2b1)+≥e2,≥0
(20)
(21)
其中,ω1和ω2表示两个超平面的法向量,b1和b2表示两个超平面的偏移向量,e1和e2是适当维度的列向量,c1和c2代表惩罚参数,K代表核函数,C代表所有样本,和η是松弛变量。
对式(20)、式(21)的求解,可以获得如式(22)、式(23)的两个分类非平行超平面
K(xT,CT)ω1+b1=0
(22)
K(xT,CT)ω2+b2=0
(23)
式(22)、式(23)分别对应正类超平面和负类超平面。在对一个新数据样本进行分类时,首先计算这个样本到这一对超平面的距离,被分配到正类或者负类取决于这个距离值。离正类超平面近就被分为正类,反之为负类。具体的决策函数为
Classi=min|K(xT,CT)ωi+bi|,i=1,2
(24)
本文将选择RBF作为TWSVM的核函数,通过核函数将低维的样本空间映射到高维特征空间中,通过非线性变换把原始的非线性不可分的数据变成线性可分的数据。
2.2 基于IGSA-TWSVM的工控入侵检测算法
TWSVM的参数c1,c2和核函数参数g对分类性能起到至关重要的作用。参数c1会影响正类超平面和负类超平面之间的距离。c1如果太小的话,正类超平面和负类超平面会太接近,这将导致分类效果变差。c1也不能太大,否则会忽略样本与超平面之间的距离,分类准确度将会变得非常低。参数c2也有着类似的影响。核参数g如果取得太大,那么TWSVM的分类作用会只作用在支持向量样本附近,会造成训练准确率高但是测试准确率不高的结果。核参数g如果取得太小,会使得TWSVM在训练时无法取得较高的准确率,这也会影响测试集的分类准确率。因此,IGSA算法需要对参数c1,c2和核函数参数g进行优化。
IGSA-TWSVM流程如图5所示。
图5 IGSA-TWSVM入侵检测模型
IGSA-TWSVM算法步骤如下:
Input:入侵数据集
Output:分类器参数组合(c1_best、c2_best、g_best)
步骤1 对数据进行预处理,初始化粒子的随机位置和速度;
步骤2 以c1,c2和g作为优化对象,计算每个粒子的适应度值,取五折交叉验证下的训练精度的相反数作为适应度值;
步骤3 更新本次迭代的最优个体和当前的全局最优解;
步骤4 判断是否达到终止条件,若达到,得到最优参数,否则对粒子的速度和位置进行更新并计算适应度值,并返回步骤2进行迭代循环;
步骤5 选择全局适应度最佳的c1_best、c2_best、g_best作为TWSVM的参数构建IGSA-TWSVM分类器模型。
3 实验验证
3.1 工控入侵检测数据集
本文所用的数据集是2014年由MSU基础设施保护中心建立的标准工控入侵检测数据集[12],原始数据是使用密西西比州立大学内部SCADA实验室提供的天然气管道系统生成的。它包含来自Modbus RTU数据包的4种不同类型的攻击数据。MSU的内部SCADA实验室使用了7类攻击,以便为SCADA系统可能遭受的攻击提供更广泛的视角。数据集的4种攻击类型分别为命令注入攻击(Command Injection,包含MSCI、MPCI和MFCI),响应注入攻击(Response Injection,包含NMRI和CMRI),拒绝服务攻击(denial of service, DoS),侦察攻击(Reconnaissance,RECO)。
3.2 仿真环境设置和评价指标
为测试IGSA-TWSVM入侵检测模型在工控标准入侵检测数据集上的有效性,本文在Matlab2015a(Intel i5-4200U CPU 2.5GHZ,4G内存,Win7 64位操作系统)环境下进行仿真实验。实验中参数设置为:种群大小为20,最大迭代次数为50,引力常量G0=100,引力系数衰减因子α=20,搜索维数d为3。
本文以平均适应度值、标准差、训练时间、检测率、漏报率和误报率几类数据作为评价指标。其中,检测率、误报率、漏报率的定义如下
3.3 仿真结果及分析
本文为更好地评估IGSA算法的优越性,将其与改进前的GSA 和其它主流算法PSO进行比对。使用以上4种算法分别对TWSVM算法进行参数寻优并在相同种群数量下进行训练和测试。为保证算法能够迭代至最优参数,迭代次数均取50次,GA交叉概率取0.65,变异概率为0.06,PSO算法的学习因子c1=c2=2.0,惯性权重由0.9至0.3线性减少。各个算法的当前全局最优解定义为每一代的最佳适应度值所对应的个体。
通过图6可以明显地看出改进后的IGSA不仅收敛速度快且优化效果好。相比其它算法,从收敛速度上看,IGSA算法迭代至第八代时已经达到最优,其它3种算法至少需迭代至10代以后,从适应度值上看,IGSA算法的适应度值整体均高于其它几种算法,故改进后的IGSA算法对TWSVM算法的参数寻优效果最好。实验的几项评价指标见表2。
图6 各个算法适应度值曲线
表2 各个算法的实验结果
通过表2的实验数据可以看出,各个算法优化 TWSVM 参数的训练时间远小于GSA算法优化SVM参数的训练时间。这是因为SVM直接求解单个大型分类问题,而TWSVM可以将其分解为两个小规模的分类问题进行求解,这使得每个二次规划问题的约束条件数目缩减为原来的1/2,训练时间理论上缩减到SVM的1/4。但是本文在每一次的迭代中嵌入了混沌操作和趋化算子操作,因此 IGSA-TWSVM 的训练时间只缩短至一半以内。IGSA-TWSVM最差适应度已达到94.2%,最优适应度高达97.8%,远超其它几种算法,且训练时间只需474.27 s,标准差只有0.010 09,在保证优化效果较高的情况下兼顾训练时间短、稳定性高的优点。综上,使用本文提出的 IGSA 算法对TWSVM进行参数寻优,应用于工控系统入侵检测方面在速度和准确率上均有优势。
为验证IGSA-TWSVM算法的有效性,本文将训练过程中使用不同算法优化过的TWSVM分类器基于1000组测试数据进行测试,得到表3所示的总体入侵检测结果。
表3 总体入侵检测结果/%
通过表3中不同算法的检测结果可以发现,IGSA-TWSVM 检测正确率高达98.2%,误报率仅0.45%,明显低于其它几种算法,同时漏报率也大大降低,对攻击数据的识别能力显著提高。结合表2的分析,GSA-TWSVM和PSO-TWSVM虽然在训练时间上都低于IGSA-TWSVM,但是GSA-TWSVM的误报率较高,为1.56%,PSO-TWSVM的误报率也远高于其它分类器模型。本文也对以上几种算法对于不同攻击类别的入侵数据检测能力进行对比,得到图7所示的曲线图。
图7 各个攻击类别检测率曲线
从图7中可以明显看到IGSA-TWSVM算法对于不同类别的攻击数据的检测效果都优于其它算法。特别是在NMRI、MFCI和DoS的检测方面,IGSA-TWSVM算法的检测率比其它算法均可提高8%左右,并且对于其它算法不易检测准确的NMRI和DoS类别,检测率也超过了90%,经分析发现IGSA-TWSVM对于不同类别的攻击数据的检测在各个方面均有明显优势。
4 结束语
本文通过将混沌映射和趋化算子融入引力搜索算法,提出了一种改进的引力搜索算法,并将其与孪生支持向量机结合应用于工业控制系统入侵检测。首先利用混沌映射的遍历性来避免引力搜索算法陷入局部极小值,然后将BFA的趋化算子引入GSA每次迭代中当前最佳粒子调整,在引入的过程中结合差分进化的变异机制,充分利用群体间的信息交互,提高收敛速度。在多个基准测试函数的仿真实验结果表明本文提出的IGSA算法有着更好的优化收敛效果和更快的收敛速度。然后将改进后的IGSA算法和 TWSVM 结合,使用IGSA算法对TWSVM的参数c1、c2和g进行寻优,并运用在工业控制系统的入侵检测标准数据集上,实验结果表明IGSA算法优化TWSVM分类器的训练时间、检测率、误报率和漏报率均优于GSA和PSO算法优化的TWSVM分类器,表明了所提算法的有效性。