APP下载

基于因果知识网络的攻击路径预测方法

2016-11-24王硕汤光明寇广宋海涛

通信学报 2016年10期
关键词:攻击行为攻击者概率

王硕,汤光明,寇广,2,宋海涛

(1. 解放军信息工程大学,河南 郑州 450001;2. 信息保障技术重点实验室,北京 100072)

基于因果知识网络的攻击路径预测方法

王硕1,汤光明1,寇广1,2,宋海涛1

(1. 解放军信息工程大学,河南 郑州 450001;2. 信息保障技术重点实验室,北京 100072)

针对现有攻击路径预测方法无法准确反映攻击者攻击能力对后续攻击路径的影响,提出了基于因果知识网络的攻击路径预测方法。借助因果知识网络,首先通过告警映射识别已发生的攻击行为;然后分析推断攻击者能力等级,进而根据攻击者能力等级动态调整概率知识分布;最后利用改进的Dijkstra算法计算出最有可能的攻击路径。实验结果表明,该方法符合网络对抗实际环境,且能提高攻击路径预测的准确度。

攻击路径预测;因果知识网络;攻击者能力;概率知识分布;Dijkstra算法

1 引言

随着网络攻击技术的不断发展,多步性成为目前网络攻击行为的主要特点之一。攻击行为的多步性是指攻击者利用目标网络中的一些漏洞,通过实施蓄意的多步骤攻击行为来达到最终的攻击目的。具有多步性的攻击行为简称为多步攻击,它给政府、企业乃至个人带来了巨大的威胁,如Zeus僵尸网络通过扫描探测、溢出攻击、感染目标主机、病毒传播和窃取用户信息这 5个攻击步骤使数以万计的网民遭受了无法挽回的经济损失[1]。目前,威胁极大的APT攻击也属多步攻击范畴。多步攻击威胁受到广泛的关注,防护多步攻击刻不容缓。攻击路径预测旨在通过告警关联技术分析已发生的攻击行为,揭示其中隐藏的相关逻辑,构建攻击场景,进而推测攻击者后续的攻击步骤,为网络安全主动防御提供重要依据,成为目前应对多步攻击威胁的重要手段之一。

攻击路径预测的关键分为2个部分:1) 理解当前已发生的攻击行为;2) 预测攻击者未来可能实施的攻击步骤。目前,针对第一部分的研究主要是通过关联告警构建攻击场景。具体而言,分为数据挖掘、事先构建攻击过程和因果关联。数据挖掘的方法主要是通过机器学习算法发现告警中隐藏的攻击行为模式,形成过滤或关联规则,在此基础上进行攻击场景构建,如Qin等[2]的时间序列模型和梅海彬等[3]利用告警间相似度函数来构建攻击活动序列集的方法。此种方法依赖专家知识较少,但是存在准确度低、结果难以理解等缺陷。事先构建攻击过程的方法则大多通过专家知识来得到各种攻击过程模板,然后将新的告警同这些攻击过程模板相匹配,进行实时关联[4]。这种方法的难点是如何获得用于描述攻击过程的关联规则,此外,这种方法无法检测出未知攻击行为。因果关联的方法是利用各个攻击步骤之间的因果逻辑关系,通过制定因果关联规则来构建攻击场景。此方法成为目前攻击场景构建的主流方法,具有代表性的是 Jajodia等[5]的攻击图模型和Yu等[6]的隐彩色Petri网络。前者通过有向图描述不同攻击步骤之间依赖关系,结合目标网络进行告警关联。而后者将资源状态、攻击行为及攻击证据作为彩色 Petri网络的不同类型节点,并将其互相关联以完成攻击预测。针对第二部分的研究主要是在第一部分的基础上,设计相应的推理规则以实现对后续攻击路径的预测。Wang等[7]根据通用漏洞评分系统(CVSS, common vulnerability scoring system)对漏洞复杂度的评分,赋予攻击图以概率属性,并定义累积概率来计算整个网络的安全属性。然而该方法忽略了漏报、误报等不确定事件对概率的影响。在Wang等的基础上,苏婷婷等[8]将攻击图直观地表示为属性邻接矩阵,并通过矩阵算法计算攻击成功的概率。陈小军等[9]则利用累积概率计算目标攻击节点的最大可达概率,有效推断攻击意图和计算攻击路径。吕慧颖等[10]深入分析了网络对抗的时空特性,利用威胁状态转移图挖掘威胁事件的时空关联关系,实时识别威胁状态、预测攻击路径。然而,由于网络攻防过程的动态性和不确定性,导致攻击图节点概率不能客观反映攻防双方对抗状态,从而影响攻击路径预测的准确性。针对此问题,Xie等[11]首先深入分析了攻击图中的3种不确定性,即攻击图结构的不确定性、攻击行为发生的不确定性以及触发告警的不确定性,并考虑了它们对攻击路径预测的影响。张少俊等[12]提出了一个在满足观测事件偏序条件下,利用贝叶斯推理计算攻击图节点的置信度方法,用于提高不确定性处理的准确度。Abraham等[13]通过引入漏洞生命周期来实现时变的攻击路径预测。Fredj[14]则提出利用攻击行为的危害大小来区分不同的攻击者。冯学伟等[15]通过构建马尔可夫链模型,利用告警流挖掘不同攻击类型之间的转移概率,一定程度上解决了人工设定概率带来的主观性缺陷。然而,目前的研究通常是静态的分析,不能根据攻击行为和防御措施及时调整相关概率的生成,不能反映攻击者攻击能力的不同对后续攻击路径的影响,影响了攻击路径预测的准确性。

