基于随机松弛优选策略的网络脆弱性弥补算法
2015-01-03赵光胜程庆丰孙永林
赵光胜,程庆丰,孙永林
(1. 解放军外国语学院 语言工程系,河南 洛阳 471003; 2. 国防科技大学 计算机学院,湖南 长沙 410073)
1 引言
计算机网络技术的飞速发展深刻影响着人类的生产生活方式。然而在享受互联互通和信息共享带来的便捷与效益的同时,网络技术发展过程中对安全性的忽视,导致了网络环境中存在各式各样的安全隐患,严重威胁着网络运营及合法用户的信息安全。从根本上讲,敌手通常利用网络中存在的脆弱性逐步渗透并控制若干网络节点,达到恶意目的。因此,寻找并弥补威胁网络关键资源的关键脆弱性,是提高网络安全性的一种有效方法。网络脆弱性弥补分析(MCNHA, minimum-cost network hardening analysis)以寻找并弥补威胁关键目标的代价最小的网络脆弱性为目标,是一个NPC问题,目前尚无足够有效的算法应对大规模复杂网络[1~10]。
MCNHA涉及的问题包括:如何确定弥补方案空间,如何判定弥补方案有效,如何确定弥补方案代价,最重要也是最困难的是如何求解代价最小并且有效的弥补方案。确定弥补方案空间的关键在于确定可能会对关键目标构成威胁的全部脆弱性,一种有效的方法是使用攻击图[1~10]确定可能威胁到关键目标的全部脆弱性,它能充分反映给定网络环境中的脆弱性之间的利用依赖,攻击图也可以确定弥补方案的有效性判定法则。弥补方案的代价取决于弥补方案的实施难度,以及相关脆弱性弥补后对网络环境的影响的评估。求解代价最小并且有效的弥补方案在于如何快速地从2O(n)规模的弥补方案空间中选出代价最小的有效的方案,这是一个 NPC问题。因此,设计高效的策略,在有限的计算资源下快速寻找代价尽可能小的有效弥补方案,是MCNHA应对大规模复杂网络的唯一出路。
基于以上分析,与MCNHA相关的研究工作主要涉及攻击图构建与分析和代价最小化弥补 2方面,下面分别介绍这2方面的研究现状。
攻击图构建与分析技术是MCNHA的基础[1~10],攻击图作为一种网络防御分析的工具,其基本思想已提出10多年。具体地,Swiler[11]于1998年最早提出了攻击图模型,使用攻击模型来描述一致的攻击行为,并通过手工方式从目标状态反向的生成攻击图。文献[12~14]引入了自动分析技术,提高了攻击图的构建效率。Lippmann[15,16]总结了过去的攻击图分析技术,并提出了基于攻击图的网络安全评估与弥补方法。Ou[17,18]提出了单目标攻击图构建算法,并发现了含圈攻击路径现象。陈峰[7,8,19,20]提出了一种生成多目标攻击图的算法,并从威胁概率的角度分析攻击路径,得出了长攻击路径在实际网络攻击中通常不会发生的结论。苘大鹏[21]以评估网络整体安全性为目标,提出了通过限定攻击步数和状态节点可达性的策略,降低攻击图的复杂度,进一步提高攻击图的生成效率。此外,研究者们还提出了多种方法来增强攻击图的可理解性和可视化效果[22~24]。攻击图的构建与分析经历了从手工到自动分析,从简单到复杂的过程,现有的技术虽然在构建效率、可理解性和可视化等方面仍存在不足,但基本满足MCNHA的需求。
在代价最小化弥补方面,Jha[1]基于状态攻击图寻找保障目标网络关键信息资产安全的最小安全措施集。Noel S等[2]提出了基于属性攻击图的最小成本安全弥补措施集,但是该方法不能应用大型的具有含圈攻击路径的攻击图。Wang[3]解决了攻击图的含圈问题,但不能应用于大规模攻击图。Homer[4]提出了一种基于逻辑攻击图的自动化网络配置管理方法,但在攻击图规模较大时应用情况仍然不佳。司加全[5]提出了一种可操作性较强的基于安全损失关键度最大优先原则的网络安全增强策略,但没有分析在大规模复杂网络环境中的应用情况。陈峰[6~8]提出了基于二叉决策图的最优弥补集精确计算方法和基于贪婪策略的近似计算方法,前者较Wang的方法有较大性能提升,但仍只能应用于小规模网络环境;后者引入了n-有效路径的概念,是一种可应用于大规模网络的计算方法,但适用范围仍有较大限制。Albanese[9]提出了一种时间效能近似最小的方案,可以获得较高的近似比率,但没有考虑求解所用的计算资源和求解精度问题。
针对MCNHA,本文提出了一种基于随机松弛优选策略的网络脆弱性弥补分析算法(MCNHASLOS, minimum- cost network hardening algorithm based on stochastic loose optimize strategy),依据概率论的思想,在弥补方案空间的一系列随机松弛子空间中迭代求解代价最小的弥补方案,并依据其有效性判定结果更新近似最优弥补方案,使其逐步逼近最优弥补方案。算法具有求解速度快、耗费/收益比高、精度可控等优点,适合在大规模网络环境中应用。
2 基本概念和前提假设
为了突出网络脆弱性弥补分析的重点和难点,且方便后文叙述,本节明确若干基本概念、前提假设和符号约定。
弥补方案空间。由所有可能的弥补方案组成的集合,记为Plan-Space。假定目标网络中可能威胁到关键目标的脆弱性总数为n,分别用{1, 2, …,n}标记这n个脆弱性,则可用n位二进制数来表示Plan-Space,这样每个弥补方案Plan对应一个n位二进制数,为“1”的位置表示对应的脆弱性需要弥补,即(0)2≤(Plan)2≤(2n-1)2,其中,(0)2是平凡无效弥补方案,对任何弥补目标都无效,而(2n-1)2则是平凡有效弥补方案,对任何弥补目标都有效,同时弥补代价也最高。
最优弥补方案。弥补方案空间中代价最小的有效弥补方案,记为Opt-Plan。
近似最优弥补方案。近似最优方法求解得到的有效弥补方案,记为Approx-Opt-Plan。
弥补方案代价计算函数。计算弥补方案代价的函数,记为Cost()。
弥补方案有效判定函数。判定弥补措施是否有效的函数,记为Valid()。
弥补方案松弛子空间。从Plan-Space中随机选取若干项构成的子空间,记为Sparse-Space。
优势弥补方案空间和优势比率。依据Cost()和优势比率Psuperior可将弥补方案空间Plan-Space划分成 2部分,低代价部分称为优势空间,记为Superior-Space。Superior-Space中的弥补方案至少比Plan-Space中|Plan-Space|(1-Psuperior)个弥补方案的代价低,Psuperior体现了用户对近似最优弥补方案Approx-Opt-Plan的代价最优性期望,Psuperior越小,用户对Approx-Opt-Plan的代价最优性期望越高。
有效弥补方案空间和有效比率。依据Valid()可将弥补方案空间Plan-Space划分成有效弥补方案空间和无效弥补方案空间,将前者记为Valid-Space,|Valid-Space|与|Plan-Space|之比称为有效比率,记为PValid。反映了关键目标受威胁程度,PValid越高关键目标越容易受到攻击。
目标空间。优势空间和有效空间相交的部分,记为Goal-Space。Goal-Space中的弥补方案既满足优势比率的要求,又满足有效性的要求,体现了用户对Approx-Opt-Plan期望的可满足性,Goal-Space的规模愈小,用户的期望愈难满足,当Goal-Space为空时,表明用户的期望无法满足。
目标达成概率。Approx-Opt-Plan落入Goal-Space中的概率。
前提假设1。弥补方案空间Plan-Space已知。对于给定的网络环境和关键目标,通过攻击图自动生成算法可以生成各种形式的攻击图,依据攻击图可以确定关键目标的弥补方案空间。如果将攻击图中存在攻击路径到达关键目标的脆弱性组成的集合称为相关脆弱性集合,那么相关脆弱性集的幂集即为弥补方案空间。为了突出网络脆弱性弥补分析的重点和技术难点。从大规模的Plan-Space中寻找落入Goal-Space中的Plan,约定Plan-Space已知。
前提假设2。弥补方案有效性判定函数Valid()已知。如果将能够到达关键目标的每条攻击路径表示成脆弱性的析取子句,那么所有析取子句的合取即构成关键目标的弥补方案有效性判定逻辑表达式Valid(),对于一个给定的Plan,Valid(Plan)=1就表示Plan有效。为了突出重点和技术难点,约定Valid()已知。
符号约定。为了叙述方便,约定文中出现的符号及其含义,如表1所示。
表1 符号约定
3 随机松弛优选原理
网络脆弱性弥补分析的重点和技术难点在于如何从大规模的Plan-Space中快速寻找到落入Goal-Space中的Plan,实际上这是一个状态空间搜索问题。对于大规模的复杂网络环境,Plan-Space可能很大,为了加速收敛,提出了一种随机松弛优选策略 (SLOS, stochastic loose optimize strategy),并提出了一种基于SLOS的网络脆弱性弥补分析算法 (MCNHA-SLOS, minimum-cost network hardening algorithm based on stochastic loose optimize strategy)。SLOS的基本原理称为随机松弛优选原理(SLOP, stochastic loose optimize principal),首先描述并证明SLOP。
随机松弛优选原理:将一个集合Universe划分成 2个子集Low和High,Low中元素的个数与Universe中元素的个数之比为PL;从Universe中随机选取一个元素,则该元素属于集合Low的概率为PL,属于集合High的概率为1-PL;从Universe中随机选取N个元素,则其中包含Low中元素的概率为1-(1-PL)N。因此无论集合Universe有多少元素,也无论PL有多小,只要取一个适当大小的数N,就可以保证 1-(1-PL)N≈1,也就是从Universe中随机选取N个元素,其中至少有一个元素存在于集合Low中的概率几乎为1。
随机松弛优选原理的证明非常简单,如图 1所示。
图1 随机松弛优选原理证明
4 网络脆弱性弥补分析算法
4.1 算法思想
MCNHA-SLOS思想:为了同时满足代价最小和有效弥补2项指标,MCNHA-SLOS迭代地应用SLOP,每次迭代都从Plan-Space的一个NSparse规模的Sparse-Space中选取代价最小的弥补方案Min-Plan,并依据Valid(Min-Plan)更新近似最优方案Approx-Opt-Plan,通过Niterate次迭代使Approx-Opt-Plan落入Goal-Space的概率PGoal几乎为1。
对于给定的优势比率Psuperior,通过Niterate次NSparse规模的Sparse-Space迭代,目标达成概率PGoal为可以证明无论PSuperior和PValid有多小,都可以选取适当的Niterate和NSparse使PGoal几乎为1。
MCNHA-SLOS巧妙地运用了随机松弛优选策略,将全空间的优化问题转化为阶段性的松弛子空间的优化问题,将NP难度的求解问题转化为精度可控的、可快速求解的迭代运算。
4.2 算法描述
MCNHA-SLOS的伪代码如图2所示。首先,将2n-1赋予近似最优弥补方案Approx-Opt-Plan,表示所有的脆弱性都需要弥补,这必然是有效的,并且具有最大的弥补代价。接下来进行Niterate轮迭代,在每轮迭代中,首先将Approx-Opt-Plan赋予临时的代价最小方案Min-Plan;再利用GeneratePlan()产生NSparse个随机方案Plan,每产生一个Plan,计算其代价Cost(Plan),并与Min-Plan的代价Cost(Min-Plan)进行比较,若Cost(Plan)<Cost(Min-Plan),则将Min-Plan更新为Plan;NSparse次迭代结束后,判定Min-Plan的有效性,若Valid(Min-Plan)为真,则将Approx-Opt-Plan更新为Min-Plan。Niterate轮迭代结束后,输出近似最优弥补方案Approx-Opt-Plan,算法结束。
2)应能在少量参考数据的基础上,保证较大的预测准确性。竖井掘进机在实际工作条件下,每掘进一个进程即得到一次有效的偏斜测量数据,测量数据离散不连续,且只有最近几个进程的偏移对实际预测有指导意义。这要求预测系统能够在较少的数据基础上,达到准确的预测效果。
图2 MCNHA-SLOS算法伪代码
4.3 算法分析
精确求解MCNH问题是在Plan-Space中寻找Opt-Plan,其理论搜索量为2n次,在冯·诺依曼计算结构下,当n较大时该问题是不可解的。而MCNHA-SLOS算法则是通过NiterateNSparse次搜索以很高的概率得到落入Goal-Space的Approx-Opt-Plan。具体地,PGoal、PSuperior、PValid、NSparse、Niterate之间关系满足式(1)。
从式(1)可以看出,在网络环境和关键目标给定的情况下,PValid是固定的;在目标空间Goal-Space确定的情况下,PSuperior也是固定的。因此无论PSuperior和PValid有多小,总可以选取适当的NSparse和Niterate,使PGoal几乎为1,也就是使Approx-Opt-Plan几乎必定落入Goal-Space,达到用户的期望。
通俗地讲,MCNHA-SLOS算法将2n量级的精确求解问题,转化成了NiterateNSparse量级的近似求解问题,将不可能在有效时间内求得最优解的问题转化为可以在有效时间内获得满意的近似最优解问题,并且可以依据拥有的计算资源和可容忍的时间控制求解精度,非常适合在大规模网络环境下应用。
5 实例分析
本节通过一个简单的实例演示 MCNHA-SLOS算法的计算流程,如图3所示。
图3 网络脆弱性弥补分析实例
图3中有V1~V5共5个脆弱性可能威胁到关键目标 Target,弥补这 5 个脆弱性的代价分别为(2, 2, 3,3, 1),有效性判定函数Valid(Plan)=(V1||V4) &&(V2||V4) && (V3||V5)。简化攻击图下方是一串随机数,可以转化为随机生成的弥补方案。不难看出代价最小弥补方案为(00011)2,即弥补脆弱性V4和V5可以有效防护关键目标Target,且弥补代价最小,有效比率PValid=15/32≈0.47,Plan-Space中的方案按弥补代价排序后的结果如表2所示,其中加粗显示的为有效弥补方案。
在本实例的计算过程中,将NSparse取为2,并且将GeneratePlan()取为 Rand()%25,MCNHASLOS的具体演算过程如图4所示。
图4 MCNHA-SLOS算法示例演算
在实例中,如果令PSuperior= 0.5,则Goal-Space={(00011)2, (11001)2},PGoal= (1-(1-0.5)2)×(1-(1-0.47)5)≈ 0.72,而实际的计算结果Approx-Opt-Plan= (00011)2∈Goal-Space,实际上已经找到了最优方案,而搜索量是5×2 = 10,较32的全空间搜索量要少很多。
6 实验分析
表2 依代价排序的弥补方案空间
为了便于分析攻击图技术的相关算法,设计实现了目标网络建模演示系统(Net-MD, network modeling and demonstrating system)和网络脆弱性综合分析系统(Net-VA, network vulnerability analyzing system)。Net-MD可用于快速构建各种规模的模拟网络环境,并将网络环境信息存储在数据库中;Net-VA可获取数据库中的网络环境数据,应用不同的算法生成目标网络的攻击图,并将攻击图存储在数据库中。
实验分为2组,第一组为MCNHA-SLOS的参数分析,通过观察在不同参数设置下的实验结果,明确各参数在算法中所起的作用,制定合理的参数设定策略;第二组在合理的参数设定策略基础上对比MCNHA-SLOS算法与其他算法的性能差异。考虑到MCNHA-SLOS算法的统计特性,采取多次实验取平均数据的方法。为了讨论方便,在实验中假定所有脆弱性的弥补代价相同,都取为1,因此弥补方案的代价只取决于包含的脆弱性数量。
6.1 参数分析
利用Net-MD构建了200个网络节点规模的模拟网络环境,并以粗线框的4个服务器为关键目标,如图5所示。利用Net-VA生成了30个脆弱性规模的攻击图,如图 6所示。并基于此图对 MCNHASLOS进行参数分析。
6.1.1NSparse和Niterate分析
针对以上网络环境和攻击图,首先观察在NSparse和Niterate取不同值时 MCNHA-SLOS的计算结果,并分析NSparse和Niterate的最佳取值原则,为此将GeneratePlan()固定为Rand()%230。
首先,固定NSparse为16,随着Niterate的增加,观察Approx-Opt-Plan的弥补代价变化情况。如图7所示,左边部分代表Approx-Opt-Plan的平均代价,右边部分代表花费的时间,可以看出,随着Niterate的增加,计算时间的消耗逐渐增长,而Approx-Opt-Plan的平均代价则稳步降低。说明算法迭代的次数越多获得的平均代价就越低,越能接近最低代价。
图5 模拟网络环境
图6 攻击图
图7 MCNHA-SLOS算法耗费收益对比
从表3所列详细实验结果可以看出,当Niterate为32时,有多达17次平凡有效弥补方案出现,同时也有代价低至10的弥补方案出现;而当Niterate增加到8192时,Approx-Opt-Plan的弥补代价基本稳定在 8和9。这充分体现了MCNHA-SLOS的统计特性,即使计算投入量很小,也有可能获得较好的有效弥补方案,随着计算资源投入的增加,所获得的有效弥补方案的弥补代价在统计意义上稳步下降。
接下来,观察不同的NSparse取值对Approx-Opt-Plan平均代价的影响,以确定NSparse的取值原则。如图8所示,当Niterate较小时(如32, 128),NSparse的取值越小,Approx-Opt-Plan的平均代价越小;当Niterate较大时(如 2 048, 8 192),NSparse的取值越大,Approx-Opt-Plan的平均代价越小,但差别并不显著。结合表4所示的详细数据,其中“()”中表示的是平均计算时间(s),可以看出,当Niterate较大时,Approx-Opt-Plan的平均代价随着NSparse的增加而降低,而计算时间在增加,总体上Approx- Opt-Plan的平均代价随着计算时间投入(NiterateNSparse)的增加而稳步下降,NSparse的取值对算法的影响不大。综合考虑,认为NSparse应当尽量取小一点。
图8 不同NSparse的比较
6.1.2GeneratePlan()分析
在上文中都将GeneratePlan()取为Rand()%2n,实际上这并不是一个好的策略,从第5节的实例分析中可以看出,弥补方案空间低代价区的有效方案只有2个,而Rand()%2n所产生的Plan均匀分布于Plan-Space。每轮迭代通过在NSparse个Plan中选取代价最低的Min-Plan,它为有效方案的概率会很低,这将导致Approx-Opt-Plan很长时间才能得到更新。相反,如果弥补方案空间低代价区的有效方案较多,Min-Plan为有效方案的概率就会较高,这样Approx-Opt-Plan就会经常更新。如果能够依据Plan-Space中有效弥补方案的比率PValid,改变由GeneratePlan()控制生成的Plan的分布范围,就能够提高MCNHA-SLOS的效率。
在Plan的定长二进制表示下,(Plan)2包含的“1”越多,则Plan有效的概率就越高,用Density(Plan)表示(Plan)2中“1”的个数与(Plan)2长度的比值,称其为方案 1密度; 并为GeneratePlan()引入参数density来控制其所产生方案的1密度。新的GeneratePlan()定义为
表3 MCNHA-SLOS实验结果
其中,如果Rand()%10 <density× 1 0,则xi=1,如果Rand()%10 ≥density×10,则xi=0。而GeneratePlan()=Rand()%2n实际上是当density=0.5时式(2)的退化形式。本节固定NSparse为5,观察density的不同取值对Approx-Opt-Plan平均代价的影响。
对于图 5所示的网络环境和图 6所示的攻击图,实验结果如图9所示。当density取0.3时,由GeneratePlan()产生的Plan有效的概率较低,Approx-Opt-Plan难以更新,因此当Niterate较小时,Approx-Opt-Plan的平均代价维持在较高的水平(包含较多的平凡有效弥补方案),但当Niterate=8192时,Approx-Opt-Plan的平均代价迅速下降至较低的水平;当density取0.7时,由GeneratePlan()产生的Plan有效的概率较高,Approx-Opt-Plan比较容易更新,因此当Niterate较小时,Approx-Opt-Plan的平均代价就达到了较低的水平,但由于density较大,由GeneratePlan()产生的Plan的代价始终维持在较高的水平,当Approx-Opt-Plan的平均代价降至一定程度后,就很难再有明显下降;当density取0.5和0.45时,由GeneratePlan()产生的Plan有效的概率比较合理,使Approx-Opt-Plan的平均代价随着Niterate的增加能够迅速下降,并且当Niterate较大时也能维持比较明显的下降趋势,相比较而言,density取0.45较0.5具有更好的效果。
图9 不同density的比较
合理地选取density,实际上取决于网络环境和攻击图本身,当攻击图中到达关键目标的路径较密集时,关键目标就越容易遭受攻击,同时也越难弥补,这种情况下density就应该选取较大的值;而当到达关键目标的路径较稀疏时,则应选取较小的density。
6.2 算法对比
目前为止,已有不少针对MCNH问题的求解方法,但真正能够应用于大规模复杂网络的却很少,其中陈峰提出的近似求解算法weighted-Greedy[7,8]具有较好的效果。因此将 MCNHA-SLOS与 weighted-Greedy进行对比。为公平起见,在相同的软硬件环境(Intel Core Duo T7500 2.2 GHz CPU, 2 GB RAM,Windows XP)中运行2种算法。Weighted-Greedy算法通过|C|×|L|来控制算法的复杂度,其中C表示脆弱性利用的所有初始前提属性,为方便讨论,假定每个脆弱性只有唯一的前提初始属性,而L代表所有的n-有效攻击路径。为了对比2种算法在不同问题难度下的性能,利用Net-MD构建了5个不同的网络环境:Net1,200个网络节点,10个脆弱性;Net2,200个网络节点,20个脆弱性;Net3,200个网络节点,30个脆弱性;Net4,200个网络节点,40个脆弱性;Net5,200个网络节点,50个脆弱性。利用Net-VA构建了相应的攻击图,并统计出相应的n-有效攻击路径的个数分别为:16、116、244、975和2 297。
实验中,为MCNHA-SLOS选择适当的density,将NSparse取为5,并依据|C|×|L|来设定相应的Niterate,使2个算法具有相近的计算量,在此基础上对比2个算法求得Approx-Opt-Plan的平均代价。如图10所示,当网络环境和攻击图的复杂程度较低时,weighted-Greedy较 MCNHA-SLOS有更好的计算结果,但随着问题复杂程度的增加,MCNHA-SLOS的优势逐渐显现,在Net4和Net5下,MCNHA-SLOS得到的Approx-Opt-Plan的平均代价明显低于weighted-Greedy,并且这种趋势随着问题复杂程度的增加越来越明显。通过对比实验,MCNHA-SLOS能够适用于大规模复杂网络环境下的MCNH问题求解。
图10 MCNHA-SLOS和weighted-Greedy算法比较
7 结束语
MCNH一直受到研究者的关注,目前针对它的研究工作主要集中2个方面:一方面是如何构建高效攻击图,包括智能化、可视化等;另一方面是在现有的攻击图技术的基础上,如何使用其他辅助手段进行高效的、低代价的弥补分析。随着网络安全问题的日益凸显以及网络规模和复杂性的扩大,对这些问题的研究还会更加深入和复杂,也一定会受到持续关注。
本文讨论了 MCNH问题涉及的基本问题,并针对其NP难解性,提出了一种近似最优求解算法MCNHA-SLOS,运用随机松弛优选策略,将全空间的优化问题转化为阶段性的松弛子空间的优化问题,将NP难度的问题求解转化为精度可控的、可快速求解的迭代运算。网络维护者可依据现有计算资源,选择适当的参数,利用 MCNHA-SLOS算法获得满意的近似最优弥补方案。实验表明,MCNHA-SLOS较现有算法在求解复杂MCNH问题时具有显著优势,能够适用于大规模复杂网络环境。MCNHA-SLOS虽然能够适用于大规模复杂网络环境,但仍有需要深入研究的地方,下一步的研究工作主要是:1)NSparse和Niterate之间的关系;2)如何对density进行合理取值使算法具有更好的性能;3)在可实现规模的真实环境中测试。
[1] JHA S, SHEYNER O, WING J M. Two formal analyses of attack graphs[A]. Proceedings of 15th IEEE Computer Security Foundations Workshop[C]. 2002.
[2] NOEL S, JAJODIA S, O'BERRY B, JACOBS M,et al. Efficient minimum-cost network hardening via exploit dependency graphs[A].Proceedings of 19th Annual Computer Security Applications Conference[C]. 2003.86-95.
[3] WANG L Y, NOEL S, JAJODIA S. Minimum-cost network hardening using attack graphs[J]. Computer Communications, 2006,29(18):3812-3824.
[4] HOMER J,et al. From Attack Graphs to Automated Configuration Management-An Iterative Approach[R]. Kansas State University Technical Report, 2008.
[5] SI J Q, ZHANG B, MAN D P,et al. Approach to making strategies for network security enhancement based on attack graphs[J]. Journal on Commurtications, 2009,30(2):123-128.
[6] CHEN F, WANG L Y, SU J S. An efficient approach to minimum-cost network hardening using attack graphs[A]. Proceedings of the 4th International Conference on Information Assurance and Security[C].2008.209-212.
[7] CHEN F, ZHANG Y, SU J S,et al. Two formal analyses of attack graphs[J]. Journal of Software, 2010,21(4): 838-848.
[8] CHEN F. A Hierarchical Network Security Risk Evaluation Approach Based on Multi-goal Attack Graph[D]. National University of Defense Technology, 2008.
[9] ALBANESE M, JAJODIA S, NOEL S. Time-efficient and cost- effective network hardening using attack graphs[A]. Proceedings of the 42nd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)[C]. 2012.1-12.
[10] DIAMAH A, MOHAMMADIA M, BALACHANDRAN B. Network security evaluation method via attack graphs and fuzzy cognitive maps[J]. Intelligent Decision Technologies. 2012, 16: 433-440.
[11] SWILER L P, PHILLIPS C, ELLIS D,et al. Computer-attack graph generation tool[A]. Proceedings of DARPA Information Survivability Conference &Exposition II[C]. 2001.307-321.
[12] SHEYNER O, HAINES J, JHA S,et al. Automated generation and analysis of attack graphes[A]. Proceedings of IEEE Symposium on Security and Privacy[C]. 2002.273-284.
[13] SHEYNER O. Scenario Graphs and Attack Graphs[D]. Carnegie Mellon University, 2004.
[14] AMMANN P, WIJESEKERA D, KAUSHIK S. Scalable, graph-based network vulnerability analysis[A]. Proceedings of the 9th ACM Conference on Computer and Communications Security[C]. 2002.217-224.
[15] LIPPMANN R P,et al. An Annotated Review of Past Papers on Attack Graphs[R]. MIT Lincoln Laboratory, 2005.
[16] LIPPMANN R P, INGOLS K W, SCOTT C,et al. Evaluating and Strengthening Enterprise Network Security Using Attack Graphs[R].ESC-TR-2005-064, MIT Lincoln Laboratory, 2005.
[17] OU X M, GOVINDAVAJHALA S, APPEL A W. MulVAL: a logic-based network security analyzer[A]. Proceedings of 14th USENIX Security Symposium[C]. 2005.8.
[18] OU X M, BOYER W F, MCQUEEN M A. A scalable approach to attack graph generation[A]. Proceedings of 13th ACM conference on Computer and Communications Security[C]. 2006.336-345.
[19] CHEN F, TU R, ZHANG Y,et al. Two scalable approaches to analyzing network security using compact attack graphs[A]. Proceedings of International Symposium on Information Engineering and Electronic Commerce[C]. 2009.90-94.
[20] CHEN F, SUN J S, HAN W B. AI planning-based approach of attack graph generation[J]. Journal of PLA University of Science and Technology, 2008,9(5):460-465.
[21] MAN D P, ZHOU Y, YANG W,et al. Method to generate attack graphs for assessing the overall security of networks[J]. Journal on Commurtications, 2009,30(3):1-5.
[22] HOMER J, VARIKUTI A, OU XM,et al. Improving attack graph visualization through data reduction and attack grouping[A]. Proceedings of 5th International Workshop on Visualization for Cyber Security[C]. 2008.68-79.
[23] HARBORT Z, LOUTHAN G, HALE J. Techniques for attack graph visualization and interaction[A]. Proceedings of the Seventh Annual Workshop on Cyber Security and Information Intelligence Research[C]. 2011.
[24] ALHOMIDI M A, REED M J. Attack graphs representations[A].Proceedings of 4th Computer Science and Electronic Engineering Conference (CEEC)[C]. 2012. 83-88.