基于HMM的网络安全态势评估与预测方法

2018-04-13 06:08吴建台乔翌峰朱赛凡刘光杰
导航与控制 2018年2期
关键词:态势报警实体

吴建台,乔翌峰,朱赛凡,刘光杰

(1.南京理工大学自动化学院,南京 210094;2.南京信息技术研究院,南京 210036)

0 引言

网络安全态势感知是网络空间安全技术研究的热点问题之一[1]。态势评估和预测是态势感知的重要一环,近年来已取得了很多有价值的成果。在态势评估方面,陈秀真等[2]以IDS报警和网络性能指标为信息源,综合考虑了多种因素提出了层次化网络安全态势量化评估模型及其计算方法;章丽娟等[3]构建了一套能较全面反映网络空间安全各要素的指标体系,利用模糊层次分析法确定各指标权重,通过加权得到当前态势值。以上评估方法属于传统利用专家知识进行子评估集成的类别。董博等[4]依据报警数据的分类结果来构造网络状态,将Bayes网络应用到态势评估问题中;张勇等[5]等利用威胁传播网络构建由威胁、管理员和普通用户构建的3方参与的博弈模型。面向网络攻击的网络安全态势评估是安全态势评估分析的另一种方式。Årnes等[6]分析了入侵检测系统的报警信息得到网络报警信息与网络安全态势转换概率,并提出了基于HMM的网络安全态势评估的方法。后续大量研究对该模型进行改进,如Haslum等[7]利用安全状态的持续时间来确定状态转移矩阵;方研等[8]运用HMM从攻击威胁与自身风险出发进行网络安全态势的评估,但其自身风险仅考虑了静态数据的加权且观测向量的确定较为简单,尚不能准确反映网络攻防过程中的细节;席荣荣等[9]基于警报统计特性提出警报质量的概念,尝试改善数据源的有效性和可用性问题;李伟明等[10]对入侵检测系统的报警进行了威胁评估,并以报警的威胁值作为HMM的输入,进一步改善了HMM在状态观测环节的数据质量。这些改进方法将攻击看作独立事件,因此不能反应攻击之间的因果关系,会出现当系统未收到报警时安全态势不合理下降的情况。当前多步攻击识别方法主要以整体网络为研究对象,如王泽芳等[11]将无候选序列的最大序列模式引入到多步攻击场景构建,通过识别网络攻击场景把握网络整体安全状态。该方法却缺乏对单个网络实体攻击阶段识别,无法得到准确单个网络实体的安全态势。

态势预测通常根据历史态势组成的时间序列采用不同的模型进行未来值推测。比较常见的预测模型有灰色预测模型、ARMA模型、人工神经网络模型和支持向量机模型等。韦勇等[12]提出了一种基于GM(1,1)的网络安全态势预测算法,该算法对于数据的要求较高,若累加曲线变化剧烈,会使得模型产生较大回归误差。吴莹辉等[13]提出了一种基于ARMA模型的态势预测方法。任伟等[14]基于径向基神经网络,将历史数据中选取部分样本值作为神经网络的训练数据,利用训练好的模型来预测未来的网络安全态势。综合来说,基于机器学习的预测模型虽能较好适应历史数据的模式,但也存在一些问题,如训练模型对不确定网络攻击态势失配导致的局部预测恶化,以及单一模型预测精度起伏不一导致的全局态势不准等。

针对当前HMM态势评估方法在采集数据源不丰富、入侵检测系统存在大量重复报警和误报、孤立报警信息难以体现攻击步骤因果性等不足,本文提出基于关联分析的态势要素融合方法。结合资产的脆弱性信息和攻击告警,识别网络实体遭受攻击所处的阶段,将其所处阶段对应的威胁值作为观测变量,可通过HMM模型估计其安全态势。此外,本文将神经网络预测和支持向量机预测进行了基于最优线性组合的融合,实现了总体上更为准确的态势预测。

1 基于HMM的态势评估和预测模型

1.1 模型描述

Endsley[15]从模型上将网络安全态势感知分解为察觉、理解及投射3个阶段,为网络安全态势感知建立了一种基本架构。在此基础上,本文给出如图1所示的基于HMM的网络安全态势评估和预测模型。