基于以上分析,本文充分考虑了网络攻防实战环境,提出了基于因果知识网络的攻击路径预测方法。借助因果知识网络,综合利用图关系进行告警映射,实时检测已发生的攻击行为。在此基础上,推断攻击者能力等级,进而根据攻击者能力等级自适应地调整攻击行为发生及成功的概率,最终利用改进的Dijkstra算法计算得出攻击者最有可能的后续攻击路径。

2 因果知识网络模型

2.1 因果知识网络的提出

定义1因果知识网络(CKN, causal knowledge net),CKN=(N,E,Δ)。CKN 为有向无环图。

3)Δ为概率知识分布,。其中,Δ1是依附于有向边 E1上的概率知识,Δ1(ij)表示在状态si下可能发生后续攻击aj的概率。Δ2是依附于有向边 E2上的概率知识,Δ2(ij)表示在攻击行为 ai发生后达到下一状态sj的概率。Δ3是依附于有向边E3上的概率知识,Δ3(i)表示状态型告警 asi出现时能证明状态 si为 true的概率。Δ4是依附于有向边E4上的概率知识,Δ4(i)表示事件型告警 aei出现时能证明攻击行为ai发生的概率。

本模型通过概率知识分布来推理实时的攻击行为和预测后续攻击路径。对于攻击行为节点,Δ4的推理优先级高于Δ1,即当事件型告警出现时,可以不用考虑其前置条件是否满足,即可推断该攻击行为可能发生了;否则,通过已经满足的状态条件来推断攻击行为发生的可能性。对于状态节点来说,Δ3的推理优先级高于Δ2,即状态型告警出现时,可以确定该状态为true,同时证明相应攻击已经发生且成功;否则,通过攻击行为发生和成功的概率来推断相应状态为true的可能性。

2.2 因果知识网络的构建方法

因果知识网络的构建分为2个部分:网络基本结构的确定和概率知识分布Δ的生成。本文的网络基本结构假定利用专家知识库确定,而重点研究概率知识分布Δ的生成。

由 2.1 节知Δ=(Δ1,Δ2,Δ3,Δ4)。

1)Δ3为利用状态型告警推断相应状态为true的概率,由IDS的特性知,此概率常置为1,即状态型告警的出现能完全证明相应的状态为true。

2)Δ4为利用事件型告警推断攻击行为发生的概率,由于IDS对攻击行为的检测存在误差,此概率分3种情况进行修正。

①正常情况

正常情况的形式化描述为:aei∈AET且Pre(ai)=true。由于IDS告警不能完全证明攻击行为已经发生,为了客观描述这种不确定性,结合贝叶斯定理,给出了事件型告警出现时推断攻击行为发生的概率,如式(1)所示。

其中,o(ai)为IDS设备对ai的漏报率;d(ai)为IDS设备对ai的检测率,m(ai)为IDS设备对ai的误报率,一般与IDS的性能有关;P(ai)为攻击行为ai的先验概率。

