基于贝叶斯攻击图的层次化威胁度HTV分析方法

2016-08-05 07:58王云峰闫玺玺
计算机应用与软件 2016年7期
关键词:攻击者贝叶斯威胁

王 辉 王云峰 闫玺玺

(河南理工大学计算机科学与技术学院 河南 焦作 454000)



基于贝叶斯攻击图的层次化威胁度HTV分析方法

王辉王云峰闫玺玺

(河南理工大学计算机科学与技术学院河南 焦作 454000)

摘要现有脆弱性分析方法难以兼顾评估目标系统整体安全性和脆弱点的严重程度, 同时评估过程需要处理大量的不确定信息。为此,提出一种层次化威胁度的HTV分析方法。首先,通过分析原子攻击和攻击证据的关联性,提出一种因果关系检测算法CRDA,以确定二者因果关系;其次,依据攻击模型的系统架构,给出贝叶斯攻击图BAG定义,并给出对应的生成算法BAGA,以及时有效地识别脆弱点;最后,给出脆弱点威胁度定义和计算模型,并以攻击者所获脆弱点权限为基准,将威胁度划分不同层次,以有效评估脆弱点的严重程度和目标系统整体安全性。实验结果表明,所提方法评估系统整体安全性以及脆弱点的严重程度是完全可行且有效的。

关键词贝叶斯攻击图攻击模型因果关系脆弱点威胁度

0引言

伴随着网络系统的复杂化,由安全漏洞(或者称作脆弱点)引发的网络安全问题日益受到关注。出现这种现象,一个重要的原因是现有脆弱性扫描技术难以有效评估脆弱点相互作用带来的威胁。一方面,这些技术只是孤立地分析脆弱性信息,不能综合评估系统整体安全威胁[1];另一方面,如Nessus、X-Scan等脆弱点扫描技术,容易受到软件发布及硬件升级等因素影响[2],无法及时有效地识别系统脆弱点。因此,需要寻求一种有效方法评估系统安全态势,为管理员提供决策支持。

近年来,研究人员开始应用贝叶斯网络和攻击图于安全态势评估[3-7]。作为一种脆弱性分析工具,攻击图能够基于系统网络配置和脆弱性信息,自动识别可能的脆弱点;能够通过分析脆弱点依赖关系,展示所有攻击路径,综合评估系统安全态势。但是,攻击图对脆弱点依赖关系的描述,仅表示一种理论可能性,无法有效地描述实际的非确定性依赖关系[8]。实际的脆弱点识别和评估过程,需要处理大量的不确定性信息[9]。这些不确定性信息的一个主要表现是攻击行为和攻击证据的因果关系存在不确定性。这种不确定性影响了脆弱点评估结果的准确性。相较于攻击图,贝叶斯网络用节点和有向弧描述攻击行为和攻击证据的因果依赖关系,用概率描述节点间不确定性关系,具备处理非确定性关系的能力[10,11]。同时,其本身是一种属性攻击图[1,12]。因而,贝叶斯网络成为系统安全态势评估的有效方法。但是,这种评估方法需要解决脆弱点属性值的标准化问题[8]。

目前,这种标准化工作的一个较为成熟的成果是通用脆弱点评估系统(CVSS)[13]。它的一个主要功能是将与脆弱点有关的因素量化为对应的属性值,为安全态势评估提供基础数据。考虑到资源、成本等因素,脆弱点的严重程度不同,可能对目标系统造成的危害也不同。因而,如何基于贝叶斯网络和CVSS评估脆弱点的严重程度,以确定它们的优先处置顺序就成为需要解决的问题[9]。本文提出了一种层次化脆弱点威胁度HTV(the hierarchical threat of vulnerability)的评估方法。这种方法能够依据攻击者获取的目标权限,将脆弱点威胁划分为严重程度不同的几个层次,从而解决脆弱点的严重程度评估问题。

1相关工作

目前,一些研究工作开始尝试基于贝叶斯网络和CVSS,解决系统安全评估问题。文献[8]尝试基于贝叶斯网络和CVSS计算脆弱点被成功利用的概率;文献[14]提出了一种利用日志审计评估脆弱点威胁的安全态势评估模型;文献[2,15]将攻击图和CVSS结合成贝叶斯模型,提出了利用条件概率计算渗透节点概率值的方法。这些评估方法主要通过计算节点概率分析网络安全态势。