网络安全态势感知涉及的觉察、理解和投射3个环节,在上述模型中分别对应态势要素采集、态势理解和态势预测,是一个将基本的关于网络信息系统网络安全态势方面的静动态信息进行加工以生成网络管理员可以理解和进行决策信息的过程。其中,态势理解环节通过关联分析可从因果上实现对静态的漏洞信息和动态的告警信息的融合,通过基于攻击阶段的攻击场景识别可在逻辑上实现对不同告警信息的融合;态势评估和预测环节通过HMM将攻击场景对应的安全风险等级投射到安全态势的估计,通过安全态势时间序列的多模型组合估计可实现对未来态势发展的预测。

1.2 网络安全态势评估HMM

本文将网络实体状态分为4类,s1表示网络实体状态完好,系统不存在安全威胁;s2表示网络实体状态尚可,虽然存在漏洞但未发现针对漏洞的攻击行为;s3表示网络实体安全状态较差,存在漏洞且发现对漏洞的攻击行为,但没有发现后渗透后的攻击行为;s4表示网络实体安全状态很差,漏洞已被利用,且存在后渗透攻击行为,系统中的资产面临严重威胁。

本文选择攻击场景威胁指数对应的威胁等级作为观测值,这种状态定义形式可以使得判定为同一攻击场景的网络威胁不会出现因为某段时间未检测到告警信息而态势表达失效。

1.3 相关定义

考虑包含多个网络实体组成的系统,该系统可以是一般的办公自动化网络、工业控制网络或指挥控制网络等。网络实体及其属性可以通过定义1来描述,本文假设系统的管理员了解系统内每个实体的漏洞情况。

定义1:网络实体h用三元组(IP,oPorts,Vuls)进行描述。其中,IP为网络实体的IP地址,oPorts为网络实体开放的端口集合,对应着网络实体h上开放的服务,Vuls为网络实体漏洞或配置不当列表,域中的网络实体h组成的集合记为H。

定义1中的Vuls即脆弱性由定义2描述。

定义2:脆弱性v用三元组(ID, Info, T)进行描述。其中,ID为脆弱性标识,Info为脆弱性描述信息, T为漏洞被发现或者批露的时间。

网络威胁检测装置可以检测到进入网络的威胁流量并以告警信息的形式记录和展示,告警信息可由定义3来描述。

定义 3:告警信息a用七元组(ID, T, sIP, dIP, sPort, dPort, type)进行描述。其中,ID为告警a的系统编号,T为a的告警时间,sIP、 dIP、 sPort和dPort为告警a相关的实施攻击和被攻击网络实体的IP地址和端口,type为告警的类型。

网络攻击通常都是多步的,因此一个网络实体在遭受攻击的过程中,一定处于某一特定的阶段。本文定义了攻击场景来描述实体遭受攻击的状态信息,具体如定义4所示。

定义4:攻击场景s可以用(ID, sTime, eTime, IP, State, R)进行描述。其中,ID为攻击场景编号,sTime为该场景开始时间,eTime为最后一次更新该场景的时间,IP为攻击场景针对的网络实体集H中网络实体的IP,State为该攻击场景当前所达到的攻击阶段,R为判定为该状态的可信度。

2 告警聚合与攻击关联

2.1 面向信息资产的告警聚合

网络入侵检测系统通常根据规则对数据包或者数据流进行告警,这些告警信息通常分散且庞杂,属于初级态势要素,需要进行后续的加工才能用于感知。

本文先将告警信息按其涉及的IP地址进行聚合。对任意告警信息a,若其对应的sIPa和dIPa均不包含网络实体集合H中的IP,则将其过滤,只保留资产相关告警信息。由于同一个安全事件导致的告警时间间隔一般很小,因此为同一类的告警设置时间窗,当新的告警时间戳与该类告警结束时间差超过时间窗,则将该告警归为新的一类(本文将时间窗设置为1min)。告警信息的聚合采用经验聚合法,即根据告警聚合的原则范式将相关的多条告警聚合成为攻击事件。

2.2 基于攻击模式的告警关联

以图2所示的典型攻击模式为例说明利用攻击模式进行态势理解的方法,该攻击模式描述的攻击链包含探测、扫描、获取权限和达到目的4个典型的环节。