②误报情况

误报情况的形式化描述为:aei∈AET且Pre(ai)=false,即攻击的前置条件不满足却检测到告警。处理方法为直接去除。

③漏报情况

漏报情况的形式化描述为:asi∈AST且 Pre(si)=false,即攻击行为已经发生且成功,但没有产生告警。Pre(si)中的元素之间为“或”的关系,即只要一个攻击行为节点为真就使Pre(si)=true。处理方法为根据因果知识网络以一定的概率补全。假如状态节点 si为假,但没有产生对应的事件型告警,以Pre(si)包括 2个攻击行为节点为例介绍补全方法。首先添加ai和aj,然后,由贝叶斯定理知

P(ai|asi)+P(aj|asj)=1,则ai和aj这2个攻击行为发生的概率为

其中,d(ai)和 d(aj)分别为 IDS设备对攻击行为 ai和aj的检测率。

3)Δ1表示前置条件满足时后续攻击行为发生的概率,Δ2则是攻击行为发生时后续状态为true的概率,即攻击行为成功的概率。Δ1和Δ2是紧密联系的,在攻击路径推理中往往是一起考虑的,即用它们的乘积Δ1×Δ2表示攻击行为发生且成功的概率,记Δ12=Δ1×Δ2。目前确定Δ12的方法主要是依据攻击行为复杂度来估计。然而在网络攻防实战中,Δ12不仅与攻击行为复杂度有关,还与攻击者能力有关。具有不同攻击能力的攻击者对同一漏洞攻击成功的可能性必然不同。鉴于此,本文综合考虑攻击者能力等级和攻击行为复杂度这2个方面,提出一种更加合理的Δ12确定方法,符合网络对抗实战的实际。

定义3攻击者能力等级Cap = {low, mid, high},从网络对抗实战中抽象出来用于刻画不同攻击者攻击能力高低的变量。本文将攻击者能力等级分为低(low)、中(mid)、高(high)3个等级。于是,攻击行为 ai发生且成功的概率Δ12(ai)可由式(6)确定。

其中,Cpx(ai)为ai的攻击行为复杂度,Cap(attacker)为攻击者能力等级。攻击行为发生且成功的概率的确定依据如表1所示。

表1攻击行为发生且成功的概率Δ12(ai)的确定依据

3 攻击路径预测

攻击路径预测是通过分析已发生的攻击行为,借助因果知识网络,利用概率知识进行推理预测的过程。本文首先通过告警映射识别已发生的攻击行为,即实时攻击迹,然后根据攻击迹动态推断攻击者能力等级,进而自适应地调整概率知识分布,最后利用概率推理确定最有可能的后续攻击路径。

3.1 实时攻击迹的生成

定义4告警迹Alarm=(AS,AE),其中,AS为状态型告警集合,AE为事件型告警集合。特别地,T时刻的状态型告警集合为 AST={asi|i=1,2,…},T时刻的事件型告警集合为,则T时刻的告警迹表示为

告警迹是通过融合多源IDS的告警并进行漏报误报处理后的告警集合,攻击迹则反映了攻击者已完成的攻击行为,一方面作为推断攻击者能力等级的依据,另一方面是预测攻击者后续攻击路径的基础。实时攻击迹获取的本质是在 CKN的基础上建立由实时告警迹AlarmT到实时攻击迹AttackT的映射,具体如算法1所示。

算法1实时攻击迹识别方法

输入因果知识网络 CKN=(N,E,Δ),T时刻告警迹,判定攻击行为发生的阈值ε;

6) end for

7) for(每一个 aei∈AET)

10) end for

11) return AttackT;

算法1在获取T时刻的攻击迹时,为了避免重复计算,初始化AttackT为AttackT−1,很好地继承了前一时刻的计算结果,提高了算法的运算效率。第3)行是通过状态型告警生成 ST;第 4)行生成攻击发生且成功地攻击行为集合 A″;第 7)行~第 9)行生成攻击发生但失败的攻击行为集合 A′。算法复杂度为O(as_num·ST_num+ae_num·A_num)。

3.2 攻击者能力等级实时推断

