doi:10.3969/j.issn.1671-1122.2021.02.001
基于优化核极限学习机的工控入侵检测方法
杜晔,王子萌,黎妹红
(北京交通大学计算机与信息技术学院,北京100044)
摘 要:针对现有的工业控制系统入侵检测算法检测时间长,无法满足系统实时性的问题,文章提出一种基于优化核极限学习机(KELM)的工控入侵检测模型,通过
改进麻雀搜索算法对KELM的正则化系数C和核参数g进行联合优化。在种初始化
阶段引进佳点集理论增加初始种的多样性以增强全局搜索能力,提出非线性递减安
全值策略并在算法迭代过程引入混沌算法避免陷入局部极小值,以扩展搜索区域。实
验结果表明,文章提出的算法具有高检测率、低误报率的优势,能够满足工业控制系
统高实时性的要求。
关键词:麻雀搜索算法;核极限学习机;工业控制系统;入侵检测
中图分类号:TP309 文献标志码: A 文章编号:1671-1122(2021)02-0001-09
中文引用格式:杜晔,王子萌,黎妹红.基于优化核极限学习机的工控入侵检测方法[J].信息网络安全,2021,21(2):1-9.
英文引用格式:DU Ye, WANG Zimeng, LI Meihong. Industrial Control Intrusion Detection Method Based on Optimized Kernel Extreme Learning Machine[J]. Netinfo Security, 2021,21(2):1-9.
Industrial Control Intrusion Detection Method Based on
Optimized Kernel Extreme Learning Machine
DU Ye, WANG Zimeng, LI Meihong
(School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044, China)
Abstract: In view of the long detection time of the existing industrial control system intrusion detection algorithm, which can’t meet the real-time performance of the system,
an industrial control intrusion detection model based on optimized kernel extreme learning
machine is proposed. The regularization coefficient C and kernel parameter g of KELM are
jointly optimized by an improved sparrow search algorithm. In the population intialization
stage, the good point set theory is introduced to increase the diversity of the initial population
to enhance the global search ability, and a nonlinear decreasing safety value strategy is
proposed. In the algorithm iteration process, a chaotic algorithm is introduced to avoid
falling into the local minimum to expand the search area. Experimental results show that this
algorithm has the advantages of high detection rate and low false positive rate, and meets the
high real-time requirement of industrial control system.
Key words: sparrow search algorithm; kernel extreme learning machine; industrial control system; intrusion detection
收稿日期:2020-09-28
基金项目:国家自然科学基金[61672092];国家教育考试科研项目[GJK2019028]
作者简介:杜晔(1978—),男,黑龙江,教授,博士,主要研究方向为保密技术、网络攻防;王子萌(1996—),女,河北,硕士研究生,主要研究方向为工业控制系统安全;黎妹红(1975—),男,湖北,副教授,博士,主要研究方向为保密技术、网络攻防。
通信作者:王子萌*****************
0 引言
工业控制系统(Industrial Control System,ICS)是用于工业生产的控制系统的统称,广泛应用于国家关键基础设施,包括水利、交通、电力等领域。ICS安全将直接关系到国家关键基础设施的安危。
随着信息化与工业化的深度融合,ICS由传统的封闭式、隔离式逐步朝着网络化、开放式体系结构发展,与外部网络连接变得更为紧密与频繁,使得互联网面临的安全攻击被引入ICS中。从2010年席卷全球工业界的病毒——“震网”病毒,到“Duqu”病毒、“火焰”病毒、“Havex”病毒等[1],ICS安全事件与日俱增,如何做好ICS安全防护迫在眉睫。
入侵检测技术能实时发现可疑行为,主动抵御已知和未知攻击。而ICS具有实时性高、更新困难、资源受限等特殊性,使得传统的入侵检测系统(Intrusion Detection System,IDS)无法直接应用于ICS中。因此,本文旨在结合ICS特性,利用机器学习技术开发实时性强、检测率高、占用资源少的工控入侵检测模型,以有效提高工控系统的安全性。正则化英文
1 相关工作
目前,从检测技术的角度划分,ICS入侵检测可以分为基于误用的入侵检测和基于异常的入侵检测两大类。误用检测技术把入侵行为的共同模式写入入侵规则库,通过模式匹配策略能有效识别出规则库中已有的攻击类型,但无法识别未知攻击。异常检测技术首先对用户主体的正常行为进行建模,然后将用户行为与正常状态模型进行对比,如若偏离正常模型判定为异常,能有效识别未知攻击。本文所研究的入侵检测方法属于异常入侵检测。
使用机器学习算法进行工业控制系统异常入侵检测是研究人员最常用的一种技术手段。陈汉宇[2]等人使
用改进的布谷鸟搜索算法提高SVM的分类性能;陈万志[3]等人提出优化支持向量机和k-means++算法的串行入侵检测模型。尽管以上研究能有效提升检测精
度,但SVM在大规模训练数据下训练速度慢,且不擅长处理不平衡数据,使小样本类别的数据分类错误率高。而工控网络数据往往具有高维性、不平衡性的特点,在工控环境中应用有一定局限性。
极限学习机因易于实现、训练速度快等优点得到广泛应用。李熠[4]等人提出一种稀疏自编码-极限学习机入侵检测模型,符合工控入侵检测“高精度、低误报”的要求。赵国新[5]等人提出混合自适应量子粒子优化算法对极限学习机参数寻优。但极限学习机算法随机给定输入层权值和隐含层结点阈值,存在稳定性较差,泛化性能不理想等缺点。
此外,神经网络与深度学习的兴起,为工控入侵检测提供了新的思路。陈万志[6]等人利用BP神经网络,二次过滤白名单信任通信行为的异常通信。石乐义[7]等人利用卷积神经网络和双向长短期记忆神经网络,从时间和空间维度提取数据特征。相比于传统机器学习算法,上述方法能更深层次挖掘数据特征间的隐藏关系,但训练成本高、计算量大、模型设计复杂,无法满足工控系统高实时性的要求,一旦产生延迟,后果将不堪设想。
基于以上分析,本文提出了基于优化核极限学习机(Kernel Extreme Learning Machine,KELM)的工控入侵检测方法,并使用改进的麻雀搜索算法对KELM参数寻优,提升分类器性能。实验表明,该方法
不仅学习速度快,能满足系统的实时性要求,而且能保证较高的检测精度,适用于工控入侵检测。
2 改进的麻雀搜索算法ISSA
2.1 基础算法简介
麻雀搜索算法[8,9]是2020年提出的一种新型体智能优化算法,主要是受到麻雀觅食与反捕食行为的启发。在麻雀种中,存在两种行为模式:发现者和跟随者。发现者积极搜寻丰富食物来源,提供觅食方向和区域,跟随者通过发现者获得食物。在每次迭代期间,发现者和跟随者的位置分别按照公式(1)和公式(2)更新。
X iter i j t ,+1=⋅
X Q R ST X R ST
i j t ,i j t ,+ ≥ exp L
α−i max <22 (1) X i j t ,+1
=
Q i n X X X exp()/2t t t p i j p +++11+− X X worst
i j t
t ,i 2−,A L >其他 (2)
其中,t 表示当前迭代次数,j = 1, 2, …, d 。X i j t ,表示在第t 次迭代时第i 个个体的第j 维位置,iter max 为最大迭代次数,α∈(0, 1]。R 2(R 2∈[0, 1])表示预警值,ST (ST ∈[0.5, 1.0])表示安全值,Q 是服从正态分布的随机数。L 表示每个元素为1的1×d 维的矩阵,X p 是麻雀的最佳位置,X worst 表示当前全局最差位置。A 代表1×d 维的矩阵,每个元素被随机分配为1或-1,A A AA +
−=T
T ()1
。侦察预警的麻雀一般占到种的
10%~20%,其位置更新如下:
X i j t ,+1=
X K f f X X X f f i j best i j best t
t t t ,+ =+− >β
()X X f f ,i j worst t t
i w ,−+−εi g i g (3)
其中,X best 是当前全局最优位置,β是步长控制参数,K ∈[-1, 1], f i 是当前麻雀的适应度值,f g 和f w 分别是当前全局最优和最差适应度值,ε是一个极小常数。f i 表示第i 只麻雀的适应度值,f g 和f w 分别表示当前麻雀种的最优和最差适应度值。麻雀搜索算法相比于其他体智能优化算法,具有收敛速度快,稳定性强的优点,但同其他体智能优化算法一样,迭代后期易陷入局部最优值,需要加以改进。
2.2 改进的ISSA 算法
2.2.1 佳点集种初始化
对于体智能算法而言,初始种个体越多分布越均匀,算法越能在最短时间内收敛到最优解,具有良好分布特性的初始种能提高算法寻优的效果[10]。标准的麻雀搜索算法随机生成初始种,很难保证初始种的多样性。为解决以上问题,本文引入数论中
的佳点集理论[11]生成初始种,使初始种在解空间中更均匀地分布。
定义1 佳点集 设在s 维欧氏空间中有单位立方体G t ,令r ∈G t ,得到点集Pn (k )={({r 1×k }{r 2×k },…,{rs ×k }),1≤k ≤n }的偏差ϕ()n ,若满足ϕε()=(,)n C r n −+1ε
,其中ε是任
意正整数,C r (,)ε是只与r , ε有关的常数,那么就称
P n (k )为佳点集,r 为佳点。
一般情况下,取r ={2cos(2πk /p ),1≤k ≤s },p 为满足( p -s )/2≥s 的最小素数,在本文中,p =7。
图1是随机方法生成的二维初始种分布,图2是佳点集方法生成的二维初始种分布,其中种规模均为50。可以看出,随机初始化时,初始种分布相对杂乱,会有重叠的现象,而使用佳点集初始化,粒子分布均匀、稳定性好,保证了初始种的多样性。
050100150200250300
X
Y
图1 随机生成规模为50的二维初始种分布
050100150200250
300
X
Y
图2 佳点集生成规模为50的二维初始种分布
2.2.2 自适应的安全值策略
标准麻雀搜索算法中安全值ST 为固定值,当未发现捕食者的存在或其他危险,发现者处于安全范围内,可进入广阔的区域搜索,寻适应度更优的位置;反之侦察麻雀发现捕食者,并立即释放危险信号,引起整个鸟警惕并立刻做出反捕食行为,调整搜索策略,飞到安全区域躲避捕食者。标准麻雀搜索算法虽然具有较快的收敛速度,但其后期容易陷入局部最优,降低算法效率。
为解决以上问题,本文设计出一种非线性递减动态安全值更新策略,可以平衡全局搜索能力和局部开发能力。在算法迭代初期,安全值在较长时间内保持较大值,确保大部分麻雀处在安全范围内,扩大搜索范围,便于寻到适应度更优位置,确保全局可搜索性。后期,种多样性大大降低,个体往往较为集中,较小的安全值增加了种反捕食行为的概率,将增强当前最佳解决方案附近的可搜索性,以改善局部开发和局部搜索精度,使得算法具有自适应性。改进的安全值更新公式如下:
ST ST ST ST =()(
)start start end −−t max
t 2
(4)
其中,t max 是最大迭代次数,在本文中设置为500,ST start 和ST end 分别为安全值的初始值和最终
值,分别为1和0.5。根据本文的参数设置,安全值ST 的下降曲线如图3所示。
50
100
150
200
250300350
400
450
500
迭代次数t
安全值S T
图3 递减安全值曲线
2.2.3 混沌局部扰动策略
考虑到麻雀搜索算法在迭代后期种多样性大大降低,算法的搜索能力下降,极易陷入局部最优值的缺陷,因此将混沌机制引入到SSA 中。以适应度方差为指标,当适应度方差小于设定阈值时,执行混沌算法[12],将陷入局部最优解的那一代的全局最佳个体位置混沌变换,重新构造一个较小的搜索空间,避免出现早熟现象。采用常用的Logisitic 映射系统,公式(5)~公式(7)为映射公式。首先,代入公式(5),rand max 、rand min 分别表示变量的搜索上下界,X 为待优化变量,可以得到混沌映射变量CX 属于[0,1]。其次,根据公式(6),计算混沌局部搜索算法内部下一步迭代的混沌变量CX ',其中a
为混沌系统的控制变量,a = 4时混沌生成的数属于一种伪随机状态,效果最好。最后,根据公式(7)将CX '转化为混沌映射后的变量X '。
CX X rand rand rand =−−()/()min max min (5) CX'a CX CX =××−(1)
(6) X'rand CX'rand rand =+×−min max min ()
(7)
3 ISSA-KELM 入侵检测方法
采用离线训练的方式构建ISSA-KELM 入侵检测算法模型,应用工控入侵检测标准数据集进行仿真实验。在训练过程中使用ISSA 算法搜索KELM 分类器的最优正则化系数C 和最优核参数g ,然后将训练好的KELM 入侵检测模型在测试集上进行测试评估,以验证ISSA 对入侵检测算法模型的参数优化的有效性。ISSA-KELM 算法如下所示,算法流程如图4所示。
算法1: ISSA-KELM
输入:麻雀种n ,最大迭代次数G , C 和g 的优化区间,生产者数量PD ,侦察者数量SD ,预警值R 2
输出:最优参数及分类结果
1)划分训练集和测试集,并进行归一化处理;2)佳点集初始化麻雀种并定义相关参数;3)if (t <G );
4)计算适应度值并排序,出当前最优适应度个体f g 和最差适应度个体f w ;
5)分别按照公式(1)、公式(2)、公式(3)更新个体位置,
6)else ;
7)输出KELM 分类器最优参数(C , g );8)end ;
9)建立ISSA-KELM 模型,对测试样本进行检测,输出分类结果。
4 实验结果与性能分析
4.1 改进麻雀搜索算法的验证
通过比较ISSA 与PSO 、GWO 和标准SSA 算法对标准测试函数的优化效果,验证ISSA 算法的有效性和优越性,测试函数见表1。其中Ackley 、Girewank 为多峰函数,Rosenbrock 、Sphere 函数为单峰函数,搜索维度都是30。图5 ~图8分别是GWO 、PSO 、SSA 、ISSA 对4个标准测试函数的优化效果图,为便于观察,对进化曲线适应值取对数。在每次实验中,最大迭代次数为500,种大小设置为30。GWO 的参数设置如下:a 从2线性减小到0,r 1,r 2是[0,1]中的随机向量。PSO 的参数为c 1=c 2=2,w 从0.9
线性减小到0.2。SSA 的参数设置如下:发现者和意识到危险的麻雀数量分别占20%和10%,警戒值为0.8。
单峰测试函数,主要体现了算法的良好收敛性和开发能力。而在多峰测试函数上,每个函数都具有多个
局部最优解,使算法容易陷入局部最优,可用于测试算法的局部搜索和全局搜索能力。对比可得,无论是单峰函数还是多峰函数,麻雀搜索算法都表现出了绝对优势,50100150200
250300
350400450500
迭代次数
10
-15
10
-10
10
-10
值
数函标目图5 Ackley 函数迭代曲线
50100150200250300350400450500
迭代次数
10
-10
-10
-10
值数函标
目图6 Sphere 函数迭代曲线
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论