APP下载

基于强化LSTM的网络安全态势预测方法

2021-08-02苏小玉董兆伟孙立辉徐奎奎

计算机技术与发展 2021年7期
关键词:布谷鸟梯度态势

苏小玉,董兆伟,孙立辉,徐奎奎

(河北经贸大学 信息技术学院,河北 石家庄 050700)

0 引 言

国家互联网应急中心(简称“CNCERT”)发布的《2019年我国互联网网络安全态势综述》[1]报告指出,随着国内互联网技术中云计算、大数据、物联网、人工智能等新技术新应用的大规模发展,网络安全事件日益增多。对于日益复杂化和多样化的网络攻击,传统防护措施如防火墙、访问控制、漏洞扫描和入侵检测等从主动防御和被动防御两方面进行防护,这些安全设备虽然具有安全事件和安全日志的记录功能,但是各设备之间相互独立,安全信息分散,无法共享。网络安全管理员很难监控全局网络状况,攻击发生时无法做出适当决策。为解决上述问题,T.Bass[2]首次将态势感知的概念引入网络安全领域,态势预测作为态势感知中的主要研究部分,根据历史态势数据的分析构建预测模型,获取态势数据之间的规律,预测网络未来的变化状况。

网络安全态势变化具有复杂性、非线性和时变性特点,而神经网络技术对于复杂系统具有更高的容错性,更强的非线性映射能力和泛化能力。因此一些学者将神经网络技术应用于网络安全态势预测领域。与传统的机器学习模型相比,深度学习模型在网络安全态势预测领域显示出巨大的潜力。文献[3-4]研究了基于BP神经网络的网络安全态势预测模型。虽然BP神经网络对于网络安全态势预测具有一定的效果,但是BP神经网络自身算法的不足导致存在很多的局限性。网络安全态势感知复杂场景和动态变化的特点使得网络安全事件的发生具有极大的概率性和突发性,文献[5]提出基于LSTM的网络安全态势预测方法,LSTM神经网络是对递归神经网络(RNN)的改进,在处理时间序列数据具有强大的性能。文献[6]提出基于LSTM的网络流量预测方法,引入粒子滤波约束算法优化网络的参数。针对基于LSTM神经网络的网络训练过程中收敛速度慢影响训练成本的问题,文献[7-11]提出采用智能优化算法提高LSTM神经网络模型的收敛速度。

文献[12]针对传统神经网络在预测中存在的预测精度不高、效率低的问题,提出一种基于门控递归单元(GRU)的递归神经网络预测的新方法。该方法从原始的时间序列数据中提取信息特征应用到深度RNN模型中进行训练和验证。经过迭代和优化,训练的模型可以获得网络安全预测的准确性。文献[13]提出一个基于两层递归神经网络LSTM和GRU的预测方法,该方法组合了两种改进的递归神经网络,虽然预测精度有所提高,但是模型的复杂度有所增加,还延长了训练模型的时间。

针对LSTM神经网络改进的变体中没有将消失梯度的降低作为关键研究方向,该文提出一种基于sigmoid加权强化机制的LSTM网络安全态势预测方法。该方法在传统LSTM神经网络的基础上改变激活函数,引入sigmoid加权线性单元处理反向传播中的梯度问题,将输入值乘以sigmoid激活函数,使得LSTM具有更复杂的结构来捕捉输入层与隐藏层之间的递归关系。

还有研究表明,LSTM神经网络的超参数对于网络性能有较大影响,在前期LSTM神经网络的改进方法中,针对LSTM神经网络的隐含层数,每层神经元的个数以及学习率等超参数的确定主要是主观选取,该文引入布谷鸟搜索算法进行超参数的自动寻优加速网络的训练时间。实验结果显示,该方法具有更高的准确率和稳定性。

1 基于LSTM的网络安全态势预测

1.1 LSTM神经网络中的激活函数

LSTM网络作为一种特殊的递归神经网络(RNN),与传统的RNN递归结构不同,LSTM在解决长期和短期依赖问题方面具有稳定而强大的能力。记忆细胞取代了传统神经元的隐藏层,是LSTM网络的核心。由于有三个门,即输入门、输出门和遗忘门,LSTM网络可以向细胞状态添加或删除信息。LSTM神经网络结构如图1所示。