多步攻击在时间上具有先后顺序,若新的综合告警的开始时间大于关联告警的结束时间,则判断不是同一攻击场景;若时间上满足先后顺序,则对新的综合告警与当前所有攻击场景中的最后一个综合告警进行关联。此外,设置攻击场景超时时间,当新的综合报警开始时间与攻击场景的结束时间差超过该时间,则认为攻击者入侵失败,将该攻击场景删除,一般攻击的周期大概为2h[16]。设X和Y为两个经过聚合的攻击事件信息,采用式(1)对攻击事件X和Y进行关联[16]:

(1)

其中,X和Y为告警信息聚合后的事件信息,Fk(X,Y)和αk分别为事件X和Y的属性k的关联度及其权重。本文抽取源IP地址、目的IP地址、源端口号、目的端口号这4个属性,作为确定攻击关联度的依据,具体参数可参考文献[17]。

攻击的关联分析过程如下:

1)新的报警到来后进行报警聚合,聚合过程中产生许多综合报警,若新的综合报警与其所属的综合报警时间差超过60s时,将该综合报警送到关联模块进行关联度的计算,否则根据该新的报警更新综合报警信息,如综合报警的结束时间等。

2)每隔1min会将综合报警送到关联模块进行关联,送到关联模块的综合报警需要判断该报警所对应的攻击是否满足攻击成功条件,条件为其所依赖的端口和漏洞是否存在于已经保存的网络实体的漏洞列表中,如不存在则认为攻击失败,直接丢弃;对于满足条件的计算其与各个综合报警的关联度,若与最大关联度的综合报警满足时序关系,则更新该攻击场景,否则建立新的攻击场景。

3 基于HMM的态势评估与预测方法

3.1 攻击场景威胁指数

通常即使被攻击网络实体中存在攻击所依赖漏洞,攻击也不一定成功,攻击成功的概率与攻击者利用该漏洞的能力及熟练度有关。随着漏洞公布的时间推移,攻击者对该漏洞的利用越熟练,攻击成功率越高,文献[18]指出漏洞的利用成功率与时间符合Pareto分布,因此本文利用式(2)计算单步攻击成功概率。

(2)

其中,t为漏洞公开的时间,单位为d,α=0.26,k=0.00161。

多步攻击成功概率由该多步攻击所依赖的所有单步攻击成功概率决定,只有当所有单步攻击都成功,才能到达该阶段,因此多步攻击成功概率利用式(3)计算。

Pi=∏pj,1≤j≤i

(3)

其中,pj为实现攻击所处第j个阶段的多步攻击所需的单步攻击的攻击成功概率,Pi为攻击到达第i阶段的概率。攻击场景对应攻击阶段越深入,多步攻击成功概率越高,则攻击场景对网络实体的威胁值越大。本文利用多步攻击成功率P和攻击所处阶段权重W量化每一个攻击场景的威胁指数Th,具体为:

(4)

其中,Pi为多步攻击成功概率,攻击所处阶段权重定义为Wi=i/ΣNi,N为攻击场景的攻击阶段数,本文研究的攻击模式如图2所示,因此N=4。

若一台网络实体同时存在多个攻击场景,则选威胁指数最大的作为场景威胁指数。为了将观测矩阵规模控制在较小范围,本文将[0,1]平均划分出4个范围,分别为等级0、等级1、等级2和等级3。

3.2 态势量化

根据每个采样周期获得的观测值与隐Markov参数可实时获取网络实体t时刻状态si的概率Pt(i),具体如式(5)所示。

(5)

其中,前向概率β(i)=P(O1,O2,…,Ot,qt=si|λ)表示在模型λ下,t时刻网络实体状态为si,且观测序列为O1,O2,…,Ot的概率,由式(6)给出。

(6)

结合威胁代价向量C,根据式(7)可得网络实体安全态势值[6]:

(7)

3.3 态势预测

本文采取基于模型训练的态势预测方法,设一个训练样本由ρ+1个态势值组成,其中前ρ个样本为输入,第ρ+1个为预期输出,将前N个样本作为训练样本,将序列{Xi+1,Xi+2,…,Xi+ρ}作为预测序列,Xi+ρ+1作为输出(i=1,2,…,N)。