定义6攻击行为结果Res∈{Lsuc, Lfail, Msuc, Mfail,Hsuc, Hfail}。其中,Lsuc表示攻击者成功实施一次攻击行为复杂度为low的攻击,Mfail表示攻击者失败实施一次攻击行为复杂度为mid的攻击,以此类推。

攻击行为结果是对实时攻击迹的抽象,能够直观反映攻击者实际的攻击状况,从而为推断攻击者能力等级提供依据。攻击行为结果确定方法如式(7)所示。

由于网络攻防的实时动态变化,攻击者能力等级与攻防双方的对抗活动紧密相关,且具有客观相对性,故攻击者所处不同能力等级的先验概率相等。由贝叶斯定理得出以下结论。

定理 1由同一攻击行为结果推断出的攻击者能力等级的概率分布正比于攻击者实施此攻击成功或失败的概率分布。

证明设同一攻击行为结果Res(ai),则由Res(ai)所推断的攻击者能力等级的概率为 P(Cap(attacker)|Res(ai)),攻击成功的概率为f(Cpx(ai),Cap(attacker)),攻击失败的概率为1−f(Cpx(ai),Cap (attacker))。由贝叶斯定理知

又由于攻击者所处的不同能力等级的先验概率P(Cap(attacker)相等,故

而当Res∈{Lsuc, Msuc, Hsuc}时,

于是,

同理,当Res∈{Lfail, Mfail, Hfail}时,

又有

综上得证。

由定理1能够计算得出由不同攻击行为结果推断攻击者能力等级的概率分布,计算结果如表2所示。

表2不同攻击行为结果推断攻击者能力等级的概率分布

3.3 攻击路径实时预测

攻击路径实时预测的形式化表述为:已知因果知识网络CKN=(N,E,Δ)、T时刻的攻击迹AttackT、T时刻的攻击者能力等级CapT和攻击目标S[y],求攻击者从目前状态到达目标S[y]一条攻击路径,使攻击成功的概率最大。

为了解决该问题,首先定义概率邻接矩阵和特殊攻击行为节点列表,然后给出攻击路径实时预测算法,求达目标S[y]的最大可能攻击路径及其攻击成功的概率。

定义7概率邻接矩阵G。 设CKN有n个状态型节点,则G是一个n×n的矩阵, gij表示从状态型节点i到状态型节点j的攻击行为,如果Post(i)∩Pre(j)=∅,即表示没有攻击行为节点使状态由 i转移到j,则gij=0;如果Post(i)∩Pre(j)= aij,即存在攻击行为aij能使状态由i转移到j,则gij=Δ12(aij)。在概率邻接矩阵中忽略特殊攻击行为节点。

定义 8特殊攻击行为节点列表 L。对于特殊攻击行为节点 ai,用三元组 L(ai)=(Pre(ai),Post(ai),Δ12(ai))表示。其中,Pre(ai)表示其前置条件,即不少于 2个的状态节点;Post(ai)表示其后置条件;Δ12(ai)表示攻击行为 ai发生且成功的概率。如图 1中的 a11为特殊攻击行为节点,则其三元组记为(S5∪S6,S9,Δ12(a11))。

图1因果知识网络结构

图1表示一个因果知识网络结构,其中,圆表示状态节点,正方形表示攻击行为节点。设a1、a3、a6攻击行为复杂度为 low;a2、a4、a5、a7、a8、a9、a10、a13攻击行为复杂度为 mid;a11、a12攻击行为复杂度为high。对于一个攻击能力等级为mid的攻击者而言,特殊攻击行为节点列表为(S5∪S6,S9,0.3),概率邻接矩阵如图2所示。

图2概率邻接矩阵

经典的Dijkstra算法常用于计算有向图中一个顶点到其他所有顶点的最短路径。攻击路径预测算法的本质同Dijkstra算法类似,只是由于特殊攻击行为节点的存在,使常规的邻接矩阵无法完整表示攻击信息,且攻击路径预测算法只需计算目标节点与攻击迹中集合S的最短攻击路径。因此,本文在Dijkstra算法的基础上,首先利用概率邻接矩阵求可能的攻击路径预测结果,然后结合特殊攻击行为节点列表进行修正来实现对攻击路径的实时预测。具体算法如下。

算法2攻击路径实时预测算法

输入概率邻接矩阵G,特殊攻击行为节点列表L,攻击目标S[y],T时刻的攻击迹AttackT;

输出最大可能攻击路径 Path及攻击成功的概率MaxProb。

1) (Path,MaxProb)= ProbPath[S[y]];

