李 鑫
(郑州升达经贸管理学院 信息工程学院, 河南 新郑 451191)
随着现代信息技术的快速进步和发展,Internet网络已经成为人们必不可少的生活和工作工具。物联网和云计算的不断普及,使得互联网的触及范围越来越大。但是上述互联网系统中的信息安全问题一直得不到有效解决。现有的网络安全保护技术主要为各种防火墙软件,但是这些传统的入侵检测技术只适用于家庭和小型办公场所,无法很好地解决超大规模网络应用的安全防护问题[1-3]。大规模网络应用的安全问题对国家来说意义重大,如果出现问题将会造成不可预知的严重后果。由于能很好地应对大规模网络的安全防护问题,实时网络安全风险预测引起了广大研究人员的关注。
现阶段网络安全风险预测的方法可以分为两大类[4]:静态预测和动态预测(实时评估)。目前,实时网络风险预测的研究还处在发展阶段。作为一种新的技术手段,由于具有复杂性高、难度大和非线性等特征,实时网络安全风险预测的各种优化方法逐步成为了学者们的研究热点。文献[5]通过RBF神经网络对非线性状态进行分析,结合不同状态之间的关系实现了安全风险预测。文献[6]提出了一种基于D-S证据理论的网络安全风险预测方案。文献[7]提出了一种基于免疫的时间序列预测方法。该方法可以有效应用于网络安全问题。文献[8]提出了一种改进小波神经网络预测方法,能对发电厂的污染物排放量进行量化评估。小波神经网络模型在各种预测应用中表现出良好的性能。
在上述研究的基础上,为了提高网络安全风险实时预测的准确性,提出了一种基于预测模型的网络安全风险实时预测方法。该方法首先根据网络攻击序列和安全形势评估构建预测模型,然后将小波神经网络预测算法应用于攻击强度观测序列的数据分析,并选取Morlet小波函数作为激励函数。仿真实验结果显示:相比其他预测方法,提出方法具有更高的网络安全风险预测准确性,能满足互联网环境下的各种信息安全的需求。
网络安全风险实时预测系统需要对网络各节点的信息进行实时采集,以便感知规模网络的安全状态信息,从而评估和预测网络安全风险。该系统的框架结构如图 1所示。通过网络节点信息和IDS报警日志可以完成数据采集[9]。本文提出的网络安全实时风险预测系统能够对网络安全态势进行风险评估。
图1 实时网络安全风险预测系统
假设可以通过N个状态来表示不同的风险安全等级,表示为S={s1,s2,…,sN}。利用X={x1,x2,…}表示状态访问序列,其中xt∈S表示在t时刻的访问状态。本文假设网络资源的安全状态模型为S={G,P,A,C},其中:状态G表示处于安全状态且没有任何入侵行为发生;状态P表示入侵者探测到了网络系统中的主机,但是还没开始进行入侵行为;状态A表示网络系统中的主机开始被入侵了,但还没有供给成功;状态C表示入侵者成功破坏了网络系统中主机的安全防护,资产被入侵者成功破坏[10]。
设每一个传感器k∈K均具有一个连续时间观测序列W=(Z,Y),其中Z={Zt,t≥0}表示随机过程,状态集合为S={s1,s2,…,sN}。Y={Yt,t≥0}表示观测过程。
为了简单起见,本文用B来表示Bk。设随机过程为Z={Zt,t≥0},当i≠j时,可以定义状态转移函数为:
pij(t)=P{Zh+t=sj|Zh=si}=
qij(t)+o(t)
(1)
(2)
小波神经网络(wavelet neural network,WNN)是小波分析与神经网络的结合体,其优势在于继承了小波变换时域频域局部化特征,同时又具有神经网络良好的自学习能力。因此,本文采用小波神经网络算法对复杂问题求解的网络安全风险进行预测。
小波神经网络主要分为2种类型:松散型和紧凑型。紧凑型使用小波基函数作为神经网络隐含层节点的激活函数,既继承了小波分析的优势,又能够指导网络的初始化及参数选择,同时还能够根据需要自由选择合适的小波函数。因此,本文选择使用紧凑型的小波神经网络。
本文采用的小波神经网络模型基本结构如图2所示[12]。
图2 小波神经网络模型结构
从图2中可以看出,小波神经网络由m个输入层节点、n个输出层节点和s个隐含层节点构成。其中φ表示一个单独的函数φ(x)生成的小波基函数。φ可以通过变换与平移操作得到,计算方法如式(3)所示。
(3)
其中:φ(x)表示一个位于时间空间和频率空间的母小波;向量aj={aj1,aj2,…,ajm}表示尺度参数和bj={bj1,bj2,…,bjm}表示转换参数;x={x1,x2,…,xm}表示小波神经网络的输入。
神经元j的网络内部活动可以通过式(4)来表示。
(4)
其中Wij表示输入i和隐藏节点j之间的权重。通过运用母小波φ(v)来计算第j个神经元的输出。
本文选取Morlet小波函数作为激励函数。Morlet母小波可通过式(5)计算得到,其函数波形如图3所示。
图3 Morlet母小波函数波形
(5)
第j个神经元的输出取决于:
(6)
显然,隐藏层第j个单元取值由频率参数aj和时间参数bj来决定。初始化小波的变换与平移参数:
ai=0.2(xmax-xmin)
(7)
bj=0.5(xmax+xmin)
(8)
其中xmax、xmin分别表示最大和最小输入值。
在小波神经网络的标准形式中,输出表示为:
(9)
其中Wj表示第j个神经元和输出节点之间的权重。
本文采用反向传播(BP)方法对小波神经网络进行训练,以便找出导致误差E的每个权重的百分比。一般通过式(10)计算得出误差E的具体取值。此外,采用最陡下降法来最小化时间t产生的瞬时误差。
(10)
其中:f表示模型输出;d表示目标输出。
网络训练的目的是寻求完整矢量网络参数权重w=(ai,bi,Wij,Wj),从而最小化误差函数。本文采用迭代方法处理一个大小为N的训练样本。首先在每次迭代t时计算权重向量的误差导数,然后通过式(11)对权重向量进行更新。
(11)
其中:η表示学习速率;μ表示常数动量项。μ能够提高训练的速度,并且避免更新权重时产生偏移。
在权重向量中,基于误差函数的偏导数,对不同的参数进行更新。
(12)
(13)
然后得出,
ΔWij(t+1)=-η·e(t)·Wk·φk(xi(t))·
(14)
通过式(15)来更新隐藏节点和输出节点之间的权重Wj。
(15)
(16)
ΔWj(t+1)=-η·e(t)·φj(vj(t))+
μ·ΔWj(t)
(17)
膨胀系数aj的更新方式如式(18)所示。
(18)
转换系数bj的更新方式如式(19)所示。
(19)
具体算法步骤如图4所示。
图4 算法步骤
当迭代次数达到最大数或者误差e达到预先设定的阈值时,停止学习。在仿真实验中,将迭代的最大次数和误差阈值分别设定为100和10-5。
为了对提出基于预测模型的网络安全风险实时预测方法的有效性和可行性进行验证,本文搭建了一个典型的互联网环境实例并进行了仿真实验。该实验网络拓扑中具有 3个信息服务节点,分别为 FTP服务器、WEB 服务器和HTTP 服务器。在该实验网络中,设置每个信息服务节点的权重分别为0.5、0.3和0.2。按照攻击威胁度评估攻击强度的级别,并通过查看 IDS 报警日志来获取入侵攻击的次数(单位时间为分钟)。本文模拟入侵者在不同时间对服务器节点进行溢出攻击或者恶意扫描。
本文通过风险值来对节点的网络安全风险进行量化评估,以便比较不同模型的性能。在t时刻资产的风险值可以表示为:
(20)
如果用h表示一个主机,Rh,t就表示主机h在t时刻的风险值,那么所有节点的风险值为
(21)
其中M表示整个网络中主机的总数。
2种不同入侵方式的供给强度变化曲线如图 5所示,从图5中我们可以看出模拟实验中恶意攻击次数随时间变化的不同结果,其中横坐标为入侵时间,单位为分钟,纵坐标为单位时间内的攻击次数。在20~80 min期间主要是恶意扫描攻击,威胁程度较低,因此风险评估值增长较慢也数值较小。在20~90 min期间,开始出现溢出攻击,其威胁程度较高,因此风险评估值达到第一个高峰。在52和77 min时,溢出攻击的次数分别达到2个峰值。
实际风险值与小波神经网络预测的比较结果如图6所示。可以看出,本文提出预测方法的精确度符合预期。采用GM(1,1)模型[13-14]、ARMA模型[15]和本文算法进行了网络安全风险预测,风险值预测的结果如表1所示。从表1中可以看出,ARMA模型和本文算法的风险预测结果均符合攻击威胁等级变化。但是,相比ARMA模型本文算法的风险值预测结果更加接近实际评估值。
图5 攻击强度变化曲线
图6 实际风险值与小波神经网络预测的比较
Actual risk valueGM(1,1)ARMAThis paper0.530.430.490.510.680.550.640.670.720.610.680.710.860.740.840.87
为了提高网络安全风险实时预测的准确性,提出了一种基于预测模型的网络安全风险实时预测方法。该方法首先根据网络攻击序列和安全形势评估构建预测模型。然后将小波神经网络预测算法应用于攻击强度观测序列的数据分析,并选取Morlet小波函数作为激励函数。仿真实验结果显示相比其他评估方法,提出方法具有更高的网络安全风险预测准确性。