最优线性组合[19]是用来确定合适的单一预测模型权值的方法,设同一个预测对象值存在K种预测方法,其中第k种预测方法的预测值为xk(k=1,2,…,K),则称ek,t=xk,t-xt为第k种预测方法在t样本上的预测误差。线性组合预测模型表示为:

xt′=α1x1,t+α2x2,t+…+αKxK,t

(8)

其中,xt′为组合预测最终值,x1,t,x2,t,…,xK,t为K个独立模型的预测值,α1,α2,…,αK为加权系数,且满足:

α1+α2+…+αK=1,αi≥0

(9)

以误差平方和最小准则构造目标函数,设组合预测在第t时刻的多个预测期模型的误差为et=xt-xt′,以预测误差平方和优化目标,则最佳线性组合模型为:

(10)

(11)

式(11)也可以表示成矩阵形式:

minJ=αTEαs.t.LTα=1,α≥0

(12)

通过解此优化问题即可得最优的非负组合预测权系数,实现模型组合预测。采用回归分析进行态势预测有很多种方法,比较常用的是BP神经网络和支持向量回归机SVR。这两种回归方法各有优势,本文通过最优线性组合将这两种预测方法进行融合,以得到更为准确的结果。

4 实验结果及分析

4.1 实验数据集介绍

本实验采用麻省理工学院林肯实验室(MIT Lincoln Laboratory)提供的DARPA2000的LLDoS1.0数据集,此数据集提供一个完整的DDoS攻击场景网络流量,整个攻击分为5个攻击阶段。

阶段1:攻击者(202.77.162.213)通过对172.16.112.0/24、172.16.113.0/24、 172.16.114.0/24和172.16.115.0/24这4个网段进行扫描,搜寻活跃主机。

阶段2:针对存活的主机进行Sadmind扫描,查询主机是否运行Sadmind服务。

阶段3:利用运行Sadmind服务主机中的Sadmind Buffer Overflow漏洞最终获取172.16.112.20、172.16.112.10、172.16.115.50这3台Solaris主机的root权限。

阶段4:通过RSH服务在这3台主机中安装DDoS攻击工具。

阶段5:利用3台已安装DDoS工具的主机对远程服务器发起DDoS攻击。

4.2 实验结果分析

根据数据集说明文档,得到网络的主机集、漏洞集,并重放该数据集的5个攻击阶段数据再现攻击场景,利用snort(版本2.9,规则为snortrules-snapshot-2990)检测入侵,生成报警日志。由于数据集提供了受保护的网段,因此本文将snort中HOME_NET属性配置为[172.16.0.0/16]。

设定采样周期为1min,在每个采样周期内将聚合后的报警关联分析,更新攻击场景,得到攻击场景威胁等级,作为观测向量。

实验中5个阶段的snort原始报警数量与告警聚合得到综合报警统计如表1所示。从表1中可以看出,对原始报警预处理及聚合后最终生成的综合报警数大幅减少,从而减少了关联和更新攻击场景的计算量。第5阶段由于DDoS攻击利用伪造的IP对外网发起攻击,数据包的源和目的IP都不在snort监控的网段,因此没有产生报警,而且在第3阶段获取root权限后安装了DDoS攻击工具,攻击者已经取得了对该主机的控制权,且DDoS攻击并不是本文研究的攻击模式。

表1 原始报警及聚合后综合报警数量统计

关联分析得到的各个主机的攻击场景如表2所示。从表2中可以发现,攻击者对4个网段探测后发现18台存活主机,之后对Sadmind服务端口扫描发现其中6台运行Sadmind服务的主机, 3台包含Sadmind缓冲栈溢出漏洞(CEV-1999-0977),攻击者获取root权限,并完成了对主机的控制。

态势评估过程中,为了与文献[9]中报警质量最高的报警类型作为HMM输入的方法比较,本文采用与其相同的隐Markov参数。文献[9]中没有区分各个主机,为了比较两种方法生成的主机安全态势,本文对每个采样周期内的报警质量最高的报警类型针对的主机进行了统计,并最终得到采用该方法的每个主机安全态势。比较结果如图3所示,其中方法1为文献[9]中的利用报警质量最高的报警类型作为观测向量的方法。

表2 网络受攻击主机的攻击场景所到达的攻击阶段