2) if (存在特殊攻击行为节点 ai在路径ProbPath[S[y]].Path中)

3) Prob(ai)=Δ12(ai) ΠProbPath(S[i].MaxProb)其中,S[i]∈Pre(ai);

4) if (Prob(ai)>ProbPath[Post(ai)].MaxProb);

5) Path=(PathPath[L.Post(ai)])∪each Path[S[i]];

6) MaxProb = MaxProb / ProbPath [Post(ai)].MaxProb·Prob(ai); //更新路径及概率

7) return Path and MaxProb;

求解可能攻击路径函数ProbPath的定义如下。

1) ProbPath (S[x])

2) Path=null; MaxProb=0; add S[x]to Path0;

3) for (int i=x−1; i>0; i−−)

4)float MaxProb0=0; int u=x;

5)for (int j=1; j<n; ++j)

6)if(S[j]∉Path0amp;amp; Prob[j]>0)

7)u=j; MaxProb0= Prob[j];

8)end for

9)add S[u]to Path0;//将节点加入路径中

10) for (int j=1; j<n; j++)

11)if (S[j]∉Path0amp;amp; G[j][u]>0)

12)if (Prob[u]G[j][u]>Prob[j])

13)Prob[j]=Prob[u]G[j][u];

14)end for

15)if (S[u]∈AttackT)

16)Path =Path0; MaxProb =MaxProb0;

17) end for

18) return (Path, MaxProb); //返回有效路径及其攻击成功的概率

算法2借鉴了Dijkstra算法在求有向图中单源最短路径的有效性,设计了ProbPath函数来计算概率邻接矩阵中源到点集之间的最短路径。整个算法主要分为2步。

1) 算法2第1)行调用ProbPath函数,依据概率邻接矩阵求得已知攻击迹AttackT到攻击目标S[y]的可能路径,然而由于特殊攻击行为节点的存在,使算法2第1)行中获得的路径可能并不准确。

2) 算法2第2)~7)行根据特殊攻击行为节点列表,判断第1)行中获取的攻击路径中是否包含特殊攻击行为节点,若存在,则将此路径变换为含有特殊攻击行为节点的路径,并通过比较二者攻击成功的概率大小进行选择,最终确定最大可能攻击路径Path和其攻击成功的概率MaxProb。

本算法与Dijkstra算法复杂度相同,都为O(n2),即为因果知识网络中状态节点个数的平方。

4 实验分析

4.1 实验环境

为了验证本文方法的有效性,搭建了一个实际网络环境来进行测试。实验环境拓扑如图3所示。

外网用户可通过Internet访问本网络。实验网络分为4个区域,分别是DMZ区、子网1、子网2和子网3。DMZ区包含Web服务器和E-mail服务器。子网1由2台主机构成。子网2由一台工作站和文件服务器组成。子网3包括一台工作站和数据库服务器。各区域的IDS负责检测各区域中的异常行为并产生告警。网络可达性设为:DMZ区由防火墙1保护并连接Internet,且只能访问子网1中的主机1、子网2中的文件服务器和子网3中的数据库服务器;子网1中的主机1能够访问子网2和3中的所有机器,主机3只能访问主机1和数据库服务器,主机2只能访问主机3;子网2中的工作站1和子网3中的工作站 2能访问数据服务器和文件服务器。通过Nessus脆弱点扫描器对网络各网络段进行扫描,得到各主机中漏洞信息如表3所示。依据漏洞信息和CVSS分析得出的攻击行为信息如表4所示。

4.2 实验结果及分析

4.2.1 计算过程及分析

图3实验网络拓扑

根据图3和表4,确定因果知识网络基本结构。假定攻击目标是获取主机3的root权限,设计了3个实验进行验证,实验结果如表5所示。具体推理过程如图4所示。图5则展示了实验中各个状态节点攻击成功概率变化情况。