然而,贝叶斯网络中,节点概率只表示脆弱点被成功利用的难易程度[8],不能评估其本身的严重程度。文献[2,8,14,15]却未考虑到这点。文献[9]提出了基于攻击图和颜色Petri网评估脆弱点威胁度的方法。通过将子攻击图转换为不确定性推理规则集,并基于D-S证据理论计算单个脆弱点的严重程度,但是未考虑单个脆弱点对网络整体安全造成的威胁。文献[16]尝试基于贝叶斯网络动态评估网络安全风险。通过将贝叶斯网络逻辑用于脆弱性威胁分析,文献提出了计算多目标安全概率的量化评估模型,但是未给出评估目标网络整体安全的具体方法。文献[17]提出了基于攻击图的单个脆弱点威胁量化方法,通过将脆弱点被利用的可能性量化为一个威胁区间,有效地评估了目标网络整体安全态势。但是它未能提出有效的方法评估脆弱点本身的严重程度。

针对上述不足,本文提出一种层次化脆弱点威胁度的分析方法。在借鉴原有评估方法和思想的基础上,本文进一步提出了一种新颖的脆弱点威胁分析方法,并定义了贝叶斯攻击图BAG和脆弱点威胁度,提出了因果关系检测算法CRDA,改进了攻击图生成算法。方法通过定义脆弱点威胁度,并以一次成功的脆弱性利用可能获取的权限为基准,将脆弱点分为不同层次,实现了对脆弱点的严重程度及目标系统安全态势的评估。与前述方法相比,通过提出检测算法CRDA,不仅实现了对评估过程中不确定信息的处理,使评估结果更加合理,而且通过调用这一算法于BAGA算法,可以有效地避免攻击图生成算法存在的循环路径问题,使其可以应用于生成贝叶斯网络。同时,通过分析脆弱点威胁度,将脆弱点威胁分为不同层次,实现了对系统整体安全性和脆弱点严重程度的兼顾评估。

2概述与定义

攻击行为和攻击证据因果关系的不确定性是目标网络存在不确定性信息的一个重要体现。为了描述这种不确定性,本节给出了一些基本定义,并提出了检测这种因果关系的算法。

定义1(脆弱点)令V指代脆弱点集,元素vi∈V指代脆弱点项。

计算机系统中的脆弱点泛指计算机硬件、软件等存在的安全技术缺陷或管理上存在的策略缺陷。本文所探讨的脆弱点仅包括网络系统存在的操作系统漏洞、MoS/DoS攻击点等安全技术缺陷。它们能够被攻击者利用,威胁网络系统安全。

定义2(原子攻击)令A指代原子攻击集,元素aj∈A指代原子攻击项。

为方便叙述,本文将攻击者对单个脆弱点的一次利用称为原子攻击。原子攻击对脆弱点的利用是通过一系列指令或操作实现的。因此,本质上,原子攻击是这些命令或操作依照一定顺序组成的集合。本文将这些命令和操作统称为基本操作,用mi表示。基本操作及它们的组合顺序不同,由它们所组成的原子攻击也不同。如图1所示,{m1→m2→m3→m4}和{m1→m2→m3→m4}分别表示两个不同的原子攻击。

图1 原子攻击

定义3(攻击证据)令O指代攻击证据集,元素ol∈O指代攻击证据项。

攻击证据是系统日志根据监测系统的观测数据所记录的一系列基本操作的集合。考虑到系统瘫痪、UDP数据包欺骗等影响因素,监测系统在观测原子攻击时,不可避免地会遗漏一些基本操作。鉴于此,本文对那些包含的基本操作相同但是顺序不同的原子攻击不作区分,即认为它们产生的攻击证据是相同的。同一原子攻击能够产生不同的攻击证据,同一攻击证据的产生也可能依赖于多个原子攻击的共同影响。它们因果关系的不确定性可以用图2表示。

图2 因果关系贝叶斯模型

图2中,原子攻击a1可能产生的攻击证据为o1、o2、o3,原子攻击a2可能产生的攻击证据为o2、o3、o4,由原子攻击a1、a2共同产生的攻击证据为o2、o3。a1、a2和o2、o3的这种依赖关系就是攻击行为和攻击证据因果关系的不确定性,即我们无法确定产生o2和o3的真正的原子攻击。

为解决这种不确定性,需要度量原子攻击产生攻击证据的可能性,即P(o1,o2,…,ol|a1,a2,…,aj),首先给出如下定义:

定义4设X1, X2,…,Xn为组成集合X的元素,Y1, Y2,…,Ym为组成集合Y的元素,Z为Y的子集,即Z⊆Y。若对任意的r(1≤r≤n)及任意的1≤ i1

假设攻击证据集合O和原子攻击集合A是组成贝叶斯网络ζ的节点集合,O={o1,o2,…,ol},A={a1,a2,…,aj},集合O中各元素在集合A发生条件下相互独立,由定义4有:

(1)

更进一步,记A={A1,A2,…,Al}。对于任意ol∈O,如果存在Al⊆A,使得ol与{A1,A2,…,Al-1}中各变量集合所包含的原子攻击元素相互独立,则:

(2)

通常情况下,P(ol|Al)并不易求得,为此,本文用攻击证据ol中相同于原子攻击aj的基本操作数与攻击证据中基本操作的个数表示P(ol|Al)。

假设组成ol的基本操作个数为nl,相同于Al中各原子攻击的基本操作数为{k1,k2,…,ks},则:

(3)

从而最终得到:

(4)

假设图2中a1={m1,m2,m3,m4},a2={m5, m6,m7, m8},o1={m1,m2,m4},o2={m1,m2,m7}。依据式(4),则P(o1| a1)=1(o1| a2)=0,P(o2| a1)=2/3, P(o2| a2)=1/3。

定义5(因果关系检测)用向量δl=(αl1,αl2,…,αlj)描述原子攻击及其攻击证据之间的因果关系。其中αlj表示原子攻击aj和攻击证据ol之间的因果关系。用RDS(αlj)承载原子攻击aj和攻击证据ol之间的因果关系。若二者之间存在因果关系,则RDS(αlj)=1,否则RDS(αlj)=0。用向量φlj=(λl1,λl2,…,λlj)表示与δl相对应的原子攻击的后验概率。λlj承载观测到攻击证据ol后,原子攻击aj的后验概率。由式(4)有P(ol|aj)=n/s(n,s为ol所对应的基本操作数)。因此,由贝叶斯定理有:

(5)

计算λlj时,P(aj)为原子攻击aj的先验概率(可由第4节计算公式求得),P(ol)为观测到的攻击证据oj的概率,由于ol已经发生,因此,P(ol)=1。如果max(φ)= λlm,此时,就可以认为原子攻击am产生了攻击证据ol,记为R(ol-am)。据此,本文给出了算法1所示的原子攻击检测算法,并给出表1所示的原子攻击检测示例(表1中假设P(a1)= P(a2)=0.5)。

算法1因果关系检测算法CRDA(Θ)

输入:因果贝叶斯网Θ。

输出:因果关系αlj集合Ψ。

1)Ψ←∅

2)FOR l=1 TO k

3)δl=(αl1,αl2,…,αlj)

4) Ml←∅

5)FOR j=1 TO m

6)IF RDS(αlj=1) THEN

8)END IF

9)Ml= Ml∪{λlj}

10)END FOR

11)max(Ml)= λlj

12)END FOR

13)Ψ=Ψ∪{ R(ol-aj) }

算法1从5)开始计算与ol存在因果关系的原子攻击aj后验概率,并在11)选择拥有最大后验概率的原子攻击作为检测结果,最后将该原子攻击及对应的攻击证据存储到集合Ψ中。观测到攻击证据后,就可以通过集合Ψ找到相应的原子攻击。

表1 因果关系检测示例

由表1可以看出,当给定因果贝叶斯模型和先验概率P(a1)和 P(a2),即可检测到攻击证据o1和o2是由原子攻击a1产生的,因而该算法能实现对模型中不确定关系的处理。

3脆弱点识别

脆弱点的存在是网络系统遭受安全威胁的最根本原因。本节从分析目标系统状态变迁出发,构建网络攻击模型生成系统架构,并在此基础上给出贝叶斯攻击图定义,改进了文献[9]的攻击图生成算法,以识别目标网络中可能存在的脆弱点。

3.1网络攻击模型生成系统架构

一次成功的原子攻击表现为对系统状态的一次改变。因此,可视网络攻击为逐步实现系统状态变迁的过程。在具备网络攻击的前提条件下,攻击者只有通过攻击目标主机脆弱点,并获得相应的权限,才能实现系统状态变迁。这一过程会伴随产生攻击证据。因此,状态变迁可以用5元组STS=(preconditions,aj,postconditions,vi,ol)表示。其中preconditions表示网络攻击(原子攻击)发生的前提条件,包括攻击源主机上的访问权限sr_access,目标主机上的访问权限dst_access,sr_l_dst表示攻击源主机与目标主机上的连接关系;postconditions表示状态变迁的结果,表现为原子攻击成功实施后攻击者能力的提升。本文用攻击权限表示攻击者能力,包括None、User、Root三个级别。系统状态变迁可以用图3所示的模型来表示。

图3 系统状态变迁