主机172.16.112.10受到了一个完整的攻击,从图3中可以看出,攻击阶段在两种方法上都有体现。方法1在每个攻击阶段态势都有上升和下降过程,导致态势值下降的原因是采样周期内没有针对该主机的报警。而从多步攻击的角度来看,随着攻击的逐步深入,攻击者的目的不断实现,态势值应该呈现不断上升的趋势,即使在攻击过后的采样周期中没有产生报警,态势值也不会出现下降状况,因为威胁并没有解除。比如在攻击者获取主机root权限后,主机的机密性遭到了严重的破坏,这个状态应该维持到到达时间阈值或者防御方针对该现象做出了应对方法后,才会下降。因此,本文方法计算的态势能很好地体现多步攻击的特点。

图4为主机172.16.114.10的安全态势对比图,主机172.16.114.10中没有Sadmind缓冲栈溢出漏洞(CEV-1999-0977)。从图5中可以看出,方法1得出的结果在攻击的第3阶段仍有明显的上升,本文方法的结果该阶段态势没有上升。原因是本文结合了背景知识,由于该主机不包含Sadmind缓冲栈溢出漏洞,攻击场景没有更新到下一攻击阶段,符合实际情况,而方法1并没有处理,因此本文得出的结果更为准确。

本文令ρ=5,N=50。采用本文的态势评估值,可计算并比较BP神经网络和SVR的一步预测结果,具体如图5所示。可以看出,BP网络和SVR的预测结果在不同时刻各有优劣。通常识别一个攻击场景时,BP网络的预测结果较为准确,在攻击场景推演过程中SVR的结果较好。

基于单模型方法预测值,可解出组合预测的最优非负权系数,从而可得出多模型组合预测的结果,实验结果如图6所示。

从图6中可以看出,组合预测相对误差曲线始终处于两条单模型预测曲线之间,攻击场景发现早期预测的准确度有了一定程度的改善。

5 结论

为网络安全态势估计和预测是网络安全态势感知的重要过程。针对当前HMM态势评估方法在采集数据源不丰富、入侵检测系统存在大量重复报警和误报、孤立报警信息难以体现攻击步骤因果性等不足,本文利用告警信息聚合与攻击关联分析构建基于攻击模式的攻击场景信息,并根据攻击场景进行主机威胁指数的计算,基于HMM进行主机和网络所处安全态势的评估,根据态势评估的结果利用组合预测方法对态势发展进行了预测。实验结果表明,本文方法能够体现多步攻击的特征,并准确地反应主机的安全状态。本文针对主机的安全态势评估方法通过多网络实体态势的融合,很容易实现面向网络攻击的整个系统安全态势评估和预测。另外,本文采用扫描-探测-渗透-利用4阶段模式,也可以拓展到其他攻击模式。

[1]Bass T. Intrusion detection and multisensor data fusion: creating cyberspace situational awareness [J]. Communications of the ACM, 2000, 43(4): 100-105.

[2]陈秀真, 郑庆华, 管晓宏, 等. 层次化网络安全威胁态势量化评估方法[J].软件学报, 2006, 17(4): 885-897.

CHEN Xiu-zhen, ZHENG Qing-hua, GUAN Xiao-hong, et al. Quantitative hierarchical threat evaluation model for network security[J]. Journal of Software, 2006 , 17(4): 885-897.

[3]章丽娟, 王清贤. 模糊层次分析法在网络安全态势评估中的应用[J].计算机仿真, 2011, 28(12):138-140.

ZHANG Li-juan, WANG Qing-xian. Application of fuzzy analytic hierarchy process model in network security situation assessment[J]. Computer Simulation, 2011, 28(12): 138-140.

[4]董博, 王雪. 基于变量分组贝叶斯网络的安全态势评估方法[J].微型机与应用, 2016, 35(7): 60-62+66.

DONG Bo, WANG Xue. A security situation assessment method based on subdividing Bayesian network in sub-networks[J]. Microcomputer & Its Applications, 2016, 35(7):60-62+66

[5]张勇, 谭小彬, 崔孝林, 等. 基于Markov博弈模型的网络安全态势感知方法[J].软件学报, 2011, 22(3):495-508.

ZHANG Yong, TAN Xiao-bin, CUI Xiao-lin, et al. Network security situation awareness approach based on Markov game model[J]. Journal of Software, 2011, 22(3):495-508.

