APP下载

基于Stacking集成学习的网络安全态势预测方法

2022-11-03李成海宋亚飞

空军工程大学学报 2022年5期
关键词:态势卷积网络安全

曹 波,李成海,宋亚飞,陈 晨

(空军工程大学防空反导学院,西安,710051)

网络安全态势预测就是通过对历史网络数据即态势评估得来的态势值进行分析融合,挖掘数据之间的深层关系,运用专家知识等理论方法预测未来态势的发展趋势,为安全管理人员提供决策依据[1]。

伴随着机器学习的不断发展,神经网络在网络安全态势预测领域得到了广泛应用。神经网络通过组合低层特征形成更加抽象的非线性的高层表示,进而挖掘数据之间的输入输出关系,在态势预测领域取得了较好的效果。文献[2]通过结合深度可分离卷积和卷积分解技术的思想对态势要素和态势值进行映射,但是该模型忽略了原始数据属性之间的重要性差异。文献[3]提出一种基于BP神经网络的态势预测模型,将模拟退火算法引入人群搜索算法中实现对模型参数的优化,取得较好效果。文献[4]提出一种基于差分WGAN的态势预测方法,该方法利用生成对抗网络(generating adversarial network,GAN)模拟态势的发展过程,引入Wasserstein距离作为GAN的损失函数,同时添加差分项提升态势值的预测精度。文献[5]提出一种改进遗传粒子群算法优化极限学习机的态势预测方法,但是样本数目和滑动窗口数设置不合理时对模型效果有很大的影响。文献[6]提出一个两层的长短期记忆网络和门控循环单元的预测模型,虽然提升了预测精度,但是也增加了模型复杂度和训练的时间成本。文献[7]提出一种动态K-means与粒子群的网络安全态势预测优化算法,通过动态K-means算法对态势数据进行聚类,再通过粒子群算法选择RBF网络的权值,模型预测精度提高了14倍。

为提升网络安全态势预测模型的预测精度和泛化能力,本文提出一种基于Stacking集成学习的网络安全态势预测方法。

1 基于Stacking算法的网络安全态势预测模型

基于Stacking算法的网络安全态势预测模型主要包括4个部分:数据预处理,基本预测模型,Stacking融合以及粒子群算法优化,其具体结构见图1。

图1 基于Stacking算法的网络安全态势预测模型结构示意图

1.1 数据预处理

态势数据预处理的主要流程为:

1)读取数据并进行数据清洗;

2)将清洗后的数据进行归一化处理,本文采用min-max归一化的方法将特征数据规范到-1和1之间;

3)滑动窗口处理。为有效学习历史数据的变化趋势,采样滑动窗口法对归一化后的数据进行处理。假设滑动窗口设置为s=m+1,样本总数为n,则经过滑动窗口法后生成n-(m+1)+1个样本。

1.2 基本预测模型:卷积神经网络

CNN是一类具有稀疏连通性和权值共享特性的深度前馈神经网络,在CNN的演变过程中,出现了多种利用CNN来挖掘数据的时间特性的模型,如WaveNet和TCN等,在提取长距离依赖信息时表现出较好的性能,因此本文选择这两种神经网络。

时域卷积神经网络(temporal convolution network,TCN)是Shaojie Bai等人[8]在卷积神经网络的基础上提出的一种用于处理时间序列数据的网络结构。TCN结构主要是由堆叠的一维全连接卷积层(fully-convolution network,FCN)组成,每个基本卷积层包含因果关系,这样可以避免从未来到过去的信息“泄露”,同时TCN还强调通过加深网络深度和扩展卷积相结合的方式提升学习时间序列特征的能力。简单来说,TCN结构可由式(1)表示:

TCN=1DFCN+Casual Convolution

(1)

本文首次将TCN网络引入网络安全态势预测任务中,它能够准确学习时间序列的长短依赖关系,同时拥有足够的记忆内存,从而取得较好的效果。

具体而言,假设模型输入X∈Rn,f∈Rk表示一维空洞因果卷积核,则经过空洞因果卷积操作后的结果如式(2)所示:

(2)

式中:d代表膨胀因子;k代表卷积核大小,s-di代表输入序列对应的位置点。从中可以看出当d=1时,空洞因果卷积会对输入数据通过常规计算方式进行计算;d≠1时,对输入数据进行卷积运算。一般情况下,膨胀因子d会随着网络层数i按照式(3)的方式变化:

d=O(2i)

(3)

这样的变化方式可以保证在卷积核尺寸k变化时,TCN的感受域能够迅速增加,网络中高层卷积核的感受域可以覆盖输入时间序列的所有有效输入,进而对信息进行更好地融合,并且对序列中的长期模式进行有效建模。

WaveNet是2016年Google DeepMind开发的一种用于处理音频信号开发的网络模型[9]。该网络模型结构由多个残差模块构成,每个残差模块均包含多层扩张卷积和批量归一化层。它通过采用扩张卷积和跳跃连接的方式提升了神经网络对长距离依赖的学习能力,因而对于时间序列数据具有较好的提取特征能力.