图1 LSTM神经网络结构

其中,it为输入门限层,用来控制信息输入;ft为遗忘门限层,用来控制细胞历史状态的保留;ot为输出门限层,用来控制信息的输出;σ表示标准的sigmoid函数,用公式(1)表示,tanh函数用公式(2)表示。

(1)

(2)

LSTM神经网络的预测性能主要取决于激活函数,激活函数的输入向量包括当前输入和先前状态,再根据隐藏层的结果预测输出。由于神经元在权值调整的基础上学习输入和输出之间的非线性关系,因此权值的分配和调整对于激活函数的结果有很大影响。在训练阶段,由于学习率高,初始阶段的权值变化差异较大;当权值接近零时,权值变化逐渐减小,学习停止,此时说明输入的变化对输出没有影响。通过分析研究激活函数的作用,发现LSTM神经网络中最常用的激活函数有sigmoid函数、双曲正切(tanh)函数和校正线性单元(ReLU)。每个激活函数各有优缺点,sigmoid函数映射0到1之间的任何输入值范围。该函数将大的输入值压缩到小的输出范围,在反向传播过程中,函数的梯度呈指数下降,导致神经网络初始层的权值调整很小,这个问题被定义为梯度消失。tanh函数可以接受的输入范围在-1到1之间,从而可以计算负输入的输出,因此tanh函数的消失梯度比sigmoid小,但是仍然存在这个问题。之后研究学者为了找到更好的激活函数来缓解梯度问题,研究了校正线性单元(ReLU)激活函数。ReLU函数只包含两个简单的约束条件,如公式(3)所示。ReLU函数将所有负值映射为0,其他值映射为x,因此即使很小的输入值也反映出输出的显著变化。然而,ReLU激活函数存在一个问题。在ReLU激活函数的导数中,x的所有负值都被映射到零,使得网络停止学习,这将导致神经元在一定数量的无梯度连续输入后停止学习。ReLU激活函数的导数,如公式(4)所示。

(3)

(4)

1.2 基于SiLU-LSTM的神经网络模型

为了避免梯度消失的问题,有必要将梯度保持在一定的反向传播水平,从而在整个训练阶段神经元都处于活动状态时继续学习。LSTM神经网络作为RNN的改进,增加了存储单元。存储单元模仿人类大脑处理决定时的方式,执行操作来更新信息。标准的LSTM神经网络包含三个sigmoid函数和两个tanh函数。遗忘门决定是否保持当前的输入,输出门产生预测值,这两个门已经包含在存储单元中进行信息的处理。而输入门和候选向量在更新细胞状态中起着重要作用,LSTM从细胞状态中学习新的信息,并根据当前输入进行分析预测输出值。该文提出将输入值和输入门的sigmoid函数相乘,以及输入值和候选向量中的tanh函数相乘,降低梯度消失问题带来的影响,使得LSTM具有更复杂的结构来捕获输入层和隐藏层之间的递归关系。

SiLU-LSTM的结构如图2所示。

图2 SiLU-LSTM神经网络结构

当决定保留当前输入时,网络通过将当前输入与以前的状态进行比较来学习当前输入携带的新信息。前一状态向量ht-1包含前一输入和输出变化的内容。在此基础上,首先输入门中的sigmoid函数的范围是0到1之间的值,描述了当前输入中可用的新信息的范围,并且所得值乘以输入值,如公式(5)所示。现在输入门值的范围是[0,+∞),避免了输入向量中相同值范围的消失梯度,从而使网络能够从每个输入中学习。

it=xt*σ(Wi·[ht-1,xt]+bi)

(5)

(6)

上述改进的LSTM神经网络具有自稳定的优点,它降低了传播速率,并且在导数为零的情况下,收敛到全局最小值,进而作为正则化器隐式地抑制了大幅度权值的学习。因此,总有一个梯度网络通过最小化数据丢失和网络产生的误差来学习新的信息。

