基于因果知识网络的攻击场景构建方法
2018-12-20汤光明王建华孙怡峰
王 硕 汤光明 王建华 孙怡峰 寇 广
(解放军信息工程大学 郑州 450001)
在当今这个全球化的时代,网络技术就像整个社会的神经,深刻影响着国际政治、经济、文化、社会、军事等领域的发展.随着网络结构日趋复杂、规模日渐庞大,入侵过程也向复杂性、多样性和分布性的趋势发展.根据国家计算机网络应急技术处理协调中心的年度网络安全工作报告[1],近几年来大部分攻击尤其是危害大的攻击几乎都是复杂的多步攻击.对于复杂的多步攻击,攻击者对网络目标设施的渗透破坏过程往往是渐进的,通过执行多个攻击步骤实现最终目的,使得传统的面向单个安全事件检测的网络安全设备失效.多步攻击成为目前网络攻击主要手段之一,严重危害着网络信息安全.攻击场景构建技术将庞杂、无序的告警流转换为易于理解的攻击场景,大大提高了告警信息的可用性,能够为发现攻击者的攻击策略和预测下一步可能的攻击行为提供依据,便于管理员做出及时有效的应急响应.因此,研究如何掌握攻击活动的全貌、重建攻击场景是应对多步攻击威胁的重要手段,并逐渐成为网络安全防御领域的研究热点.
攻击场景构建是对告警事件的实际分析和应用,实现攻击场景重建的方法为告警关联.告警关联是将经过告警聚合和告警确认后的超告警与网络的实际背景知识相结合,挖掘出其中存在的真正网络威胁和安全事件,进而揭示出各个安全事件背后的逻辑关联,发掘攻击者的真正攻击意图.目前,基于告警关联的攻击场景构建方法主要分为3类:1)基于机器学习的方法[2-3].构建的攻击场景虽然对专家知识依赖较少,但存在准确度低、结果难以理解、计算量大和实时性差等缺陷.2)基于已知攻击场景的方法[4-5].虽然准确度相对较高,但是事先获得攻击过程和关联规则比较困难,此外这种方法无法检测出未知攻击场景的多步攻击行为.3)通过原子攻击前因后果关系进行关联的方法[6-8].只需获取原子攻击的前因后果关系,不必事先知道整个攻击过程,更加灵活,同时这种方法可以识别和检测不同原子攻击组合形成的新攻击过程,因此成为目前攻击场景构建技术的研究趋势.
目前,通过原子攻击前因后果关系进行关联的方法的难点主要体现在2方面:前因后果关系的获取和关系强度的设定.对于定性的前因后果关系的研究相对已经成熟,受到认可的模型有攻击图[7]、攻击树[9]、Markov链[10]、Petri网[11]等,尤其以攻击图模型最为流行.而针对定量关系强度的设定,目前的研究还不充分,主要思路有2种:1)利用安全脆弱点评估系统(common vulnerability scoring system, CVSS)中的相关指标设定[12];2)利用数据挖掘从告警数据中提取概率.前者仅仅是利用专家知识给出的所有网络的共性度量,主观性较强.鉴于此,王硕等人[13]提出了依据攻击者能力动态调整攻击图中边概率的方法,但其概率设定的原始依据仍是CVSS,并不一定适合具体的网络攻防环境.随着大数据技术的崛起,针对后者的研究相对较多.具体来讲,李之堂等人[14]将告警用它对应的攻击类型属性进行替换,进而利用概率统计挖掘攻击场景,然而由于不同的单步攻击可能有着同样的攻击类型,因此其挖掘出来的概率准确度有待进一步提高.吴庆涛等人[15]提出了一种改进的基于因果关联的攻击场景重构方法,该方法根据告警相关度确定可组合的关联图,利用网络弱点和攻击关系推出漏告警,使得分裂的关联图能够组合起来,进而重建完整的攻击场景;然而,文中并没有考虑误告警的情况.马琳茹等人[16]提出一种基于属性层次树的相似度隶属函数定义方法,用模糊聚类的方法实现攻击场景重构;然而只是将关联图简单地组合起来,而没有对漏掉的攻击进行假设和推理.刘敬等人[17]针对传统网络安全事件分析方法较多依赖人工干预的问题提出了利用神经网络和遗传算法相结合的网络安全事件分析方法,具有较高的自适应能力和自动化程度;然而文中所定义的攻击模式和攻击场景相对简单,不便于网络管理员理解.刘威歆等人[18]综合利用图关系和阈值限制进行联动推断和预测,达到更为全面解决攻击图中的告警漏报和减少误报的目的,然而由于攻击图节点之间的关联强度仅仅依靠相邻节点的消息强度和消息方向累积获取,只能定性分析最大可能攻击路径而不能定量分析其攻击成功的概率.胡亮等人[19]将智能规划的方法应用于多步攻击识别的领域,并以此为基础实现相应的识别算法,但算法没有考虑到漏报误报情况下的求解问题.
综上分析得出,如何从漏报误报的告警流中构建完整的攻击场景仍然是一个极具挑战性的问题.针对此问题,本文提出了基于因果知识网络的攻击场景构建方法.一方面利用有向无环图定义原子攻击中的因果关系;另一方面利用真实告警数据挖掘出能够定量刻画因果关系的因果知识,进而将攻击场景的构建分为初建与重构2步,定性与定量相结合,利用最大后验估计原理重构完整的攻击场景.
1 因果知识网络模型
基于因果知识网络的攻击场景构建方法的核心思想是通过构建因果知识网络,并从告警数据中挖掘出合理的因果知识,进而利用因果知识网络进行攻击场景的推理与构建.模型总体框架如图1所示:
Fig. 1 The overall framework of attack scenario construction method based on causal knowledge network图1 基于因果知识网络的攻击场景构建方法总体框架
该方法整体分为4个过程:
1) 告警映射及聚类.告警映射将告警转换为因果知识网络的节点,用于描述因果知识网络中攻击行为发生的状况;告警聚类将属于同一攻击场景的告警聚为一类,防止告警数据的混乱.通过告警映射及聚类将告警数据转化为按时间排列的节点序列,为因果知识挖掘和攻击场景构建作准备.
2) 因果知识挖掘.基于Markov链模型,对节点序列间的一步转移概率进行挖掘,得到初步的因果知识.
3) 因果知识的显著性检验.利用基于成对数据的t检验方法对挖掘得到的初步因果知识进行假设检验.若通过检验,则认为因果知识合理;若没有通过检验,则认为因果知识不合理,需要利用扩大告警数据集等方法进行重新挖掘,直到通过显著性检验.
4) 攻击场景构建.基于因果知识网络,利用最大后验估计原理,进行攻击场景的构建.
为了方便表述,首先给出一些关键定义.
定义1. 因果知识网络Gk=(G,K).其中G=(Node,E)为有向无环图,用于表示因果关系,Node是因果知识网络中所有节点的集合;E是连接节点的边的集合,代表节点间即单步攻击之间的关联关系;K是概率知识的集合,表示由当前节点状态转移到下一节点状态的概率,用于量化攻击节点之间的关联关系.
定义2. 节点集Node={si|i=1,2,…}∪{vi|i=1,2,…}.节点集是因果知识网络中状态型节点s和攻击行为节点v的集合.节点序列指节点集中的若干节点按时间顺序排列而成的序列,用Nodeseq表示.
定义3. 告警ai=(timestamp,srcIP,srcPort,desIP,desPort,Alarmtype,Class)表示为七元组.其中,timestamp为告警产生的时间,不同网络安全设备的时间要进行统一校对以保证timestamp的准确性;srcIP和srcPort分别为告警的源IP地址和源端口;desIP和desPort分别为告警的目的IP地址和目的端口;Alarmtype为告警的类型,分为状态型告警和事件型告警2种.状态型告警主要反映攻击者拥有的攻击资源及权限能力,由当前网络安全配置及防火墙等网络安全设备获取,状态型告警映射为因果知识网络中的状态节点;事件型告警主要反映攻击者实施的攻击行为,由入侵检测系统等网络安全设备获取,事件型告警映射为因果知识网络中的攻击行为节点.本文设定Alarmtype=1表示状态型告警,而Alarmtype=0表示事件型告警.Class为告警的具体种类,如状态型告警可分为拥有非法权限、非法网络连接等;事件型告警可分为漏洞扫描、缓冲区攻击、DOS攻击等.
定义4. 告警集Alarm={ai|i=1,2,…}.告警集是由入侵检测系统等网络安全设备产生的告警集合,则时间窗T内获取的告警集表示为AlarmT.
2 基于因果知识网络的攻击场景构建方法
2.1 告警映射及聚类
告警映射是将告警映射到因果知识网络中的节点,即将告警集Alarm转化为节点集Node的过程.由于timestamp反映了攻击发生的时间;源和目的IP地址反映了攻击发生的位置;Class反映了攻击所用的方法,它们共同决定了一次单步攻击行为.因此,本文利用告警的源IP、目的IP、告警类型及种类作为告警映射的条件,具体的告警映射方法为
(1)
为了区分不同时间发生的攻击行为,将告警的timestamp作为告警映射后节点v或s的时间标签,用于标识其发生时间.此外,当告警映射为空时,一方面可能是误告警;另一方面可能是因果知识网络的结构不够完整,即缺少相应的节点.针对这种情况要结合专家知识进一步分析,如果确认是误告警则直接去除并加入知识库便于以后的告警处理;如果确认是因果知识网络结构不够完整,则将其更新,这种利用专家知识解决告警异常的方法一定程度上能够识别新的攻击行为,是有效且必要的辅助手段.
通过告警映射,将告警转换为因果知识网络的节点,更利于因果知识的获取和攻击场景的构建.然而,由于大量的告警事件中反映的不止1个攻击场景,如果对告警事件不加处理而直接进行关联,必将导致构建的攻击场景混乱.为了解决此问题,首先对告警进行聚类,使得同一攻击场景的告警聚为1类,不同攻击场景的告警彼此分开,然后再进行因果知识的挖掘和攻击场景的构建.
针对海量的告警事件,告警聚类依据属于同一攻击场景的告警的性质将告警事件聚为若干类,一方面利于因果知识的挖掘和攻击场景的构建;另一方面有利于告警关联的并行处理,提高效率.针对此问题,梅海彬等人[20]通过定义告警相似度(考虑到时间、IP相似性)进行聚类;冯学伟等人[21]则认为由同一攻击活动触发的因果告警事件,彼此在地址分布上总是具有关联性,故他通过地址相关性进行告警聚类.本文借助因果知识网络,设计了告警聚类的3个原则:
1)考虑到攻击行为的连贯性,规定了相邻攻击步骤或状态转移产生的告警间隔必须在一定的时间窗内;
2)考虑到因果知识网络中父节点早于子节点发生,规定告警间时序关系与其映射到因果知识网络中的节点之间逻辑因果关系一致;
3)考虑到攻击行为的关联性,规定告警映射后的节点符合图距离限制.
其中,原则3中因果知识网络中节点的图距离定义如图2所示.图2中d用于表示节点之间的图距离,如d(v2,v1)=2表示节点v2到节点v1的图距离为2.
Fig. 2 Definition of distance between nodes in a causal knowledge network图2 因果知识网络上的节点之间距离的定义
具体地,告警聚类的3个原则形式化表示为:
1) |timestamp(ai)-timestamp(aj)| 2) (timestamp(ai)-timestamp(aj))×d(map(ai),map(aj))<0; 3) |d(map(ai),map(aj))| 其中,ai和aj表示2个不同的告警,Win为时间限制,L为图距离限制,当它们同时满足这3个原则时,可将这2个告警聚为1类,据此,可将大量的告警事件聚为若干类.通过聚类将告警映射形成的节点集Node转化为节点序列集,即Node→{Nodeseqi|i=1,2,…},进而为因果知识挖掘和攻击场景构建作准备. 在物理学中,很多确定性现象遵从演变原则:由时刻t0系统或过程所处的状态,可以决定系统或过程在时刻t>t0所处的状态,而无需借助于以前系统所处状态的历史信息.这种性质称为Markov性或无后效性: p(xi+1|xi,xi-1,…,x1)=p(xi+1|xi). (2) 其中,p表示概率;xi表示系统当前所处的状态,而xi+1表示系统下一时刻所处的状态. 在攻击建模的研究中,Ammann等人[22]首先提出攻击者不会为了获取已有权限而发动攻击的观点,得到相关学者的认可.由于攻击过程中攻击者获得的攻击资源为增量增长的,则依据Ammann等人[22]的观点,攻击者下一步的攻击行为只与当前拥有的攻击资源有关,而无需借助于攻击者以前的攻击行为.因此,本文将攻击者实施的多步攻击行为视为符合Markov链性质的离散随机过程,进而利用Markov链模型进行因果知识挖掘.结合本文的因果知识网络模型,利用节点之间的一步转移概率矩阵来表示Markov链模型,即因果知识. 定义6. 因果知识K={K1,K2,K3,K4}.由于本文提出的因果知识网络由2种不同性质的节点组成,则共有4个不同的一步转移矩阵,分别用K1,K2,K3,K4表示.设因果知识网络中的状态节点s的个数为m个,攻击行为节点v的个数为n个,则K1为m×n的矩阵,其每一个元素表示从状态节点到攻击行为节点(s→v)的一步转移概率;则K2为n×m的矩阵,其每一个元素表示从攻击行为节点到状态节点(v→s)的一步转移概率;则K3为m×m的矩阵,其每一个元素表示从状态节点到状态节点(s→s)的一步转移概率;则K4为n×n的矩阵,其每一个元素表示从攻击行为节点到攻击行为节点(v→v)的一步转移概率.K1,K2,K3,K4共同构成了因果知识网络的因果知识. 设由告警映射及聚类得到的节点序列集为{Nodeseqi|i=1,2,…},则基于Markov链模型的因果知识挖掘方法通过对{Nodeseqi|i=1,2,…}中各个节点序列中的一步转移节点关系提取并计数,再依据Markov链所有转移概率之和为1的要求进行标准化,进而得到一步转移概率矩阵.以节点序列s1→s2→v1→s3→v2→v3→s4→v4→s5为例,则满足s→v一步转移节点关系的是s2→v1,s3→v2,s3→v3,s4→v4;满足v→s一步转移节点关系的是v1→s3,v3→s4,v4→s5;满足s→s一步转移节点关系的是s1→s2,s2→s3,s3→s4,s4→s5;满足v→v一步转移节点关系的是v1→v2,v2→v3,v3→v4.对{Nodeseqi|i=1,2,…}中各个节点序列进行同样的节点关系提取并计数,进而根据所有转移概率之和为1的要求进行标准化,从而得到一步转移概率矩阵K1,K2,K3,K4: 满足: 又由因果知识网络结构得出2个修改原则: 1) 对于没有父节点的节点,其他所有节点到此节点的一步转移概率为0; 2) 对于没有子节点的节点,此节点到其他所有节点的一步转移概率为0. 根据以上2个修正原则,对K1,K2,K3,K4中的相关节点概率进行置0操作,即得到初步的因果知识. 因果知识是利用因果知识网络进行定量推理的依据,因此因果知识的合理度直接影响了攻击场景构建的准确度.为保证挖掘得到的因果知识准确合理,本文提出了基于成对数据t检验的方法对2.2节得到的初步的因果知识进行显著性检验,只有通过显著性检验的因果知识才能作为后续攻击场景构建的依据. 2.3.1 显著性检验理论依据 (3) (4) K3和K4是由告警挖掘得到的满足s→v和v→ 证毕. 如图3所示因果知识网络,则与其节点序列完全匹配的告警产生的节点序列集为s1→v1→s2→v2→s3→v3→s4和s1→v4→s4. Fig. 3 An example of causal knowledge network图3 因果知识网络1 则由告警产生的节点序列集挖掘计算得到的因果知识转移矩阵为 则: 2.3.2 显著性检验具体方法 具体的显著性检验过程如下: H0:μD=0, (5) 本文提出的基于因果知识网络的攻击场景构建方法,依据因果知识网络,将实时的攻击场景构建分为初建和重构2步. 2.4.1 攻击场景初建 2.4.2 攻击场景重构 Step2. 结合因果知识网络和贝叶斯推理方法,赋予每一下备选攻击序列的先验概率P(h); 特别地,步骤2和步骤3中的攻击序列的先验概率以及攻击序列与节点序列的似然度计算方法如下: 1) 攻击序列的先验概率计算方法 (6) 其中一步转移概率由2.2节和2.3节挖掘得到的因果知识K提供. 2) 攻击序列与节点序列间的似然度计算方法 攻击序列与节点序列间的似然度本质是指特定攻击场景下产生此告警的可能性,借助本文的因果知识网络,攻击场景可用因果知识网络中的攻击序列表示,而告警则可转化为节点序列,于是两者间的似然度可用序列间差异来表示.为了进一步量化似然度,本文引出序列长度和序列间距2个定义. 定义7. 序列长度L.用于表征因果知识网络中的攻击序列的长度,用攻击序列中节点的总数量度量.如图4所示的因果知识网络中,攻击序列s1→v2→s3→v6→s6→v10→s9的序列长度L=7. Fig. 4 Another example of causal knowledge network图4 因果知识网络示例2 不妨设P(Nodeseq|Attackseq)为攻击序列Attackseq与节点序列Nodeseq的似然,则得出以下定理. 定理2. 假设P(Nodeseq|Attackseq)与D(Nodeseq,Attackseq)成反比,即攻击序列与节点序列间距越大,二者似然度越小,反之越大.则能够得出: (7) 证明. 由网络攻击实际知,当Nodeseq=∅时,实际意义为当发生多步攻击活动Attackseq时,获取的告警集为空,由目前的网络安全设备效率来讲,这种情况的可能性很小,即P(∅|Attackseq)=0;当Nodeseq=Attackseq时,实际意义为当发生多步攻击活动Attackseq时,获取了每一步攻击活动的告警,发生这种情况的可能性很大,即P(Nodeseq|Attackseq)=1.由此可知,当Nodeseq=∅时,D(Nodeseq,Attackseq)=L(Attackseq),P(∅|Attackseq)=0;当Nodeseq=Attackseq,D(Nodeseq,Attackseq)=0,P(Attackseq|Attackseq)=1.又由于P(Nodeseq|Attackseq)与D(Nodeseq,Attackseq)成反比,由2点式直线方程可知: (8) 化简得: (9) 证毕. P(Nodeseq|Attackseq)与D(Nodeseq,Attackseq)的关系如图5所示: Fig. 5 The relationship between P(Nodeseq|Attackseq) and D(Nodeseq,Attackseq)图5 P(Nodeseq|Attackseq)与D(Nodeseq,Attackseq)的关系 由定理2,依据候选攻击序列与节点序列的序列间距以及攻击序列的长度即可计算出攻击序列与节点序列的似然度. 目前,能够用于攻击场景构建的公开数据集较少.1998年美国国防部为了加强网络安全技术,实施了DARPA项目,此项目生成的数据集成为目前公认的可用于攻击场景构建的数据集.DARPA实施了2个攻击过程:LLDOS1.0和LLDOS2.0.由于LLDOS1.0和LLDOS2.0这2个攻击场景的攻击目标一致,都是对目标主机131.84.1.31实施DDOS攻击,且它们的攻击过程基本相似,均是利用Sadmind漏洞实施的DDOS攻击过程.而区别在于LLDOS2.0比LLDOS1.0更难被检测,其中的一些攻击过程与正常的网络行为相似,检测系统并没有产生相应的告警,相当于“漏报”的情况.而由于官方公布的数据集中没有明确指出目标网络的漏洞知识,鉴于此,依据大量学者[23-24]的研究,再加上对LLDOS1.0攻击过程中产生告警的分析,构建此网络的因果知识网络,在此基础上利用因果知识网络对LLDOS2.0的攻击场景进行构建.深入分析知,网络中的漏洞信息、攻击方法和告警类型对应关系如表1所示.构建的LLDOS因果关系网络如图6所示. Table 1 Corresponding Relation of Vulnerability Information, Attack Method and Alarm Type in the Network表1 网络中的漏洞信息、攻击方法和告警类型的对应关系 由于LLDOS每一步利用的原子攻击均比较简单,其前提条件和后果均可由所利用的攻击手段得出,例如IPSweep攻击的前提条件为源主机能够访问目标主机,且目标主机存在ICMP Incorrectly Configured漏洞,攻击的后果则为探测到目标主机的信息;Sadmind Exploit攻击的前提条件为具有目标主机的普通权限,且目标主机存在Sadmind Buffer Overflow漏洞,攻击的后果则为获得目标主机的ROOT权限.因此,为了便于描述,不再具体给出每一个原子攻击的前提后果条件.具体地,因果关系网络中原子攻击行为节点对应的攻击手段如表2所示;因果关系网络中状态节点对应的IP地址如表3所示.LLDOS1.0的攻击场景如图7所示,深色节点表现了整个攻击过程. Table2TheAttackMeansCorrespondingAtomicAttackBehaviorNode 表2 原子攻击行为节点对应的攻击手段 Fig. 6 Causal relationship network of LLDOS图6 LLDOS因果关系网络 Table 3 The IP Address Corresponding to the Status Node 通过分析LLDOS2.0中告警,推理的LLDOS2.0的攻击场景如图8所示.图8中黑色实心小圆表示此节点检测到了告警,由于LLDOS2.0的攻击手段比LLDOS1.0隐蔽,使得攻击过程中存在告警漏报现象.结合因果关系网络,可知对应v5,s5,v16,s14的告警出现漏报,整个攻击过程如图8中深色节点所展现.攻击者先采用正常的DNS Query,查询到DNS服务器172.16.115.20,并利用该主机中Sadmind漏洞获得ROOT权限,再以该主机为跳板控制主机172.16.112.50,最后通过172.16.115.20和172.16.112.50对目标主机实施DDOS攻击. 由上述实验可知,尽管官方公布的数据中不含历史告警库,无法从中挖掘出因果知识,但是依据本文方法构建出因果关系网络,并在此基础上利用定性的告警映射关联,能够构建出LLDOS2.0的攻击场景. 为了进一步验证本文方法的有效性,搭建了一个实际网络环境来进行测试.实验环境拓扑如图9所示. Fig. 7 Attack Scenario of LLDOS1.0图7 LLDOS1.0的攻击场景 Fig. 8 Attack Scenario of LLDOS2.0图8 LLDOS2.0的攻击场景 外网用户可通过Internet访问本网络.实验网络分为4个区域,分别是DMZ区、子网1、子网2和子网3.DMZ区包含Web服务器和Email服务器.子网1由3台主机构成.子网2由1台工作站和1台文件服务器组成.子网3包括1台工作站和数据库服务器.各区域的IDS负责检测各区域中的异常行为并产生告警.网络可达性设为:DMZ区由防火墙1保护并连接Internet,且只能访问子网1中的主机1、子网2中的文件服务器和子网3中的数据库服务器.子网1中的主机1能够访问子网2和子网3中的所有机器,主机3只能访问主机1和数据库服务器,主机2只能访问主机3.子网2中的工作站1和子网3中的工作站2能访问数据服务器和文件服务器.通过Nessus脆弱点扫描器对网络各网络段进行扫描,得到各主机中漏洞信息如表4所示.依据漏洞信息和CVSS分析得出的攻击行为信息如表5所示. 根据图9和表5,确定因果知识网络基本结构如图10所示,从初始状态s1到目标状态s9共有6条不同的攻击路径,分别是path1:s1→v1→s2→v5→s8→v13→s9;path2:s1→v1→s2→v3→s4→v6→s6→v11→s8→v13→s9;path3:s1→v1→s2→v4→s5→v7→s6→v11→s8→v13→s9;path4:s1→v1→s2→v4→s5→v8→s7→v12→s8→v13→s9;path5:s1→v1→s2→v4→s5→v10→s8→v13→s9;path6:s1→v2→s3→v1→s2→v4→s5→v9→s9. Fig. 9 Experimental network topology图9 实验网络拓扑图 Table 4 The Information of Hosts and Vulnerabilities 表4 各主机信息及其所含漏洞信息 Table 5 The Information of Attack Behaviors表5 攻击行为信息 Fig. 10 The causal knowledge network structure of experiment图10 实验得出的因果知识网络结构 依据此网络产生的告警集,利用本文提出的因果知识挖掘方法得到的通过显著性检验(取显著性水平α=0.05)的因果知识为K={K1,K2,K3,K4},具体地: 实验模拟了3个不同的攻击场景,用于验证告警冗余及缺失时攻击场景构建的准确性.具体实验结果如表6所示. 实验1对于告警缺失的情况进行了模拟,模拟的攻击序列为s1→v1→s2→v3→s4→v6→s6→v11→s8→v13→s9,而由告警映射形成的节点序列为s1→v1→v3→s4→v6→v11→v13→s9,即缺失了状态节点s2,s6,s8.结合因果知识网络选取了2个候选的攻击序列:s1→v1→s2→v3→s4→v6→s6→v11→s8→v13→s9和s1→v1→s2→v4→s5→v7→s6→v11→s8→v13→s9.依据本文提出的基于最大后验假设估计的攻击场景定量重构方法,计算得出前者的概率为0.845×0.572×(11-3)11=0.351 52,后者的概率为0.845×0.144×0.238×(11-5)11=0.015 796,取二者概率最大的攻击序列,即可得出重构后的攻击序列为s1→v1→s2→v3→s4→v6→s6→v11→s8→v13→s9,与模拟的攻击序列一致,故攻击场景构建成功.实验2模拟了告警冗余的情况,模拟的攻击序列为s1→v1→s2→v5→s8→v13→s9,而由告警映射形成的节点序列为s1→v2→s2→v5→v3→s8→v13→s9,即v3为冗余的告警.结合因果知识网络选取了2个候选的攻击序列:s5→v8→s7→v12→s8→v13→s9和s1→v1→s2→v3→s4→v6→s6→v11→s8→v13→s9.同样方法计算得出前者的概率为0.845×0.284×(7-1)7=0.205 7,后者的概率为0.845×0.572×(11-7)11=0.175 76,取二者概率最大的攻击序列,即可得出重构后的攻击序列为s5→v8→s7→v12→s8→v13→s9,与模拟的攻击序列一致,故攻击场景构建成功.实验3模拟了告警冗余和告警缺失这种混合情况,模拟的攻击序列为s1→v1→s2→v4→s5→v8→s7→v12→s8→v13→s9,而由告警映射形成的节点序列为s1→v1→s2→s5→v9→v8→s8→v13→s9,即缺失了告警v4、s7和v12,而v9为冗余的告警,依据因果知识网络,选取了3个候选的攻击序列:s1→v1→s2→v4→s5→v8→s7→v12→s8→v13→s9,s1→v1→s2→v4→s5→v7→s6→v11→s8→v13→s9,s1→v1→s2→v4→s5→v2→s3→v9→s9.计算得出三者的概率分别为:0.845×0.144×0.301×(11-4)11=0.205 7=0.023 3,0.845×0.144×0.238×(11-7)11=0.010 5,0.845×0144×0.155×0.175×(9-4)9=0.001 8,取3者概率最大的攻击序列,即可得出重构后的攻击序列为s1→v1→s2→v4→s5→v8→s7→v12→s8→v13→s9,与模拟的攻击序列一致,故攻击场景构建成功. Table 6 Experimental Results of Three Different Simulated Attackseq表6 不同模拟攻击序列下的实验结果 此外,与陈小军等人[12]的结果相比,在他们的第2个实验中,由于观测事件o6的置信度为1,而观测事件o7和o9的置信度小于1,因此应用本文的方法可将文中求最可能的攻击路径的问题转化为已知节点序列v7→v9的条件下求最有可能的攻击场景.由于攻击目标状态节点为s5,则候选的攻击序列为s0→v6→s6→v7→s7→v8→s8→v9→s4→v5→s5和s0→v10→s7→v8→s8→v9→s4→v5→s5.计算可得前者的概率为0.8×1×0.8×1×0.5×1×0.9×1×(11-8)11=0.0785,后者的概率为0.8×1×0.8×1×0.5×1×0.9×1×(9-8)9=0.032,取二者概率最大的攻击序列,故应用本文方法构建的攻击场景为s0→v6→s6→v7→s7→v8→s8→v9→s4→v5→s5,与原文中结果保持一致,而由于陈小军的方法计算的是累积概率,导致其概率计算结果相对较大. 综上,本实验验证了本文提出的基于因果知识网络的攻击场景构建方法适用于解决告警缺失及冗余条件下攻击场景的构建问题. 目前,以高级持续性威胁(advanced persistent threat, APT)攻击为代表的多步攻击行为给网络安全造成了极大的威胁.攻击场景构建能够通过告警数据重现攻击者的攻击过程,为攻击行为分析及预测提供了重要依据,是应对多步攻击威胁和实施网络安全主动防御的重要手段.然而,在当前有关攻击场景构建的研究中,普遍缺乏对告警缺失及冗余的考虑,导致攻击场景构建不完整、不准确.针对此问题,本文提出了基于因果知识网络的攻击场景构建方法.首先选给出了因果知识网络的相关定义,并设计了获取因果知识网络的方法;然后在因果知识网络的基础上,利用概率推理分2步重构攻击场景.实验结果表明,该方法能利用专家知识和数据挖掘相结合的优势,能够提高攻击场景构建的准确度,为网络管理员理解当前攻击行为态势提供了重要依据.未来的工作包括考虑目标网络存在零日漏洞条件下攻击场景的重构问题.2.2 因果知识挖掘
2.3 因果知识的显著性检验
H1:μD≠0.2.4 攻击场景构建
3 实验与分析
3.1 基于公开数据集的实验分析
3.2 真实网络环境中的实验分析
4 结束语