基于SSA和ELM的医院网络入侵特征选择和检测研究
2021-06-24魏星佟明泽李铮王悦
魏星, 佟明泽, 李铮*, 王悦
(1.天津市第四中心医院 网络信息科, 天津 300140;2.华北理工大学 信息工程系, 河北 唐山 063210)
0 引言
随着网络技术和计算机技术的快速发展,极大地推动了各行各业的网络化和信息化,给众多行业和单位带来了便利和提高了效率,如企业、政府、学校以及医院等。由于医院工作的特殊性,一旦医院网络遭受攻击或破坏会直接影响医院的工作,严重时将带来巨大经济损失和社会影响,因此研究医院网络入侵特征选择和检测具有重要的实际意义和理论价值[1]。由于网络入侵的特征选择直接影响网络入侵检测的结果,因此对医院网络入侵特征进行优化选择对提高医院网络入侵检测效果和检测效率具有重大意义。目前,网络入侵特征选择方法主要有穷举法和仿生智能搜索算法[2-4]等。为提高医院网络入侵检测的准确率,将樽海鞘算法(Salp Swarm Algorithm,SSA)和极限学习机(Extreme Learning Machine,ELM)结合起来,提出一种基于SSA和ELM的医院网络入侵特征选择和检测算法。
1 樽海鞘算法
1.1 初始化种群
瑞典学者Seyedali提出SSA算法,该算法起源于樽海鞘的群体猎食行为,属于群智能搜索的经典算法[5]。假设樽海鞘在N×D维的空间进行捕食搜索,该空间中的N为种群的规模,D代表搜索优化维度。采用F=[F1,F2,…,FD]T代表搜索空间中的食物,使用X=[Xn1,Xn2,…,XnD]T,n=1,2,…N代表樽海鞘群体中的每个个体的位置。并设定樽海鞘搜索的空间所对应的上下限分别为ub=[ub1,ub2,…,ubD]T和lb=[lb1,lb2,…,lbD]T,对种群完成随机初始化工作[5],如式(1)。
XN×D=rand(N,D)×(ub-lb)+lb
(1)
1.2 更新领导者位置
在樽海鞘搜索群体中搜索食物工作由领队负责,其可以引领整个群体的移动,对于领队而言,要求具有较高的位置更新和寻优能力,计算领队的位置更新如式(2)。
(2)
式中,使用c1、c2、c3代表位置控制参数。其中,c2和c3属于分布在0到1间的随机变量,该变量主要用于调整种群领队的位置更新,同时提升搜索的多样性以及整个群里的搜索能力;c1表示收敛因子,如式(3)。
c1=2e-(4t/T)2
(3)
式中,t代表群体循环搜索参数;T代表群体寻优过程的最大迭代次数。
1.3 更新追随者位置
通过参考文献[6-7]确认群里的追随者的位置仅受自身的初始位置、寻优速度以及寻优的加速度限制,其位置的更新算法如式(4)、式(5)。
(4)
(5)
2 极限学习机
对比经典的神经网络模型,极限学习机ELM属于单层的前馈隐含神经网络,极限学习机的训练速度以及计算效率相对简单,具体的机构模型如图1所示。
图1 ELM架构示意图
设置樽海鞘群体包含N个训练样本(Xi,Ti),其中,Xi=[xi1,xi2,…,xin]T∈Rn代表算法的输入向量;Ti=[ti1,ti2,…,tin]T∈Rm代表算法的目标向量;X、T依次为n×Q与m×Q的矩阵;Q代表群体的训练样本总数。基于此,极限学习机中单隐含层的神经元数量L所对应的输出向量[8],如式(6)。
(6)
式中,Wi=[wi1,wi2,…,win]T代表输入权值;βi代表模型的输出权值;bi代表第i个隐含层的全部节点计算过程中的偏置向量;g(x)代表神经网络算法的随机函数;Wi·Xj为Wi和Xj的内积。对于极限学习模型中计算模型的最小误差,如式(7)。
(7)
由式(6)和式(7)可知,即存在一组参数βi、Wi和bi使得下式成立[9],如式(8)。
(8)
式(8)的矩阵形式为式(9)。
Hβ=T
(9)
式中,H和β代表单一隐藏含层的每个神经元节点的输出向量矩阵和权重向量矩阵。其中,使用下式可获取输出权重的矩阵β所对应的小二乘解,如式(10)、式(11)。
(10)
(11)
3 基于SSA-ELM的医院网络入侵特征选择与检测
3.1 适应度函数
适应度函数是本文提出的入侵检测模型的关键所在。本文选择正确率作为适应度函数,用于评价每一个樽海鞘个体的优劣。对于每个樽海鞘个体i(i=1,2,…,N),计算每个樽海鞘个体的适应度[10],如式(12)。
(12)
式中,accuracy为网络入侵检测的准确率;features为最终选择的网络入侵特征;All features为网络入侵的所有特征属性。最佳网络入侵特征组合是特征选择最少的情况下,使得网络入侵检测正确率最高。
3.2 特征编码
群体特征选择的核心在于从M个特种中识别i个特征的寻优特征子集合,因此把对应的每个特征定义为樽海鞘个体的一维离散二进制变量。假设每个樽海鞘的位置向量X=(x1,x2,…,xi,xn)T为一个特征集,其中,xi表示一个特征且xi是二进制,其特征编码规则如图2所示。
图2 特征编码
图2中,若第j个网络入侵特征被选中,则xi=1;反之,网络入侵特征未被选中,则xi=0。
3.3 算法步骤
基于SSA-ELM的医院网络入侵特征选择与检测的算法流程图,如图3所示。
图3 基于SSA-ELM的医院网络入侵特征选择与检测算法流程图
基于SSA-ELM的医院网络入侵特征选择与检测算法步骤如下。
步骤1:读取医院网络入侵检测数据,划分数据集为训练数据集和测试数据集并归一化处理;
步骤2:确定ELM网络结构。根据数据样本确定ELM模型的层数、传递函数和各层节点数;
步骤3:特征编码。对医院网络入侵特征进行二进制编码;
步骤4:初始化SSA种群。设定樽海鞘种群规模N、最大迭代次数T,根据式(1)随机产生樽海鞘种群;
步骤5:训练数据集的不同特征属性代入ELM模型,使用式(12)获得樽海鞘群体N中每个个体初始适应度;
步骤6:初始化群体领队、追随者以及对应的食物。首先排序樽海鞘全部成员的初始适应度,选择其中适应度最优的樽海鞘的位置定义目前食物所对应的位置,并使用ffood标识食物的适应度。对于其他的N-1个樽海鞘选择适应度排序在(N-1)/2个樽海鞘,并定义其为领导者,最后其余的(N-1)/2个樽海鞘定义为追随者;
步骤7:使用式(4)以及式(7)更新对应的领导者及其追随者的最新位置;
步骤8:获得最新樽海鞘群体的适应度fs,当出现fs>ffood的情况,使用最佳适应度的樽海鞘位置并更新当前食物的位置,并使其作为最新的食物位置;
步骤9:依据循环迭代次数,循环执行步骤5到步骤8,当达到最大迭代次数后,输出最优食物位置,获得医院网络入侵的检测最优特征子集,将测试数据集的最优特征子集输入ELM模型进行网络入侵检测并输出检测结果。
4 实验与结果分析
4.1 数据来源和参数设置
为证明SSA-ELM的医院网络入侵特征选择和检测的有效性,选择KDD CUP99网络入侵数据为研究对象[11-12],数据中网络入侵类型为Dos、U2R、R2L和Probe,每个数据样本包含41个属性特征。数据划分为训练数据集和测试数据集,实验样本分布如表1所示。
表1 实验样本分类表
文中网络入侵检测算法采用ELM模型,由于网络入侵数据特征属性为41个,因此ELM模型的输入层神经元数量N1=41。根据Kolmogorov定理,ELM模型的隐含层神经元数量N2=2N1+1=83,ELM模型的激励函数采用高斯核函数。PC机配置为2.4 GHz CPU、内存4 GB、Intel Core i5,计算机操作系统为Windows 7,采用Matlab2015(a)软件实现仿真实验。
4.2 评价指标
为了衡量网络入侵检测的效果,选择检测时间、检测率(detection rate,DR)和误报率(false alarm rate,FAR)作为医院网络入侵检测效果的评价指标,其中,DR和FAR[13-14]分别为式(13)、式(14)。
(13)
(14)
式(13)和式(14)中,TP和FN分别为正常样本被正确分类和被错误分类的个数;FP和TN分别为攻击样本被错误分类和被正确分类的个数。
4.3 结果与分析
为了说明SSA-ELM进行特征选择的网络入侵检测结果,将其与未进行特征选择的ELM模型的网络入侵检测结果进行比较,结果如表2、表3所示。
表2 ELM模型网络入侵检测实验结果
表3 SSA-ELM模型网络入侵检测结果
SSA算法参数:最大迭代次数T=100、种群规模N=10,SSA特征选择收敛图如图4所示。
图4 SSA特征选择收敛图
由表2、表3可知,经过SSA医院网络入侵特征选择之后,ELM模型的入侵检测时间在不同攻击类型上均有减少,其中,Dos攻击检测时间减少最多,减少4.34 s。此外,网络入侵检测率均有较大幅度的提高且保持较低的误报率。特征方面,特征属性数目在Dos、Probe、R2L和U2R攻击类型上分别减少31个、34个、35个和36个,有效降低属性复杂度和冗余度,从而说明了SSA-ELM进行特征选择与网络入侵检测的有效性和可靠性。
5 总结
为了提高医院网络入侵检测率和检测速度以及降低误报率,针对医院网络入侵提出一种基于樽海鞘算法和极限学习机的入侵检测模型算法。采用樽海鞘算法优化选择医院网络入侵特征属性,减少ELM模型的输入特征数,降低计算复杂度和特征冗余度。研究结果表明,SSA-ELM可以有效降低网络入侵检测的检测时间和误报率,提高网络入侵检测的检测率,很好地满足网络入侵检测的实时在线要求,具有广泛的应用前景。然而,SSA算法本身存在局部最优和“早熟”的问题,后续将对SSA算法进行改进提高其收敛速度并将其应用于网络入侵检测。