LSTM的存储单元输出为ht(当前隐藏状态)和Ct(当前存储状态)。LSTM神经网络的输出门和隐藏状态如公式(7)、(8)所示。

ot=σ(Wo·[ht-1,xt]+bo)

(7)

ht=ot*tanh(Ct)

(8)

由于各层利用激活函数产生神经网络的基本单元即神经元的输出,损失函数的梯度接近于零,使得网络训练繁琐。通过将输入数据序列与输入门和候选层的激活函数相乘,达到了缓解这种消失梯度问题的目的。在减小消失梯度后,训练网络所需的时间减少。这种时间的减少会导致高学习率,从而减少损失。对学习率和损失的影响会使得误差值降低。

2 布谷鸟搜索算法优化模型超参数

LSTM的递归神经网络具有学习序列数据之间相关性的能力,是分析时间序列数据的有效模型。超参数在优化学习模型中起着非常重要的作用。在选择超参数方面进行综合研究发现,布谷鸟搜索算法作为新型智能算法对于参数寻优具有很好的效果。布谷鸟算法的聚集性和多样性通过自然界中优胜劣汰和对环境的适应性能力演化而来,对于参数寻优问题能够有效降低搜索时间,其中的莱维飞行更新使算法具有较强的全局搜索能力。因此该文利用元启发式算法布谷鸟搜索(cuckoo search)自动寻找适合LSTM网络超参数[14],从而获得更优质的模型。

2.1 布谷鸟搜索算法

布谷鸟搜索(cuckoo search,CS),也叫杜鹃搜索,是由剑桥大学的杨新社教授和S.Deb[15]于2009年提出的一种新兴启发算法,算法的灵感来自于竞争性繁殖模式。在自然界中,某些种属的布谷鸟将自己的卵偷偷产入宿主巢穴,由于布谷鸟后代的孵化时间比宿主的幼雏早,布谷鸟的后代幼雏会本能地破坏同一巢穴中其他的卵(退出巢穴),并发出比宿主幼雏更响亮的叫声。很多宿主通过后代的叫声大小判断其健康程度,而健康后代获得的食物较多,进而拥有更高的存活率。在某些情况下,宿主也会发现巢穴中的陌生卵。这时,宿主将遗弃该巢穴,并选择其他地方重新筑巢。在与宿主不断的生存竞争中,布谷鸟的卵和幼雏叫声均朝着模拟宿主的方向发展,以对抗宿主不断进化的分辨能力。

自然界中,动物寻找食物采用随机的方式。一般情况下,动物觅食路径实际上是一个随机游走,因为下一步的行动取决于两个因素,一个是当前的位置/状态,另一个是过渡到下一个位置的概率。Levy飞行行走的步长满足一个重尾(heavy-tailed)的稳定分布,在这种形式的行走中,短距离的探索与偶尔较长距离的行走相间。在智能优化算法中采用Levy飞行,能扩大搜索范围、增加种群多样性,更容易跳出局部最优点。

标准CS使用三个简化规则:

(1)每只布谷鸟一次产一个卵,并随机选择寄生巢来孵化它,一个卵对应一个解向量;

(2)在随机选择的一组寄生巢中,最好的寄生巢(解决方案)将会被保留到下一代;

(3)可利用的寄生巢数量是固定的,一个寄生巢的主人能发现一个外来鸟蛋的概率为Pa(即新的解决方案的概率为Pa)。在这种情况下,宿主可以选择去掉这个卵,也可以选择放弃巢,到新的地方建立一个全新的巢。

在这个简化的场景中,每个巢对应一个卵,这个卵也代表一只布谷鸟。从数学上讲,布谷鸟搜索使用局部随机游走和全局随机游走的组合,由概率Pa控制。

局部随机游走,如公式(9)所示。

(9)

使用Levy飞行进行的全局随机游走,如公式(10)所示。

(10)

(11)

其中,α是步长比例因子,与所求解问题的规模有关。“~”强调按照随机数L(s,λ)进行搜索的步骤应该从Levy分布中抽取。

公式(11)表示一个指数为λ的幂律分布对Levy分布的近似。采用Levy飞行搜索使得算法具有更高的遍历性和可探索性,算法更容易跳出任何局部最优解。