为了不失一般性,假定实验1中没有观测到任何事件,即AlarmT=null。由算法2知,共有6条攻击路径能够实现攻击目标,分别为 path1∶ s1→a1→s2→a5→s8→a13→s9、path2∶ s1→a1→s2→a3→s4→a6→s6→a11→s8→a13→s9、 path3∶ s1→a1→s2→a4→s5→a7→s6→a11→s8→a13→s9、 path4∶ s1→a1→s2→a4→s5→a8→s7→a12→s8→a13→s9、 path5∶ s1→a1→s2→a4→s5→a10→s8→a13→s9和 path6∶ s1→a2→s3→a1→s2→a4→s5→a9→s9。对于攻击能力等级为Low的攻击者的最有可能攻击路径为 path5,攻击成功率为0.023;对于攻击能力等级为mid的攻击者的最有可能攻击路径同样为 path5,但攻击成功率提高到0.123;对于攻击能力等级为high的攻击者最有可能攻击路径为path4s,攻击成功率为0.459。对于实验2,T时刻观测到的告警为AlarmT=(as2,ae2, ae5),由算法1得出攻击者的攻击迹描述为攻击者成功发动攻击行为 a1使攻击状态达到 s2,但发动攻击 a2时遭遇了失败,这个概率达到0.95。由算法2推断攻击者的攻击能力等级为mid,由算法3能得出攻击者最有可能的后续攻击路径为:s2→a4→s5→ a10→s8→a13→s9,攻击成功的概率为 0.175。对于实验 3,T时刻观测到的告警为AlarmT=(as2,as5,ae1, ae4,ae10),由算法1得出攻击者的攻击迹描述为:攻击者成功实施攻击行为 a1和 a4使攻击状态达到 s5,但发动攻击 a10时遭遇了失败,这个概率达到 0.95。由算法2推断攻击者的攻击能力等级为high,由算法3能得出攻击者最有可能的后续攻击路径为:s5→a8→s7→a12→s8→ a13→s9,攻击成功的概率为0.567。对于本文提出的模型而言,随着时间的不断推进,攻击者暴露的攻击行为越多,攻击迹越完整,对攻击者能力的推断越合理,后续攻击路径的预测也就更准确。

表3各主机信息及其所含漏洞信息

表4攻击行为节点的信息

表5实验结果

图4不同告警迹条件下攻击路径推断过程示意

图5实验中各个状态节点攻击成功概率

4.2.2 测试结果的比较与分析

利用网络安全专业的 50名学员作为攻击者,分别就图3所示的网络进行攻击测试实验,事先给定攻击者该网络的拓扑结构、漏洞信息及因果知识网络结构。每名攻击者均尝试因果知识网络中的 6条攻击路径,总共形成300个攻击迹。本文算法计算结果与攻击测试实验统计结果对比如表6所示。

表6本文算法计算结果与攻击测试实验统计结果对比

依据 50名攻击者的攻击迹,利用本文的攻击者能力等级推断算法能够将这些攻击者分类3类:攻击者能力等级为low的学员9人、攻击者能力等级为mid的学员37人和攻击者能力等级为high的学员4人。表6每一组结果由2个数字构成:前者表示利用本文算法得出的不同能力等级的攻击者利用不同攻击路径的攻击成功概率;后者带下划线,表示由攻击测试实验统计得出的实际攻击成功概率,如0表示9名能力等级low的攻击者中没有1名能够攻击成功表示37名能力等级为mid的攻击者中有4名攻击成功,实际攻击成功概率为。由表6的统计结果对比分析得出以下结论。

1) 不同能力等级的攻击者之间攻击成功概率有着较大差别,故本文通过区分攻击者能力进行细粒度的攻击路径预测方法有重要意义。

2) 由于攻击者数目等客观条件约束的影响,本文算法计算的结果与攻击测试实验统计结果有一定的差异,但本文算法计算结果能够较为准确地反映实际的攻击成功概率,能够从攻击者角度有效预测攻击路径,为网络安全漏洞修复及实时防护提供依据。