网络攻击过程包含一系列复杂的系统状态变迁。通过对目标主机脆弱点实施一次原子攻击,攻击者最终获得该主机某些权限,完成一次状态变迁。在实现系统状态变迁的基础上,攻击者对目标网络继续展开攻击,直至获得目标主机的最高权限。这一过程中,每次原子攻击的实施都会产生攻击证据。因此,可以根据观测到的攻击证据建立网络攻击模型。其基本思想为:首先,收集攻击过程中原子攻击、攻击证据以及目标网络中存在的脆弱点信息,并建立对应的列表;其次,通过分析脆弱点,找出攻击者获得某个权限后可能实施的原子攻击,并在此基础上分析上述原子攻击产生的攻击证据,确定产生这一攻击证据的原子攻击和对应的脆弱点;最后,将这一原子攻击过程加入到网络攻击模型,以此形成反映网络攻击的模型。其具体生成架构如图4所示。

图4 攻击模型生成系统架构

首先利用各种扫描、探测、信息挖掘等技术对目标网络进行信息收集,得到脆弱点列表、原子攻击列表、攻击证据列表;其次,在上述基础上,分别从脆弱点列表、原子攻击列表、攻击证据列表中提取出脆弱点、原子攻击、攻击证据,找出攻击该脆弱点的原子攻击集合A,并由攻击证据对这些原子攻击进行最终确定,得到原子攻击aj;最后,将上述脆弱点、原子攻击aj、攻击证据加入到网络攻击模型生成器,得到网络攻击模型。

3.2贝叶斯攻击图定义与生成算法

定义6贝叶斯攻击图BAG为一个五元组,即BAG=(T,W,Π,E,C)。其中,T为组成贝叶斯的不同类型节点集合,W为原子攻击权集合,Π为概率集合,E为各节点依赖关系集合,C为约束条件集合。各变量具体含义如下:

• T=V∪A∪O。其中V、A、O为组成贝叶斯攻击图的三种不同类型节点集合;V=V0∪Vd, V0为目标网络初始状态节点集合,Vd为目标网络可达状态节点集合。对于∀t∈V∪A,t具有二态性,即t=true或false。另规定∀t∈T,Pre(t)为t的父节点集合,Post(t)为t的子节点集合。

• W表示原子攻击aj引发攻击证据ol的概率。∀w∈W,由二元组(n,m)表示。其中n表示由监测系统所记录的攻击证据中元操作个数,m表示由监测系统所记录的攻击证据中元操作个数与相应的原子攻击中元操作个数相同的数目。以图2所示a1和o2为例,则n(o2)=3,m(a1,o2)=2,从而w(a1,o2)= m(a1,o2)/ n(o2)=2/3。

• Π(BAG)⊂{P(t)∪P(t|Pre(t))},为贝叶斯攻击图节点概率及对应的条件概率。