2.2 具体优化流程

步骤1:初始化神经网络的超参数,确定迭代次数,学习速率,神经网络隐含层的节点数的变化区间。

步骤2:设鸟巢个数Nest为10,鸟蛋被鸟巢主人发现的概率Pa为0.25。随机生成鸟巢的位置,每个鸟巢的位置包含4个参数(迭代次数,学习速率,两层隐含层的节点个数)。根据鸟巢初始化的各个参数进行训练,计算每个鸟巢的预测值,根据预测误差找到误差最小的鸟巢位置,保存到下一代。

步骤3:根据位置和路径更新公式(10)鸟巢进行更新,通过LSTM神经网络计算预测误差,与上一步中除最小的鸟巢之外的其他鸟巢进行对比,得出的误差最小的鸟巢替代误差最大的鸟巢,从而得到当前的最优鸟巢位置。

步骤4:得到最优的鸟巢,即可得出超参数的最优组合,若达到精度要求,则返回上一步继续搜索,否则输出当前最优值。

步骤5:在每一次迭代之后,有一部分巢按照丢弃概率被抛弃,使得该搜索算法可以获得最佳适应度值。

步骤6:在神经网络模型中输入训练数据进行训练,若未达到预测精度或超出迭代范围,则不断学习;若达到迭代次数或预测精度,则停止神经网络的学习,保存当前最优超参数组合。

3 网络安全态势预测模型构建过程

网络安全态势预测描述的是安全态势随时间动态变化的行为,根据历史态势值预测未来态势值。网络安全时间序列数据的预测可以协助预防网络安全事件发生提供决策支持。该文针对LSTM神经网络的梯度消失问题,通过将输入序列分别输入门和候选向量的激活函数相乘来缓解梯度消失问题,同时利用布谷鸟搜索算法优化LSTM超参数以提高网络安全态势预测精度。

步骤1:将网络安全态势值数据集划分为训练集和测试集,再对样本数据进行预处理,形成标准样本矩阵。模型的输入输出如表1所示。

表1 模型输入输出

表中输入选取当前序列输入m和前m-1个态势值,模型的输出是m+1时刻的态势值。

步骤2:初始化LSTM神经网络,输入层节点m个,输出层节点1个,随机产生迭代次数,学习速率,隐含层节点个数,并初始化优化超参数的变化区间。

步骤2.1:设鸟巢个数Nest为10,鸟蛋被鸟巢主人发现的概率Pa为0.25。随机生成鸟巢的位置,每个鸟巢的位置包含4个参数(迭代次数,学习速率,两层隐含层的节点个数)。根据鸟巢初始化的各个参数进行训练,计算每个鸟巢的预测值,根据预测误差找到误差最小的鸟巢位置,保存到下一代。

步骤2.2:根据位置和路径更新公式(10)鸟巢进行更新,通过LSTM神经网络计算预测误差,与上一步中除最小的鸟巢之外的其他鸟巢进行对比,得出的误差最小鸟巢替代误差最大的鸟巢,从而得到当前的最优鸟巢位置。

步骤2.3:得到最优的鸟巢,即可得出超参数的最优组合,若达到精度要求,则返回上一步继续搜索,否则输出当前最优值。

步骤3:在神经网络模型中输入训练数据进行训练,若未达到预测精度或超出迭代范围,则不断学习;若达到迭代次数或预测精度,则停止神经网络的学习,保存当前最优超参数组合。

步骤4:构建遗忘门,初始化其偏置量为1,作用是减小在训练的初始阶段遗忘过多的信息。

步骤6:构建输出门的过程与传统的模型一致,通过ot和Ct获得当前时刻的输出值。

步骤7:计算输出值之后,为验证算法的准确性,将测试样本数据集输入预测模型中得到预测态势值作为模型的输出结果,构造预测模型的均方误差函数MSE作为模型的目标函数,利用Adam算法更新神经网络的权重和偏置量,直到模型的训练误差达到预先设定的目标并保存模型。

4 仿真实验与分析

4.1 数据来源

