一种基于隐Markov 模型(Hidden Markov Model,HMM)的态势评估模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种基于隐Markov 模型(Hidden Markov Model,HMM)的态势评估模型
作者:许暖王军
来源:《中国新通信》 2018年第22期
一、网络安全技术的发展
随着网络规模和复杂性不断增大,网络的脆弱性越来越多,网络的攻击技术不断革新,新
型攻击技术和攻击工具大量涌现,筑高墙、堵漏洞、防入侵等传统的安全技术显得力不从心,
网络入侵不可避免,网络安全问题越发严峻,决策者单凭一种或几种安全工具很难应对复杂的
安全问题,并且安全工具彼此之间存在较大差异,决策者很难选择出适合自己网络状况的安全
工具。
安全技术从传统的入侵阻止(防火墙技术)、入侵检测(脆弱性扫描、恶意代码检测、入
侵检测)发展到入侵容忍、可生存行研究,从关注信息的保密性发展到关注信息的可用性和服
务的可持续性,从关注单个安全问题的解决发展到研究整个网络的安全状态及其变化趋势。
而网络安全态势感知对影响网络安全的诸多要素进行获取、理解、评估以及预测未来的发
展趋势,成为下一代安全技术的焦点。
态势评估技术做为态势感知的核心,首先需对各种影响
系统安全性的要素进行检测获取,安全要素来源比较广泛,包括时间和空间两个维度上的安全
信息,然后对安全信息采用分类、归并、关联分析等手段进行融合,接着对融合的信息进行综
台分析,得到网络的整体安伞状乱及其应对措施,最后对网络安全状况的发展趋势进行预测。
二、HMM 的引入
利用HMM 模型进行态势评估分析的过程如下:首先,分析影响单个资产的安全事件和管
理员在该资产上采取的安全措施;然后,对该资产的保密性、完整性和可用性态势分量分别建
立HMM,评估各个态势分量的值;最后,结合该资产的网络位置,给出管理员最佳的应对措施。
隐Markov 过程是有限状态空间的齐次Markov 过程,状态空间的转移链路不可观测,通过另一个取值有限集的可观测、相互独立的随机变量序列表征[1]。
下面首先给出HMM的定义,然后分析HMM 的三类问题,最后介绍HMM 在网络安全中的应用。
定义隐Markov 模型(HiddenMarkovModel,HMM):设{Xn:n ≥ 1) 是取值有限状态
S=(1,2,…,M) 的随机变量序列,π={πi}i=1,…,M 是其初始分布,Xn 是时齐的Markov 链,状态转移矩阵为P=(Pij)M×M,其中Xn 的状态转移不可观测。
随机变量序列(Yn:n ≥ 1) 是
一个可观测的取值为有限状态ο=(ο1,…,οL) 的观测链,Xn 和Yn 满足联合分布是由一系列的简单转移和条件概率表达的隐Markov 条件。
HMM 可以用五元组λ=(M,L,P,Q,π) 来表示,简记为λ=(P,Q,π),在应用中HMM
主要研究以下三类问题:(1) 学习问题:
又称参数估计问题,从一段观测序列{Yk,k ≤ m} 出发,估计HMM 的参数组λ=(P,Q,π),常用的计算方法有前向算法和后向算法[2];
(2) 解码问题:
又称状态估计问题,从一段观测序列{Yk,k ≤ m} 和已知模型λ=(P,Q,π) 出发,估计系统状态Xn 的最佳值,常用的计算方法是Viterbi 算法[3];
(3) 识别问题:
又称为模型分类问题,对于一个特定的观测序列{Yk,k ≤ m},从一组选择的模型中,选择一个最佳的模型,使得出现特定的观测序列的概率最大,常用的计算方法是Baum-Welch 算法[3]。
HMM 在语音识别、机器视觉、图像处理、生物医学分析和网络安全中都有广泛的应用。
在入侵检测领域,张响亮等人提出基于HMM 的程序行为异常检测[4],以正常执行的程序所产生的系统调用序列为研究对象,建立HMM,计算系统当前调用序列出现的概率,判断系统是否存在入侵,该方法提高了入侵检测的误报率和漏报率,但是该方法的前提是要准确建立正常程序的系统调用的HMM。
谭小彬等人提出了计算机系统入侵检测的HMM[5],建立计算机系统运行情况的HMM,采用滑动窗口机制对当前系统的观测序列进行处理,计算观测序列在正常情况下出现的概率,从而判断系统是否存在入侵,该方法将系统状态简化为正常和异常两种,提高了效率和准确度,是对异常检测技术的一种改进。
基于HMM 的网络安全性评估有很多相关研究,Andre等人采用HMM 评估网络入侵的风险[6],网络风险由主机的风险组成,主机的风险由其安全状态决定,主机的安全状态由IDS 的报警数据采用HMM 求得;Haslum 等人提出使用连续时间HMM 进行实时风险评估[7],采用连续时间HMM 描述主机安全状态,但他们在建立HMM 时,所采用的数据仅来源于IDS 报警数据,并且对HMM 的观测矩阵和传输矩阵的确定上,有很大的主观性。
三、评估模型的建立
由于网络的结构和应用背景的差异,如果对网络整体进行建模,不仅增加评估的复杂性,并且评估模型只能适用于某一类网络,因此应该对网络中的每个资产分别建模,然后再根据不同的应用需求,结合网络结构信息综合分析所有资产得到整个网络的安全态势。
网络中资产的安全状态可以看着不断变化的不可见的Markov 链,通过各种检测手段,获得资产受到的威胁、存在的脆弱性和管理员的安全措施等安全信息可以看着观测符号序列,因此适合用HMM 评估资产的安全状态。
基于HMM的态势评估流程如下图所示:
从基于HMM 的态势评估流程图可以看出,网络安全态势评估算法主要包括三个步骤:安全事件归类、HMM 建立和态势计算,整个算法流程下所示:
基于HMM 的单个资产的态势评估算法
输入:态势理解输出的资产、安全事件和网络结构的数据集。
输出:资产数据集中每个资产的保密性安全态势和网络的加固方案
(1) 对资产数据集中的某个资产,查找安全事件数据集中与该资产标识相同的记录,根据安全事件对该资产保密性的损害不同,将安全事件归一化到九个等级,并结合管理员在该资产上采取的安全措施,得到观测符号序列;
(2) 对步骤(1) 得到的观测符号序列,采用单个资产保密性HMM 训练算法训练资产保密性的HMM;
(3) 对步骤(2) 得到的资产保密性HMM,采用Viterbi 算法,得到该资产的保密性安全状态;
(4) 根据骤(3) 得到的资产保密性安全状态,计算该资产的保密性安全态势值;
(5) 采用步骤(2)、(3)、(4) 同样的方法,得到网络中所有资产保密性安全态势值;
(6) 根据步骤(1) 和步骤(5) 得到的结果,结合网络结构信息,找出保密性状态差并且位置重要的资产,得到网络保密性最佳的加固方案。
在基于HMM 的单个资产的态势评估算法中,第(1) 步是态势评估的准备工作,目的是根据每个资产所遭受到的安全事件和管理员对每个资产采取的安全措施,为后面的HMM 训练算法提供观测符号序列:
第(2)、(3) 步的单个资产HMM 训练算法和状态评估算法是整个评估算法的核心,直接影响评估结果的准确性和整个评估算法的执行效率:
第(4) 步中根据资产的保密性安全状态计算保密性安全态势值,根据预先定义好的每个安全态势等级对应的安全态势值,确定该资产当前时刻保密性安全态势值,比如,定义保密性安全状态S=(1.2,3,4,5) 对应的安全态势值为{1,2,4,6,10},某资产处于保密性状态处于4,则该资产的保密性态势值为6。
四、优缺点分析
基于HMM 的态势评估模型,目的是评估单个资产的安全态势分量。
评估过程以态势理解提供的安全事件数据集为基础,分析安全事件的损害和管理员采取的安全措施的影响,得到影响资产安全态势的观测序列,建立HMM 模型,通过对安全事件分级分析减少观测符号的数量,从而降低HMM的复杂性,采用滑动窗口机制和基于带遗忘因子的更新算法训练HMM 参数,完成HMM 参数的自动配置,采用Viterbi算法评估资产安全状态,并结合网络结构信息给出最佳加固方案。
基于HMM 的态势评估模型,能够很好的描述资产、威胁的脆弱性的定量关系,评估过程准确,评估结果全面、客观,具有下列优点:
(1) 态势评估以资产为单位,综合分析该资产的受到的威胁、存在的脆弱性和管理员采取的安全措施,比将这些因素单独分析更准确。
(2) 评估过程采用基于HMM 分析的态势评估算法,通过一系列的可以观测到的信息反映安全状态的变化,更贴近实际;
(3) 将安全事件分级分析,减少观测符号的数量,降低了HMM 的复杂性,使得模型的训练实时的运行;
(4) 采用滑动窗口机制和基于带遗忘因子的更新算法,降低了HMM 训练过程的复杂性,提高了模型的训练效率,消除了观测序列长度对训练结果的影响,提高了训练结果的准确性;
(5) 从保密性、完整性和可用性三个角度,对单个资产的安全态势分量分别分析,使得评估结果细致全面,针对性强。
基于HMM 的态势评估模型,还存在下列问题:
1. 对安全事件分级分析破坏了安全事件本身的一些性质,虽然降低了HMM 的复杂性,但是会对评估结果的准确性造成一些影响;
2.HMM 参数训练,需要较长的观测序列,需要对系统进行较长时间的检测,否则模型训练的结果会不准确;
3.HMM 状态空间的数量和观测符号的数量、各种加权系数等参数的确定需要在真实的网络环境中不断的测试和完善。