此外,本文与文献[9]和文献[10]的算法进行了比较。一方面利用文献[9]的方法计算本文因果知识网络中最有可能攻击路径为 path2,攻击成功的概率为 0.256,明显大于实际攻击成功概率;另一方面依据文献[9]的攻击图,在没有任何监测事件时,本文算法得出无论攻击者能力处于哪个等级,最大可能攻击路径都为:s0→a10→s7→a8→s8→a9→s9→a5→s5,结果与文献[9]的算法一致,然而文献[9]的算法中所定义的累积概率是指达到当前攻击状态或发生当前攻击行为的整个可能性,即累加所有可能攻击路径的概率之和,这与攻击者往往选择一条确定的攻击路径这一实际不符,造成最终计算的攻击成功概率往往偏高,而本文采用的改进Dijkstra算法,通过比较每一条可能攻击路径的概率确定最有可能攻击路径,得到的攻击成功概率相对准确合理。

文献[10]利用威胁状态转移图进行实时威胁状态识别时,在推断出目前的威胁状态后,进一步推断6条可能的后续路径,而利用本文的算法,根据攻击者已完成的威胁,推断此攻击者的攻击能力等级为 high,进而推断最有可能的攻击路径为s0→a1→s1→a5→s3→a6→s7→a3→s8→a8→s10和 s0→a1→s1→a5→s3→a6→s7→a7→s8→a8→s10,攻击成功概率为0.49。横向比较来看,本文的方法优势在于能够根据攻击者能力等级自适应地调整相关概率知识,符合网络对抗实际,更具合理性。

5 结束语

由于网络攻防的动态性和复杂性,攻击路径预测具有不确定性。针对现有攻击路径预测方法无法准确反映攻击者攻击能力对后续攻击路径影响这一问题,本文提出一种基于因果知识网络的攻击路径预测方法。该方法利用因果知识网络模型对攻击行为建模,网络结构定性反映了攻击步骤之间的因果关系,概率知识分布则定量反映了因果知识网络中的不确定性。首先将告警迹映射到因果知识网络以识别攻击迹;然后通过分析实时攻击迹推断攻击者能力等级,进而根据攻击者能力等级自适应调整概率知识分布;最后利用概率知识推理攻击者最有可能的攻击路径。实验结果表明该方法能够提高攻击路径预测的准确度,有效减少告警数量,为网络管理员及时实施防御策略提供了重要依据。下一步工作包括因果知识网络结构的生成研究和实现算法的并行化。

[1]SHAH C. Zeus crime ware toolkit[EB/OL]. http://blogs.mcafee.com/mcafeelabs/zeus-crimeware-toolkit.

[2]QIN X, LEE W. Statistical causality of INFOSEC alert data[C]// Recent Advances in Intrusion Detection 2003. Berlin, 2003: 73-93.

[3]梅海彬, 龚俭, 张明华. 基于警报序列聚类的多步攻击模式发现研究[J]. 通信学报, 2011, 32 (5): 63-69.MEI H B, GONG J, ZHANG M H. Research on discovering multi-step attack patterns based on clustering IDS alert sequences[J].Journal on Communications, 2011, 32(5): 63-69.

[4]VALEUR F, VIGNA G, KRUEGEL C, et al. A comprehensive approach to intrusion detection alert correlation[J]. IEEE Trans. Dependable and Secure Computing, 2004, 1(3): 146-169.

[5]JAJODIA S, NOEL S, KALAPA P, et al. Cauldron: mission-centric cyber situational awareness with defense in depth[C]//The Military Communications Conference. Baltimore, 2011: 1339-1344.

[6]YU D, FRINCKE D. Improving the quality of alerts and predicting intruder’s next goal with hidden colored petri-net[J]. Computer Networks, 2007,51(3): 632-654.

[7]WANG L, ISLAM T, LONG T, et al. An attack graph-based probabilistic security metric[C]//Data and Applications Security XXII. Berlin Heidelberg, 2008: 283-296.

[8]苏婷婷, 潘晓中, 肖海燕. 基于属性邻接矩阵的攻击图表示方法研究[J]. 电子与信息学报, 2012, 34(7): 1744-1747.SU T T, PAN X Z, XIAO H Y. Research on attack graph based on at-tributes adjacncy matrix[J]. Journal of Electronics amp; Information Technology, 2012, 34(7): 1744-1747.