[6]Årnes A, Valeur F, Vigna G, et al. Using hidden Markov models to evaluate the risks of intrusions[J]. Lecture Notes in Computer Science, 2006, 4219:145-164.

[7]Haslum K, Moe M E G, Knapskog S J. Real-time intrusion prevention and security analysis of networks using HMMs[C]. 33rdIEEE Conference on Local Computer Networks, 2008:927-934.

[8]方研, 殷肖川, 孙益博. 基于隐马尔科夫模型的网络安全态势评估[J].计算机应用与软件, 2013, 30(12):64-68.

FANG Yan, YIN Xiao-chuan, SUN Yi-bo. Network security situation assessment based on hidden Markov models[J]. Computer Applications and Software, 2013, 30(12):64-68.

[9]席荣荣, 云晓春, 张永铮, 等. 一种改进的网络安全态势量化评估方法[J].计算机学报, 2015, 38(4):749-758.

XI Rong-rong, YUN Xiao-chun, ZHANG Yong-zheng, et al. An improved quantitative evaluation method for net-work security[J]. Chinese Journal of Computers, 2015, 38(4):749-758.

[10]李伟明, 雷杰, 董静, 等. 一种优化的实时网络安全风险量化方法[J].计算机学报, 2009, 32(4): 793-804.

LI Wei-ming, LEI Jie, DONG Jing, et al. An optimized method for real time network security quantification[J]. Chinese Journal of Computers, 2009, 32(4): 793-804.

[11]王泽芳, 袁平, 黄晓芳. 一种新的多步攻击场景构建技术研究[J].西南科技大学学报, 2016, 31(1):55-60.

WANG Ze-fang, YUAN Ping, HUANG Xiao-fang. Research of a novel attack scenario constructing method [J]. Journal of Southwest University of Science and Techno-logy, 2016, 31(1):55-60.

[12]韦勇, 连一峰, 冯登国. 基于信息融合的网络安全态势评估模型[J]. 计算机研究与发展, 2009, 46(3):353-362.

WEI Yong, LIAN Yi-feng, FENG Deng-guo. A network security situational awareness model based on information fusion[J]. Journal of Computer Research and Develop-ment, 2009, 46(3):353-362.

[13]吴莹辉. 网络安全态势感知框架中态势评估与态势顸测模型研究[D]. 华北电力大学, 2015.

WU Ying-hui. Research on situation assessment and prediction model in network security situation framework[D]. North China Electric Power University, 2015.

[14]任伟, 蒋兴浩, 孙锬锋. 基于RBF神经网络的网络安全态势预测方法[J]. 计算机工程与应用, 2006, 42(31): 136-138.

REN Wei, JIANG Xing-hao, SUN Tan-feng. RBFNN-based prediction of networks security situation[J]. Computer Engineering and Applications, 2006, 42(31): 136-138.

[15]Endsley M R. Toward a theory of situation awareness in dynamic systems[J]. Human Factors, 1995, 37(1):32-64.

[16]杨豪璞, 邱辉, 王坤. 面向多步攻击的网络安全态势评估方法[J].通信学报, 2017, 38(1):187-198.

YANG Hao-pu, QIU Hui, WANG Kun. Network security situation evaluation method for multi-step attack[J]. Journal on Communications, 2017, 38(1):187-198.

[17]Kavousi F, Akbari B. Automatic learning of attack beha-vior patterns using Bayesian networks[C]. International Symposium on Telecommunications, 2013:999-1004.

[18]Frei S, May M, Fiedler U, et al. Large-scale vul-nerability analysis[C]. Proceedings of the 2006 SIGCOMM Workshop on Largescale Attack Defense, 2006:131-138.

[19]陈华友. 组合预测方法有效性理论及其应用[M]. 北京:科学出版社, 2008.

CHEN Hua-you. Theory of combination prediction method validity and its applications[M]. Beijing: Science Press,2008.

猜你喜欢
态势报警实体
历史虚无主义的新近演化态势与特征
2019年12月与11月相比汽车产销延续了增长态势
汇市延续小幅震荡态势
前海自贸区:金融服务实体
国际金价能否延续上涨态势
实体书店步入复兴期?
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
2015款奔驰E180车安全气囊报警
2014款奥迪Q5车发动机OBD灯报警