Page 311 - 《软件学报》2021年第5期
P. 311

马钰锡  等:面向智能攻击的行为预测研究                                                            1535


                 KNN 和 KDE 作为评分分类器,每个预测都有一个由 Venn-Abers 预测器输出的概率间隔,可以准确地指示预测
                 的质量.
                    Mursleen 等人 [50] 提出了一种基于 SVM 和水波优化(water wave optimization,简称 WWO)结合的新方法,用
                 于检测和预测变态恶意软件.WWO 能够在搜索空间内进行运动搜索,寻找到最优解,用于确定 SVM 的参数,提
                 高 SVM 模型性能.同时,使用 ClustalW 和 T-Coffee 两种序列比对软件在主要配对期间进行签名对齐和次要多
                 重对齐,以避免出现代码长度可变的问题.
                    Roseline 等人 [51] 认为:新一代可逃逸的恶意软件是普通恶意软件的变体,可以使用基于视觉的方法分析攻
                 击模式并形象化地呈现出来,表征其恶意行为.他们使用多个连续层中的集成森林来交替生成类向量和特征向
                 量,以对恶意软件进行分类,提出了一种比深度学习模型更健壮和有效的混合堆叠多层组合的预测方法.与深度
                 神经网络相比,该方法使用的超参数更少,并由于具有自动设置参数(连续级别数)的自适应特性,计算效率更高,
                 可适用于不同规模的数据集.
                    Kou 等人  [52] 分析了现有的网络安全状况评估方法,对攻击意图和网络配置信息之间的关联性进行了深入
                 分析,提出了一种基于攻击意图识别的网络安全态势评估和入侵预测方法.与传统方法不同,该方法基于入侵者
                 意图,首先对攻击事件进行因果分析,发现并简化入侵路径以识别每个攻击阶段,然后根据攻击阶段进行态势评
                 估,最后识别出攻击意图,并根据已达到的攻击阶段,结合漏洞和网络连接预测下一个攻击阶段.该方法能更准
                 确地反映攻击的真实性,而且该方法不需要对历史序列进行训练,因此在入侵预测中更加有效.
                 3    智能攻击的行为预测方法分析

                    本节依据第 1 节中提出的智能攻击、行为预测的定义和分类,对第 2 节中概述的代表性工作分别从方法原
                 理、方法特征和适用范围这 3 个方面进行分析,从不同角度对几种主流的智能攻击行为的预测方法进行讨论、
                 对比和总结.
                 3.1   方法原理分析
                 3.1.1    基于神经网络的预测方法
                    基于神经网络的预测是目前最流行的攻击预测方法之一,神经网络预测模型具有良好的拟合性、对目标样
                 本的自学习和自记忆功能,还具有并行处理、高度容错和极强的逼近能力等特性,可以获取复杂非线性数据的
                 特征模式.总体而言,基于神经网络的预测方法以一些攻击行为的输入输出数据作为训练样本,通过神经网络的
                 自学习能力调整权值,构建预测模型;然后运用模型,实现从输入状态到输出状态空间的非线性映射.
                    通过第 2.2 节中的研究工作概述可以看出,其中,循环神经网络占据了主要地位.循环神经网络具有记忆性、
                 图灵完备(Turing completeness)以及参数共享等特点,因此,在对序列的非线性特征进行学习时具有一定优势;智
                 能攻击行为一般由多个事件构成,具有一定的时序和逻辑关系,利用循环神经网络可以很好地对其建模和预测.
                    以 LSTM 为例,传统 RNN 存在“梯度消失”的主要问题,由于误差随时间膨胀或衰减而无法访问远程上下文,
                 只能对短时间序列进行建模.为了解决这个问题,LSTM 引入了 3 个门保持状态:接受上一时刻的输出结果、当
                 前时刻的系统状态和当前系统输入,然后通过输入门、遗忘门和输出门更新系统状态,并将最终的结果进行输
                 出.如图 2 所示,3 个门分别为输入门 i t 、遗忘门 f t 和输出门 o t .其中,i t 和 o t 控制信息的流入和流出网络,f t 控制先
                 前序列的影响.具体公式如下:
                                           t ⎧  =  σ (W x t  +  hi t−  1  + W h  ci t−  1  + W c  b i )  ⎫i
                                                 xi
                                          ⎪                                ⎪
                                          ⎪  ⎪  f t  =  σ (W x t  +  hf  t−  1  + W h  cf t−  1  + W c  b f  )  ⎪  ⎪
                                                  xf
                                          ⎨  t  =  σ (W x t  +  ho t−  1  + W h  co t−  1  + W c  b o )  ⎬ o  (1)
                                                 xo
                                          ⎪  =                   +         ⎪
                                          ⎪  t  t  : c  t−  1  + f  i t  : c  tanh(W x t  hc t−  1  + W h  b c ) ⎪
                                                              xc
                                          ⎪  ⎩  t  =h  o t  :  tanhc t     ⎪  ⎭
                 其中,c t 表示 t 时刻的存储单元,h t 表示隐藏层的输出,b 表示偏置,W={W xi ,W xo ,W xf ,W ci ,W co ,W cf ,W hi ,W ho ,W hf }表示
                 加权参数,并且通过反向传播共同学习时间序列.
   306   307   308   309   310   311   312   313   314   315   316