[9]陈小军, 方滨兴, 谭庆丰. 基于概率攻击图的内部攻击意图推断算法研究[J]. 计算机学报, 2014, 37(1): 62-72.CHEN X J, FANG B X, TAN Q F. Inferring attack intent of malicious insider based on probabilistic attack graph model[J]. Chinese Journal of Computers, 2014, 37(1): 62-72.

[10]吕慧颖, 彭武, 王瑞梅. 基于时空关联分析的网络实时威胁识别与评估[J]. 计算机研究与发展, 2014, 51(5): 1039-1049.LV H Y, PENG W, WANG R M. A real-time network threat recognition and assessment method based on association analysis of time and space[J]. Journal of Computer Research and Development, 2014, 51(5):1039-1049.

[11]XIE P, LI J H, OU X M, et al. Using Bayesian networks for cyber security analysis[C]//The 40th IEEE/IFIP International Conference on Dependable Systems and Networks(DSN). Chicago, 2010: 211-220.

[12]张少俊, 李建华, 宋珊珊. 贝叶斯推理在攻击图节点置信度计算中的应用[J]. 软件学报, 2010, 21(9): 2376-2386.ZHANG S J , LI J H, SONG S S. Using Bayesian inference for computing attack graph node beliefs[J]. Journal of Software, 2010, 21(9):2376-2386.

[13]ABRAHAM S, NAIR S. A predictive framework for cyber security analytics using attack graphs[J]. International Journal of Computer Networks amp; Communications, 2015, 7(1): 1-17.

[14]FREDJ O B. A realistic graph-based alert correlation system[J]. Security and Communication Network, 2015, 8(15): 2477-2493.

[15]冯学伟, 王东霞, 黄敏桓. 一种基于马尔可夫性质的因果知识挖掘方法[J]. 计算机研究与发展, 2014, 51(11): 2493-2504.FENG X W, WANG D X, HANG M H. A mining approach for causal knowledge in alert correlating based on the Markov property[J]. Journal of Computer Research and Development, 2014, 51(11):2493-2504.

Attack path prediction method based on causal knowledge net

WANG Shuo1, TANG Guang-ming1, KOU Guang1,2, SONG Hai-tao1
(1. PLA Information Engineering University, Zhengzhou 450001, China;
2. Science and Technology on Information Assurance Laboratory, Beijing 100072, China)

The existing attack path prediction methods can not accurately reflect the variation of the following attack path caused by the capability of the attacker. Accordingly an attack path prediction method based on causal knowledge net was presented. The proposed method detected the current attack actions by mapping the alarm sets to the causal knowledge net. By analyzing the attack actions, the capability grade of the attacker was inferred, according to which adjust the probability knowledge distribution dynamically. With the improved Dijkstra algorithm, the most possible attack path was computed. The experiments results indicate that the proposed method is suitable for a real network confrontation environment. Besides, the method can enhance the accuracy of attack path prediction.

attack path prediction, causal knowledge net, attacker capability, probability knowledge distribution, Dijkstra algorithm

s:The National Natural Science Foundation of China(No.61303074), Foundation of Science and Technology on Information Assurance Laboratory (No.KJ-14-106)

TP393.8

A

10.11959/j.issn.1000-436x.2016210

2016-02-22;

2016-08-18

国家自然科学基金资助项目(No.61303074);信息保障技术重点实验室开放基金资助项目(No.KJ-14-106)

王硕(1991-),男,河南南阳人,解放军信息工程大学硕士生,主要研究方向为网络安全。

汤光明(1963-),女,湖南常德人,解放军信息工程大学教授,博士生导师,主要研究方向为网络信息安全和体系对抗。

寇广(1983-),男,河南许昌人,解放军信息工程大学讲师,主要研究方向为网络安全态势感知、大数据和云计算安全。

宋海涛(1990-),男,山东烟台人,解放军信息工程大学博士生,主要研究方向为网络安全。

猜你喜欢

攻击行为攻击者概率
第6讲 “统计与概率”复习精讲
住院精神病人暴力攻击行为原因分析及护理干预
第6讲 “统计与概率”复习精讲
基于人工蜂群算法的无线网络攻击行为的辨识研究
概率与统计(一)
概率与统计(二)
正面迎接批判
正面迎接批判
高职生共情、宽恕、攻击行为的关系研究
有限次重复博弈下的网络攻击行为研究