该文采用的实验数据为国家互联网应急中心(简称CNCERT)官方网站公布的真实数据。选取2012年12月31日至2020年5月31日《网络安全信息与动态周报》的数据,该数据集以周为单位统计态势信息。选取2013年至2019年的数据作为已知数据训练模型。当预测模型对2020第一周态势值进行预测之后,把预测值纳入已知数据集,以此类推预测2020年共计22周态势值。最后将预测态势值与真实态势值对比并计算误差,进而判断预测模型的预测精度。

该文以专家经验为指导对五种网络安全威胁进行权重分配,如表2所示。

表2 五种网络安全威胁进行权重分配

该方法直观体现网络安全态势值。具体的网络安全态势值计算方法为:

(12)

其中,SA表示网络安全态势值;i表示网络安全威胁种类,ω表示对应的权重,Ti表示某种网络安全威胁事件数量,Timax表示该威胁最大时的数值。

对网络安全态势值进行归一化预处理,公式如下:

(13)

网络安全态势图如图3所示。

图3 网络安全态势时间序列

4.2 评估指标与预测模型参数选取

该文选取预测评估指标中的平均绝对误差(mean absolute error,MAE)、均方根误差(root mean square error,RMSE)和平均绝对百分比误差(mean absolute percentage error,MAPE)用来对提出的预测模型进行评价。

公式如下:

(14)

(15)

(16)

4.3 仿真实验结果分析

4.3.1 与前馈神经网络对比

将传统的LSTM的神经网络模型与GRU和前馈BP神经网络进行对比,如图4所示。LSTM和GRU都是特殊的循环神经网络RNN类型,针对传统循环神经网络RNN存在的问题,LSTM和GRU的提出解决了不能长期依赖的问题,但是对比LSTM和GRU可以看出,LSTM更适用于当前的网络安全态势数据集,LSTM神经网络的拟合效果相对较好。

图4 传统模型的态势值对比

4.3.2 与传统LSTM及优化后的LSTM神经网络对比

经过对比实验(1)之后,发现LSTM神经网络比其他的传统神经网络的误差小。因此在进一步的实验中,选择优化LSTM神经网络,对LSTM神经网络进行改进具体是将输入值和输入门的sigmoid函数相乘,以及输入值和候选向量中的tanh函数相乘,降低梯度消失问题带来的影响,使得LSTM具有更复杂的结构来捕获输入层和隐藏层之间的递归关系。图5表示优化后的模型对于测试样本的预测中,文中提出的模型总体拟合度优于其他方法。

图5 不同预测模型的态势值对比

如图6所示,文中提出的模型在整体误差精度上比其他模型小,尤其在均方误差中较为明显,相比传统的BP、LSTM、GRU误差降低了7.4%、4.5%、5.6%。实验结果表明,文中提出的模型对于网络安全态势值的预测具有更好的准确性。根据表3预测评估指标衡量预测结果的准确性,不同预测指标的值越小表明模型的预测效果预测越好。

图6 不同模型的误差对比

表3 不同模型的误差分析

5 结束语

网络安全态势序列存在时序性和非线性特点,LSTM神经网络由于具有良好的处理长期依赖问题的能力,在处理时间序列时具有强大的性能。针对LSTM神经网络降低消失梯度的问题,提出基于强化LSTM神经网络模型进行网络安全态势预测,结合预测模型挖掘对网络安全态势要素和态势值之间的关联规律,同时引入布谷鸟算法自动确定网络的超参数,避免主观因素影响网络性能,准确提供给网络安全管理人员较好的决策。实验结果表明,该模型提高了预测精度。

猜你喜欢

布谷鸟梯度态势
历史虚无主义的新近演化态势与特征
2022年全国农作物重大病虫害呈重发态势
布谷鸟读信
2019年12月与11月相比汽车产销延续了增长态势
一个具梯度项的p-Laplace 方程弱解的存在性
内容、形式与表达——有梯度的语言教学策略研究
航磁梯度数据实测与计算对比研究
布谷鸟叫醒的清晨
组合常见模型梯度设置问题
5月份工业经济运行态势良好