论文:文志诚,陈志刚.基于隐马尔可夫模型的网络安全态势预测方法[J].中南大学学报(自然科学版),2015,46(10):3689-3695.
摘要
为了给网络管理员制定决策和防御措施提供可靠的依据,通过考察网络安全态势变化特点,提出构建隐马 尔可夫预测模型。利用时间序列分析方法刻画不同时刻安全态势的前后依赖关系,当安全态势处于亚状态或偏离 正常状态时,采用安全态势预测机制,分析其变化规律,预测系统的安全态势变化趋势。最后利用仿真数据,对 所提出的网络安全态势预测算法进行验证。访真结果验证了该方法的正确性。
1-隐马尔科夫模型(HMM)
隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,其难点是从可观察的参数中确定该过程的隐含参数。隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。如果要利用隐马尔可夫模型,模型的状态集合和观测集合应该事先给出。
举个例子:有个孩子叫小明,小明每天早起上学晚上放学。假设小明在学校里的状态有三种,分别是丢钱了,捡钱了,和没丢没捡钱,我们记作{q0,q1,q2}。
那么对于如何确定他的丢钱状态?如果小明丢钱了,那他今天应该心情不好,如果捡钱了,他回来肯定心情好,如果没丢没捡,那他肯定心情平淡。我们将他的心情状态记作{v0,v1v2}。我们这里观测了小明一周的心情状态,心情状态序列是{v0,v0,v1,v1,v2,v0,v1}。那么小明这一周的丢捡钱状态是什么呢?这里引入隐马尔科夫模型。
隐马尔科夫模型的形式定义如下:
一个HMM模型可以由状态转移矩阵A、观测概率矩阵B、以及初始状态概率π确定,因此一个HMM模型可以表示为λ(A,B,π)。
利用隐马尔可夫模型时,通常涉及三个问题,分别是:
后面的计算啥的和马尔科夫差不多我就不写了。。。。。。
2-预测模型
2.1网络安全态势
在网络态势方面,国内外相关研究多见于军事战 场的态势获取,网络安全领域的态势获取研究尚处于 起步阶段,还未有普遍认可的解决方法。张海霞等[9] 提出了一种计算综合威胁值的网络安全分级量化方 法。该方法生成的态势值满足越危险的网络实体,威 胁值越高。本文定义网络安全态势由网络基础运行性 (runnability)、网络脆弱性(vulnerability)和网络威胁性 (threat)三维组成,从 3 个不同的维度(或称作分量)以 直观的形式向用户展示整个网络当前安全态势 SA=( runnability, vulnerability, threat)。每个维度可通过 网络安全态势感知,从网络上各运行组件经信息融合 而得到量化分级。为了方便计算实验与降低复杂度, 本文中,安全态势每个维度取“高、中、差”或“1,2, 3”共 3 个等级取值。本文主要进行网络安全态势预测
2.2构建预测模型
隐马尔可夫模型易解决一类对于给定的观测符号序列,预测新的观测符号序列出现概率的基本问题。 隐马尔可夫模型是一个关于可观测变量O与隐藏变量 S 之间关系的随机过程,与安全态势系统的内部状态 (隐状态)及外部状态(可观测状态)相比,具有很大的相 似性,因此,利用隐马尔可夫模型能很好地分析网络 安全态势问题。本文利用隐马尔可夫的时间序列分析 方法刻画不同时刻安全态势的前后依赖关系。
已知 T 时刻网络安全态势,预测 T+1,T+2,⋯, T+n 时刻可能的网络安全态势。以网络安全态势的网络基础运行性(runnability)、网络脆弱性(vulnerability) 和网络威胁性(threat)三维组成隐马尔可夫模型的外在表现特征,即可观测状态或外部状态,它们分别具有 “高、中、差” 或“1, 2,3”取值,则安全态势共有 33=27 种外部组合状态。模型的内部状态(隐状态)为安全态 势 SA的“高、中高、中、中差、差”取值。注意:在本 文中外部特征的 3 个维度,每个维度三等取值,而内部 状态 SA为五等取值。模型示例如图 1 所示。
网络安全态势SA一般以某个概率aij在“高、中高、 中、中差、差”这 5 个状态之间相互转换,从一个状态 向另一个状态迁移,这些状态称为内部状态或隐状态, 外界无法监测到。然而,可以通过监测工具监测到安 全态势外在的表现特征,如网络基础运行性 (runnability)、网络脆弱性(vulnerability)和网络威胁性 (threat)三维。监测到的这些参数值组合一个整体可以 认为是一个可观测状态(外部状态,此观测状态由 L 个 分量构成,是 1 个向量)。图 1 中,设状态 1 为安全态 势“高”状态,状态 5 为安全态势“差”状态。在实际应 用中,根据具体情况可自行设定,本文取安全态势每 维外在表现特征 L=3,则有 27 种安全态势可观测外部 状态,而其内部状态(隐状态)N 共为 5 种。
定义 1:设网络安全态势 SA内部隐状态可表示为S1,S2,⋯,S5,则网络安全态势将在这 5 个隐状态之 间以某个概率 aij自由转移,其中 0≤aij≤1。
定义 2:网络安全态势 SA外在表现特征可用 L 个 随机变量 xi(1≤i≤L, 本处 L=3)表示,令 v=(x1, x2,⋯, xL)构成 1 个 L 维随机变量 v;在时刻 I,1 次具体观测 oi的观测值表示为 vi,则经过 T 个时刻对 v 观测得到 1 个安全态势状态观测序列 O={o1,o2,⋯,oT}。
本文基本思路是:建立相应的隐马尔可夫模型, 收集内、外部状态总数训练隐马尔可夫模型;当网络安全态势异常时,通过监测器收集网络外在表现特征数据,利用已训练好 HMM 的模型对网络安全态势进行预测,为管理员提供决策服务。
实验思路
基本步骤如下:首先,按引理 1 赋 给隐马尔可夫模型 λ=(π,A,B)这 3 个参数的先验值; 其次,按照一定规则随机采集样本训练 HMM 模型直 至收敛,获得 3 个参数的近似值;最后,由一组网络 安全态势样本观测序列预测下一阶段态势。
实验结果
本实验采集一组 10 个观测样本数据为:
<高、高、 高>,<高、高、高>,<高、中、高>,
<高、中、中>, <中、中、中>,<中、中、中>,
<中、中、高>,<中、 高、高>,<高、高、高>和<高、高、高>。
输入到隐马尔可夫模型中,经解码为安全态势隐状态: “高、高、 中高、中高、中、中、中高、中高、高、高”。最后 1 个隐状态 qT=“高”。由于 a11=0.682 6(上一次为高,下一次为高的状态转移概率),在所有的隐状态 转移概率中为最高,所以,在 T+1 时刻的安全态势 SA 为 qT+1=“高”。网络安全态势预测对比图如图 4 所示, 其中,纵轴表示安全态势等级,“5”表示“高”,“0”表 示“低”;横轴表示时间,在采样序号 10 时,安全态势 为高,经预测下一个时刻 11 时,安全态势应该为高, 可信度达 68.26%。通过本实验,依据训练好的隐马尔 可夫预测模式可方便地预测下一时刻的网络安全态势 发展趋势。从图 4 可明显看出本文的 HMM 方法可信 度比贝叶斯预测方法的高。