• E为关联贝叶斯攻击图各类节点的有向边,E⊂([(V0∪Vd)(A]∪[A((V0∪Vd)]∪[A(O])。

• C为贝叶斯攻击图满足的约束条件,如下:

a) 对∀t∈A,其父节点Pre(t)之间存在“与”关系,且满足(Pre(t)⊂V0)((Post(t)⊂Vd);

b) 对∀t∈V,其父节点Pre(t)之间存在“或”关系,且满足(∃t⊂ A)((Post(t)⊂A);

c) 对∀t∈T,Π(BAG)⊂{P(t)∪P(t|Pre(t))→[0,1]},满足概率测度的规范性。

算法2贝叶斯攻击图生成算法(BAGA)

输入:网络初始状态init_state。

检测系统记录的原子攻击列表A_list,攻击证据列表O_list,脆弱性利用信息数据库CVEDB;攻击者在主机host0上所需拥有的初始权限Root。

输出:BAG=(T,W,Π,E,C)。

1. V0={MARKPLACE(Root(host0))},T←∅,W←∅,Π←∅,E←∅;

2. Queue State_queue=new Queue;

3. State_queue<-ENQueue(init_state);

4. FOR each vi∈V in init_state;

5.FOR aj∈A in A_list;

6.IF (CVEDB.Preconditions=TRUE);

7.SEARCH O_list(O_list,ol);

8.W(n,m)=COUNT(ol);

9.GRAPH.ADDEDGE{(vi,aj),(aj, ol)};

10.ENDIF;

11.Π←Π+{P(aj),P(aj|Pre(aj))};

12.A←A+{aj};O←O+{ol};E←E+{(vi,aj),(aj,ol)}

13.ENDFOR;

14.E←CRDA(Θ)

15.Π←Π+{P(vi) ,P(vi|Pre(vi))}; V←V+{vi};

16. ENDFOR;

17. BAG=(V∪A∪O,E,W, Π,C);

18. RETURN BAG。

算法2给出了一个用于自动生成贝叶斯攻击图的算法(BAGA)。第1~3行是初始化贝叶斯攻击图的过程。第1行通过调用MARKPLACE过程创建一个权限列表,用来表示攻击者拥有h0主机上的root权限,并将初始BAG置为空;第2、3行通过创建一个网络状态队列(第2行),并将初始状态init_state加入该队列(第3行),完成攻击图的初始化。第4~16行为一个循环,用于生成节点T和边E,并赋予相应的概率值Π给各节点。第4行为一外层循环,用于从状态队列中取出一种状态节点。第5~13行为一内循环。对于每个状态节点,遍历A_list中各原子攻击(第5行),符合CVEDB数据库脆弱性利用动作的原子攻击(第6行),则从O_list中找出相对应攻击证据(第7、8行),并生成节点T(第11、12行)和边E(第9行),直到init_state队列为空。第17行将构造的节点和边添加到贝叶斯攻击图BAG中;第18行返回生成的贝叶斯攻击图BAG。

算法2能够根据观测到的实时攻击证据,自动生成以原子攻击、攻击证据、脆弱点为节点的贝叶斯网络,展现网络中存在的脆弱点,从而及时有效地识别网络中可能的脆弱点。

算法2生成攻击图时,在表述方面会出现两个问题:① User等攻击权限只是原子攻击产生的一个结果,附带于脆弱点本身,并不能作为一个单独节点;② 脆弱点、原子攻击和攻击证据存在一一对应关系,但是贝叶斯攻击图在命名时无法体现这种关系。为此,制定如下命名规则:

① 将脆弱点节点命名为“漏洞编号(脆弱点)”。如CVE575(v1)表示脆弱点v1代表的漏洞为缓冲区溢出漏洞。

② 将攻击者获得的权限命名为“权限级别(主机编号)”。如R(H0)表示攻击者获得了主机Host0上的Root权限。

③ 攻击者权限作为单独节点在攻击图中显示,并命名为“权限级别(主机编号)_原子攻击_漏洞编号(脆弱点)”,表示对脆弱点发动原子攻击时,获得了该权限。如R(H0)_a2_ CVE575(v1)表示攻击者利用缓冲区溢出漏洞获得了host0主机的Root权限后,对下一个脆弱点发动a2攻击。

④ 将攻击证据节点命名为“原子攻击_脆弱点_攻击证据”,表示对脆弱点发动攻击时产生了攻击证据。如a2_ v1_o1原子攻击a2攻击目的主机缓冲区溢出漏洞时,产生了攻击证据o1。

4脆弱性威胁评估

考虑到成本因素以及脆弱点在目标系统中严重程度不同,我们必须有针对性地对那些严重威胁系统安全的脆弱点进行优先处置。基于这一考虑,本节首先给出了脆弱点威胁度的定义以及计算威胁度所需的基础数据,然后给出了在此基础上的威胁度模型,以量化脆弱点的严重程度。

4.1基础数据的获取

定义7脆弱点威胁度指从指定贝叶斯攻击图脆弱点集合V到概率区间[0,1]的一个映射p: V→[0,1],用来度量攻击者利用脆弱点获得目标主机权限的级别。威胁度越大,所获得权限级别越高,从而该脆弱点的威胁程度越严重。

贝叶斯攻击图BAG=(T,W,Π,E,C)能够评估目标网络脆弱点的严重程度,为了确定∀vi∈V的威胁度,必须首先获取原子攻击节点aj∈A的自身概率s(aj)和脆弱点节点自身概率s(vi)。

对于原子攻击节点,自身概率s(aj)取自CVSS基本评价分值中“AccessComplexity”属性值,它表征脆弱点被利用的复杂程度,具体取值如表2所示。

表2 CVSS基本评价分值

对于脆弱点节点,由于其本身不存在是否被执行成功的难易程度,因此设定其自身概率s(vi)为1.0(也可以为0~1.0中的任何固定数值)。

4.2脆弱点威胁度的层次化

通常情况下,贝叶斯网络节点概率只和该节点的父节点及自身相关联。假设贝叶斯网络中节点t,其父节点pr(t)集合包含k个相互独立的节点,用节点数组d[i]表示(1≤i≤k)表示。依据贝叶斯理论:

P(t)=P(t|pr(t))=P(t|pr(t),pr(t)→t)

(6)

考虑到pr(t)中各元素之间的“或”或“与”关系,节点t的计算公式如下:

①pr(t)中各元素之间关系为“或”时:

(7)

②pr(t)中各元素之间关联关系为“与”时:

(8)

由于贝叶斯攻击图节点之间存在关联性,并不能由基础数据直接得到脆弱点威胁度。以图5为例,a为不考虑攻击证据时节点a1条件概率,b为考虑攻击证据时节点a1条件概率,其中p(v1)、p(v2)、p(o1,o2|a1)分别为0.6,0.7,0.5。从而a中p(a1)=p(a1|v1,v2)=0.42,b中p(a1)=p(a1|v1,v2,o1,o2)=0.21。

图5 贝叶斯攻击图条件概率计算示例

上述计算结果表明,攻击证据的存在改变了原子攻击节点的信度。这种改变影响了脆弱点威胁度的计算。之所以出现这种情况,其原因在于贝叶斯网络中攻击证据和原子攻击具有一定的关联性,对一些变量的了解会对另一些变量的信度产生影响。为此,我们给出各节点概率分布的数学模型。

定义8对于∀t∈T(BAG)来说,节点变量t的节点概率p(t)为:

(1) 如果t节点为根节点(t为初始状态节点),则p(t)=1.0。

(2) 如果t节点为非根节点,其有k个相互独立的父节点,用节点数组d[i]表示(1≤i≤k),则:

① 如果t∈A且其产生的攻击证据为ol,则:

(9)

② 如果t∈ V0∪Vd,则:

(10)

攻击者对目标节点的攻击,并不会同时沿所有路径实施,被管理员发现的风险和网络犯罪成本等因素决定了攻击者最终会通过选择拥有最大成功率的路径到达目标节点。根据定义5和定义7,我们给出下面的脆弱点威胁度模型。

5实验设计与分析

5.1实验网络配置

为验证本文所提方法的有效性,设计了模拟网络图6。实验网络以信任域边界处防火墙Firewall1为界,分为内部网络和可访问互联网的外部网络。其中内部网络由M1、M2、M3 3个安全区域构成,各区域通过防火墙与其它区域相隔离外部网络由互联网和位于其边界处的攻击主机构成。攻击主机Attacker通过Internet访问内部网络。

图6 实验网络拓扑图

内部网络中,M1区域设置有Mail服务器、Web服务器和DNS服务器,分别提供SMTP、HTTP和DNS服务;M2区域设置有负责提供SQL服务的SQL服务器和用于数据备份的DATA数据库,同时该区域还设置有一台目标主机Host0,用于存储有重要数据,并开放FTP和SSH服务;M3区域中,设置有一台Administrative服务器,负责向用户提供一般管理服务,两台普通用户主机Host1、Host2。

主机Attacker首先通过Host1 和Host2的HTTP和DNS服务访问内部网络,并获得权限;然后通过Host1 和Host2获得M1区域的Mail服务器、Web服务器等访问权限;最后通过获得的M1以及M3区域的权限去获得SQL服务器的访问权限;并最终通过SQL获得DATA数据库的访问权限,窃取存储于Host0的重要资料。因此,各主机访问策略设置如下:Firewall1只允许外部网络主机Attacker访问Host1 和Host2的HTTP和DNS服务;普通用户主机Host1 和Host2只允许访问M1区域相关服务; M1区域服务器只允许访问M2区域的SQL服务;M2区域的服务器和主机可以访问任意主机。

5.2实验结果与分析

试验网络中各主机漏洞及漏洞信息如表3所示,依据算法2生成的贝叶斯攻击如图7所示。

表3 实验网络各主机漏洞信息

图7 贝叶斯攻击图

部署在Switch镜像端口的入侵检测系统,可以检测网络中的攻击行为,分析攻击行为给目标网络系统带来的安全威胁,即攻击者可能获得的影响网络节点安全属性的目的主机权限。随着网络节点遭受的攻击不断增多,攻击者权限不断提升。为了分析不同脆弱点的严重程度,本文在实验过程中引入了表4所示参数,保证了在每次测试过程中,对实验测试参数均不相同。

表4 实验测试参数

• 原子攻击次数,指每次实验过程中由入侵检测系统检测到的攻击行为次数。

• 攻击比率qR指攻击者为获得目的主机Root权限而实施的攻击行为与原子攻击次数的比,即qR=n(Root)/[n(Root)+ n(User)+ n(None)],从而其威胁度区间为[qU+qN, qU+qN+qR],即目的主机脆弱点威胁度pmax∈[qU+qN, qU+qN+qR]时,才能威胁目的主机的Root权限。同样地,地可以定义qU、qN及相应的威胁度区间。

图8显示了目标系统中各脆弱点严重程度的评估结果。图中,攻击比率qR、qU、qN分别由A、B、C三线表示,它们表示各级别权限的威胁度界限。如qR和qU表示Root权限的界限,威胁度介于它们之间的脆弱点将会对目的主机的Root权限产生威胁;威胁度由D曲线表示。

图8 系统各脆弱点的严重程度

图8中,D曲线表示的脆弱点威胁度曲线上,威胁度位于区间[ qU, qR]的脆弱点为v1、v2、v6。同样地,威胁度位于区间[ qN, qU]和[ 0, qN]的脆弱点分别为v3、v5和v4。通过分析,我们得到如下评估结果:(1) 脆弱点v1、v2、v6的存在将会对目的主机的Root权限产生威胁,脆弱点v3、v5的存在将会对目的主机的User权限产生威胁;(2) 纵向对比,即攻击者利用脆弱点获得的权限级别不同时,各脆弱点威胁的严重程度对比:v1、v2、v6的安全威胁较v3、v5严重,v3、v5的安全威胁较v4严重;(3) 横向对比,即攻击者利用脆弱点获得的权限级别相同时,各脆弱点威胁的严重程度对比:威胁Root权限的脆弱点的严重程度由大到小依次为:v1、v6、v2,威胁User权限的脆弱点的严重程度由大到小依次为: v3、v5。由此,我们得到目标系统各脆弱点的处置顺序优先级依次为:v1、v2、v6、v3、v5、v4。

图9显示了系统遭受到的原子攻击次数不同时,网络系统整体安全态势的评估结果。图中曲线B表示Host0作为目的主机时,网络节点v6的威胁度随原子攻击次数变化而出现的变化;曲线A表示Host0作为非目的主机时,网络节点v6的威胁度随原子攻击次数变化而出现的变化。

图9 网络整体安全态势评估

图9中的A曲线显示,随着原子攻击的增多,脆弱点v6的威胁度首先呈增大趋势,最终趋于稳定。这表明,对于非目的主机,攻击者在达到目的后,并未试图去获得更高的攻击权限。因此,此种情况下,网络系统的整体安全威胁将逐渐增加,并最终趋于稳定。B曲线显示,随着原子攻击的增强,脆弱点v6的威胁度持续增大,并达到警戒阈值。这表明,目的主机被攻击者获取最高权限的威胁始终存在。因此,我们可以分析脆弱点威胁度,并设立警戒阈值,实现对系统的预警,随时提醒管理人员做出明确的决策。

对比文献[9],本文所提方法不仅实现了对脆弱点严重程度的评估,而且将处置重点集中于那些能够被用来获得更高级别权限的脆弱点。因而,在重点分析和优先处置脆弱点威胁方面,更有针对性。同时,通过展示脆弱点随原子攻击不同而对网络整体安全产生的威胁的变化,实现了对网络整体安全态势的有效评估。从而相较于文献[9,16,17],有效地实现了对评估系统整体安全性和脆弱点的严重程度的兼顾评估。

6结语

为解决系统整体安全和目标网络中脆弱点严重程度的兼顾评估问题,本文提出了一种层次化脆弱点威胁度的分析方法。围绕该方法,本文建立了贝叶斯攻击图模型,定义了脆弱点威胁度及其数学模型,同时提出了CRDA因果关系检测算法和BAGA贝叶斯攻击图生成算法。通过从基本操作角度分析原子攻击和攻击证据的关联性,增强了对二者因果关系的理解,并有助于有效处理评估过程中不确定性信息。通过改进文献[9] 的建模方法而得到的BAGA算法,克服了攻击图生成算法存在的循环路径问题,能用于贝叶斯网络建模以及脆弱点及时有效地识别。通过计算威胁度,本文将脆弱点威胁划分为不同层次,实现了其严重程度评估。通过分析实验结果,本文提出的方法有效地解决了系统整体安全性和脆弱点严重程度的兼顾评估问题。

参考文献

[1] 陈锋,张怡,苏金树,等.攻击图的两种形式化分析[J].软件学报,2010,21(4):838-848.

[2] 叶云,徐锡山,贾焰,等.基于攻击图的网络安全概率计算方法[J].计算机学报,2010,33(10):1987-1996.

[3] Frigault M,Wang L,Singhal A,et al.Measuring network security using dynamic bayesian network[C]//Proceedings of the 4th ACM workshop on Quality of protection.ACM,2008:23-30.

[4] Frigault M,Wang L.Measuring network security using Bayesian network-based attack graphs[C]//Proceedings of the 3rd IEEE International workshop on Security,Trust,and Privacy for Software Applications,2008:698-703.

[5] Saha D.Extending logical attack graphs for efficient vulnerability analysis[C]//Proceedings of the 15th ACM conference on Computer and communications security.ACM,2008:63-74.

[6] Ahmed M S,AlShaer E,Khan L.A novel quantitative approach for measuring network security[C]//Proceedings of the 27th Conference on Computer Communications.INFOCOM,2008:13-18.

[7] Williams L,Lippmann R,Ingols K.Garnet: A graphical attack graph and reachability network evaluation tool[C]//Proceedings of the 5th International Workshop on Visualization for Cyber Security.VizSEC,2008:44-59.

[8] Homer J,Ou X,Schmidt D.A sound and practical approach to quantifying security risk in enterprise networks[R].Kansas State University Technical Report,2009.

[9] 吴迪,连一峰,陈恺,等.一种基于攻击图的安全威胁识别与分析方法[J].计算机学报,2012,35(9):1938-1950.

[10] Changhe Yuan,Malone B.Learning optimal bayesian networks:a shortest path perspective[J].Journal of Artificial Intelligence Research,2013,48(1):23-65.

[11] Silander T,Roos T,Myllymäki P.Learning locally minimax optimal Bayesian networks[J].International Journal of Approximate Reasoning,2010,51 (5):544-557.

[12] 陈锋,毛捍东,张维明,等.攻击图技术研究进展[J].计算机科学,2011,38(11):12-18.

[13] Mell P,Scarfone K,Romanosky S.A complete guide to the common vulnerability scoring system version 2.0[C]//Proceedings of the Forum of Incident Response and Security Teams.FIRST,2007:1-23.

[14] 韦勇,连一峰.基于日志审计与性能修正算法的网络安全态势评估模型[J].计算机学报,2009,32(4):763-772.

[15] 叶云,徐锡山,齐治昌.大规模网络中攻击图的节点概率计算方法[J].计算机应用与软件,2011,28(11):136-139,192.

[16] Poolsappasit N,Dewri R,Ray I.Dynamic security risk management using bayesian attack graphs[J].Dependable and Secure Computing,IEEE Transactions on,2012,9(1):61-74.

[17] Ou X,Singhal A.Security Risk Analysis of Enterprise Networks Using Attack Graphs[C]//Proceedings of the /Quantitative Security Risk Assessment of Enterprise Networks.Springer New York,2011:13-23.

收稿日期:2015-01-24。国家自然科学基金项目(61300216);教育部博士点基金项目(20124116120004);河南省教育厅科学技术研究重点项目(13A510325)。王辉,副教授,主研领域:网络信息安全。王云峰,硕士生。闫玺玺,讲师。

中图分类号TP393.08

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.07.065

HTV ANALYSIS METHOD FOR HIERARCHICAL THREATS DEGREE USING BAYESIAN ATTACK GRAPH

Wang HuiWang YunfengYan Xixi

(SchoolofComputerScienceandTechnology,HenanPolytechnicUniversity,Jiaozuo454000,Henan,China)

AbstractExisting vulnerability analysis approach is hard to assess both the overall security of target systems and the severity of their vulnerabilities, meanwhile the assessment process has to deal with a great number of undetermined information. Therefore, we proposed a HTV method for the hierarchical threats degree. First, by analysing the correlation between atomic attack and attack evidence, we presented a causation detection algorithm named CRDA to determine the causation between them. Then, based on the system architecture of attack model, we suggested the definition of Bayesian attack graph (BAG) and proposed its corresponding generation algorithm BAGA to timely and effectively identify the vulnerabilities. Finally, we presented the definition of vulnerability threats degree and its calculation model, and divided threats degree into different levels according to the benchmark of the privilege of vulnerabilities the attackers obtained so as to effectively assess their severity and the overall security of the target systems. Experimental results showed that the proposed method is provably feasible and effective in evaluating both the overall security of the target systems and the severity of vulnerabilities.

KeywordsBayesian attack graphAttack modelCausationThreat degree of vulnerability

猜你喜欢
攻击者贝叶斯威胁
机动能力受限的目标-攻击-防御定性微分对策
人类的威胁
受到威胁的生命
正面迎接批判
面对孩子的“威胁”,我们要会说“不”
基于贝叶斯估计的轨道占用识别方法
基于互信息的贝叶斯网络结构学习
一种基于贝叶斯压缩感知的说话人识别方法
有限次重复博弈下的网络攻击行为研究
IIRCT下负二项分布参数多变点的贝叶斯估计