1.3 基本预测模型:循环神经网络

循环神经网络是最基本的处理时间序列的深度学习模型。它以序列数据作为输入,在序列的演进方向进行递归且所有节点均按照链式进行连接。RNN因其具有记忆性、参数共享且图灵完备的特性在序列的非线性特征进行学习时具有一定的优势。但是,由于RNN结构无法学习长距离依赖,因而在现代的机器学习问题中很少直接使用,同时产生诸如长短期记忆网络、门控循环单元等多种变种算法。GRU和LSTM作为RNN的变种,通过门控单元的引入提升了其提取长距离信息的能力,因此本文通过这两种模型来学习原始态势数据在时间上的特征。

长短期记忆网络是最早提出的对于RNN的改进[10],其主要由输入门、遗忘门和输出门来代替原来的循环单元,相较于RNN对系统建立的递归计算,LSTM的3个门在LSTM单元的内部建立了自循环。输入门决定当前时间步的输入和前一个时间步的系统状态对内部状态的更新;遗忘门决定前一个时间步内部状态对当前时间步内部状态的更新;输出门决定内部状态对系统状态的更新。

2014年,Cho提出了更加简单的、将长短时记忆网络的单元状态和隐层状态进行合并的、还有一些其他的变动的GRU模型[11]。GRU是LSTM的一种变体,能够有效的解决长期记忆和反向传播中的梯度问题。GRU主要包含更新门、重置门两个部分。重置门来计算是否忘记之前计算状态,更新门决定将上一步多少信息继续迭代到当前步骤[12]。

1.4 Stacking集成学习算法

集成学习是使用一系列学习器进行学习,并使用某种规则将所得结果进行整合从而获得比单一学习器效果更好的模型的方法,通常有Bagging, Boosting, Stacking等方式[13]。本文采用Stacking算法将基预测模型进行融合,进一步增强模型的泛化能力,提高预测模型的灵活性,进而获得更好的预测模型,其主要流程如图2所示。

图2 Stacking集成学习算法流程图

2 实验仿真

2.1 实验设置

为验证所提CNN-RNN态势预测算法的性能,本文设置多组实验,预测模型实验和对比实验都在64位的Windows Intel(R)Core(TM)i7-7700HQ CPU(2.80 GHz)上进行的,该CPU具有16 GB RAM和基于python的Nvidia GeForce GTX 1050 GPU(4 GB),使用Python的TensorFlow库编写本文的TCN、Attention、GRU模型和PSO优化算法。

本文所提态势预测模型在训练过程中需要对多个参数进行设定,包括WaveNet、TCN网络的膨胀因子、GRU、LSTM的神经元数、优化器的学习率、批处理大小等。这些参数的设置会直接影响模型训练的结果。本文采用粒子群算法[14]对涉及到的参数进行优化,寻找模型参数的最优组合。

本文实验参数具体设置如下:PSO算法中种群大小为5,迭代次数为30,惯性权重为0.6,学习因子c1、c2为0.5。经过PSO算法优化后的网络模型参数具体如表1所示。

表1 优化后模型参数设置

2.2 实验数据及评价标准

为了验证本文所提CNN-RNN态势预测算法,本文选择2个数据集进行实验,两组数据的具体情况如下:

数据1:为了获取真实有效的网络安全态势值,本研究采用文献[15]中搭建的网络环境所得的实验数据:通过网络安全评估系统每隔30 min对主机遭受的攻击次数、攻击种类和攻击严重程度进行综合性评估,计算出当前时段的网络安全态势值,最终选取150个态势值经过归一化处理得到本次实验的样本数据如图3所示。

图3 数据1网络安全态势值

数据2:来源于国家互联网应急中心网站[16]公布的真实数据。本文选取该网站发布的自2018年1月7日至2021年4月11日共计171期的态势周报数据为基础进行实验验证。安全态势周报公布的数据主要从境内感染网络病毒的主机数量、境内被篡改网站总数、境内被植入后门网站总数、境内网站的仿冒页面数量和新增信息安全漏洞数量5个角度进行评估。为了直观体现网络安全态势,本文采用文献[17]中提到的态势评估方法进行量化,根据对网络安全威胁的程度高低分配不同权重,具体如表2所示,之后按照式(4)计算每周的态势值。

表2 网络安全威胁权重分配

(4)

式中:Ti代表某周某种网络安全威胁的数量(i代表安全威胁的种类);Timax代表是选取的171期数据中该种安全威胁的最大数量;ωi代表其对应的权重。经过归一化处理后的数据如图4所示。

图4 数据2网络安全态势值

为评价本文所提预测模型的效果,选取平均绝对误差(mean absolute error,MAE)、均方误差(mean square error,MSE)以及拟合优度决定系数(the coefficient of determination,R2)3个参数作为评价指标,评价指标的计算公式如下所示[18]:

(6)

(7)

(8)

2.3 实验结果分析

2.3.1 预测精度对比

为有效对比本文模型与其他模型预测能力的差别,设置以下实验:在相同的实验条件下设置滑动窗口数s=5,基于数据1、数据2,分别用Attention-GRU、AIS-LSTM、MLP、SVM、CNN-RNN这5种模型进行预测,得到预测态势值与真实态势值对比图如图5所示,不同模型评价指标见表3。

(a)数据1

表3 不同模型评价指标对比

从图5中可以看出,对于数据1、数据2而言,当滑动窗口设置为5时,对比的5种模型均可实现对于态势值的预测,但是不同模型的预测性能却有很大的差别。从图5(a)中可以看出,对于数据1而言,文献[19]中提出的Attention-GRU模型预测效果一般,所得预测态势值如此,MLP模型预测所得态势值同样普遍小于真实值,而SVM模型预测效果最差;从图(b)中可以看出,对于数据2而言,文献[20]中提出的Attention-GRU模型相较其他两个模型预测所得态势值与真实值之间有很大的偏差,而SVM模型虽能够预测态势值的变化趋势,但效果很差。分析原因发现:SVM适用于解决小样本线性回归问题,当样本数目较多时,所得预测结果较差,误差较大;MLP虽可以解决样本较多时的线性回归问题,但是其难以捕捉时间序列之间的长距离依赖关系,预测效果一般。本文CNN-RNN预测模型融合了TCN、WaveNet、GRU和LSTM在提取时间序列之间关系的特性,预测结果更加准确。

从表3中可以看出,本文所提CNN-RNN预测模型的误差值最小,相比其他模型有很大的优势。对于数据1,CNN-RNN模型相比Attention-GRU模型,MAE降低了34.43%,MSE降低了60%;相比AIS-LSTM,MAE降低了65.57%,MSE降低了86.67%。对于数据2,CNN-RNN模型相比Attention-GRU模型,MAE降低了85.42%,MSE降低了97.62%;相比AIS-LSTM,MAE降低了31.28%,MSE降低了66.67%。结果表明对于不同数据而言,CNN-RNN模型对于网络安全态势值的预测较为有效,且相比其他模型预测精度较高。

2.3.2 拟合度对比

为进一步验证本文所提CNN-RNN模型的有效性,基于数据1、数据2对比测试结果的拟合度,如图6所示。

图6 不同模型拟合度对比

从图6中可以看出,CNN-RNN模型的拟合度相较其他8种模型最高。对于数据1,CNN-RNN模型的拟合度高达0.999 36;对于数据2,CNN-RNN模型的拟合度高达0.999 02。进一步证明本文所提CNN-RNN预测模型所得到的预测曲线相较其他模型更加准确,同时也证明了CNN-RNN预测模型在预测态势值时的有效性和准确性。

2.3.3 收敛性分析

图7给出了模型训练误差随迭代步数变化曲线图,本文CNN-RNN预测模型在收敛速度和收敛精度上都优于其他模型,证明了该模型能够充分学习时序数据的特征,取得效果较好。

(a)数据1

2.3.4 运行时间分析

模型进行预测时不仅要考虑预测的精确度,同时还要考虑模型运行所需时间,即模型训练时间和预测时间。模型运行的时间与模型的复杂度、迭代次数、批处理大小等都有关系,通过实验得到不同预测模型的运行时间见表4。

表4 不同预测模型运行时间 单位:s

从表中可以看出,SVM、MLP两种模型所用时间较少,但是二者在处理数据时较为简单,取得结果预测精度较低,不能够准确预测态势值;Attention-GRU模型经过粒子群算法优化后得到批处理值为1,因而预测时间较长;本文所提CNN-RNN模型在提升预测精确度的同时,花费时间较少。

3 结语

为了对网络安全态势值进行准确预测,同时降低过拟合风险并提高泛化能力,本文提出一种基于Stacking集成学习的态势预测模型,该模型首先通过TCN、WaveNet两种卷积神经网络结构以及GRU、LSTM两种循环神经网络结构挖掘并学习数据的时间特征,之后借助Stacking融合算法将这四种模型进行融合。随后通过逻辑回归算法实现最终态势值的预测。为进一步提升预测结果的准确度,引入粒子群算法对模型的参数进行优化。本文通过在两个数据集上进行的多个实验证明了模型在处理网络数据时具有较强的特征提取能力和较高的预测精度,说明了本文模型的高效性和实用性。

猜你喜欢

态势卷积网络安全
基于3D-Winograd的快速卷积算法设计及FPGA实现
2019年12月与11月相比汽车产销延续了增长态势
卷积神经网络的分析与设计
汇市延续小幅震荡态势
从滤波器理解卷积
我国天然气供需呈现紧平衡态势
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
基于傅里叶域卷积表示的目标跟踪算法