一种攻击图可视化效果的优化方法与流程

文档序号:15455062发布日期:2018-09-15 00:53阅读:351来源:国知局

本发明涉及攻击图工具技术领域,特别是一种攻击图可视化效果的优化方法。



背景技术:

许多现有的攻击图工具都采用一种特别的方式来表示输入信息和输出图的数据结构,这些工具一般需要专门设计的各种辅助输入的数据格式,而且由此生成的攻击图通常让人难以理解和使用,所以这些工具的使用价值较低。

sheyner等(文献1:hongjb,chungcj,huangd,etal.scalablenetworkintrusiondetectionandcountermeasureselectioninvirtualnetworksystems[c]ica3ppinternationalworkshopsandsymposiumsonalgorithmsandarchitecturesforparallelprocessing.springer-verlagnewyork,inc.2015:582-592.)首次提出了一种解决该问题的方法。该方案利用模型检测计算在多级、多主机网络中的潜在威胁,将网络状态定义为一个布尔变量的集合,来表示配置变量和攻击者权限,用状态之间的转换来表示攻击者行为。

philips和swiler(文献2:chenf,zhangy,jin-shusu,etal.twoformalanalysesofattackgraphs[j].journalofsoftware,2010,21(4):49-63.)在1998年设计了一种生成攻击图的工具。类似于模型检测方法,攻击图中的节点代表以集合变量形式建立的网络状态,边表示攻击者改变当前状态的攻击动作。philips设计了一种自动搜索引擎,用来建立网络分析。

ammann等(文献3:wangl,jajodias,singhala,etal.k-zerodaysafety:anetworksecuritymetricformeasuringtheriskofunknownvulnerabilities[j].ieeetransactionsondependable&securecomputing,2014,11(1):30-44.)(文献4:roya,dongsk,trivediks.scalableoptimalcountermeasureselectionusingimplicitenumerationonattackcountermeasuretrees[c]ieee/ifipinternationalconferenceondependablesystemsandnetworks.ieeecomputersociety,2012:1-12.)(文献5:jajodias,wangl,singhala.interactiveanalysisofattackgraphsusingrelationalqueries:springerberlinheidelberg,us8566269[p].2013.)也注意到了模型检测方法中攻击图的规模性问题,提出一种给予搜索的攻击图算法,这种算法可以被用于拓扑脆弱性分析工具。他们指出大多数电脑攻击都可以做单调性假设——攻击者在通过攻击行为获取权限之后,无需重新返回之前的攻击步骤即可保持所有已获取的权限集合。这种假设下,攻击者获得的权限数量级是多项式级,所以分析算法也会在多项式级的时间内结束。ammann给出了算法复杂度的理论上限为o(|a|2·|e|),|a|表示攻击前置和后置条件的数量,|e|表示漏洞的数量。但是他并没有讨论网络规模与属性规模(前置条件与后置条件)的关系。在计算连通性信息后,保守估计该方法的复杂度将达到o(n6)。

noel和jajodia(文献6:idikan,bhargavab.extendingattackgraph-basedsecuritymetricsandaggregatingtheirapplication[j].ieeetransactionsondependable&securecomputing,2011,9(1):75-85.)(文献7:roschkes,chengf,meinelc.anewalertcorrelationalgorithmbasedonattackgraph[j].2011,6694(11):58-67.)(文献8:albanesem,jajodias,noels.time-efficientandcost-effectivenetworkhardeningusingattackgraphs[c]//ieee/ifipinternationalconferenceondependablesystemsandnetworks.ieeecomputersociety,2012:1-12.)提出一种聚合技术来控制攻击图的复杂度。他们称之为利用依赖攻击图,虽然成功的降低了攻击图的复杂度,但是并没有描述如何通过网络配置信息生成或拓展攻击图过程。

以上几种方法虽然一定程度上降低了攻击图的复杂度,但缺少对攻击路径的整理,用户需要花费大量时间去梳理和理解可能发生的攻击,不能快速的找出系统中存在的核心安全问题。



技术实现要素:

本发明的目的在于提出一种攻击图可视化效果的优化方法,从具有完整拓扑结构的攻击图中提取关键路径,抽象化攻击模式,提高攻击图的可读性,为网络管理员提供安全帮助。

实现本发明目的的技术解决方案为:一种攻击图可视化效果的优化方法,包括以下步骤:

步骤1,将完整的逻辑攻击图映射到网络拓扑结构;

步骤2,使用graphviz来构建图像;

步骤3,使用聚类技术生成可视化攻击图;

步骤4,使用基于聚合子网的双层级方法,提取可视化攻击图的关键路径,针对子网间和子网内进行相应处理;

步骤5,创建虚拟节点,抽象化攻击方式。

进一步地,步骤4所述的基于聚合子网的双层级方法,具体如下:

设a,b,c,d,e为一个攻击图的五个节点,其中a为攻击者所处的初始位置,称为源节点;e为攻击目标,称为汇聚节点;如果从源节点a到c的每条路径都必须经过b,称b是c的前控制节点,记作bcotc;如果从c到汇聚节点e的每条路径都要经过d,称d是c的后控制节点,记作dpotc。

进一步地,步骤4所述的提取可视化攻击图的关键路径,针对子网间和子网内进行相应处理,具体如下:

(4.1)提取子网x和y之间的关键攻击路径,包括以下3个步骤:

a)创建一个有向图,按照聚合规则将其划分为若干子网,子网之间为潜在攻击路径;

b)构造一个控制树来识别子网之间的前控制和后控制关系;

c)若两个子网x和y存在关系y是x的前控制网络即ycotx或x是y的后控制网络即xpoty,则将两个子网间的所有攻击步骤x→y标识为无用步骤,x→y表示通过子网x向子网y进行攻击;

(4.2)提取同一子网内的两个机器之间的攻击步骤a→b即通过机器a向机器b进行攻击的关键攻击路径,包括以下3个步骤:

a)判断当前子网是否包含目标机器;

b)如果子网包含目标机器,且b是目标机器,则保留a→b即通过机器a向机器b进行攻击,并移除此子网内的其他转换;

c)如果子网不包含目标机器,b提供能够让攻击者访问另一个子网的能力,且此路径能通过步骤(4.1)判定为有用步骤,则保留a→b即通过机器a向机器b进行攻击。

进一步地,步骤5所述的创建虚拟节点,抽象化攻击方式,具体如下:

(5.1)找出大于等于两条指向同一节点的攻击路径集合t;

(5.2)将集合t所包含的路径映射到原逻辑攻击图中;

(5.3)通过攻击图模型的映射关系集合l找出集合中每个攻击路径的派生节点d;

(5.4)若存在派生节点的派生规则相同,则生成该派生节点的虚拟攻击节点v;

(5.5)标记从攻击源s指向虚拟攻击节点v;

(5.6)标记从虚拟攻击节点v指向攻击目标g。

本发明与现有技术相比,其显著优点在于:(1)从具有完整拓扑结构的攻击图中提取关键路径,抽象化攻击模式,提高了攻击图的可读性;(2)能够使用户清晰地了解系统中的核心安全问题和关键攻击所代表的攻击模式。

附图说明

图1是企业级网络攻击实例示意图。

图2是企业级网络攻击实例的可视化网络攻击图。

图3是提取关键路径后的可视化网络攻击图。

图4是将攻击模式抽象化后的可视化网络攻击图。

具体实施方式

完整攻击图,是将完整的逻辑攻击图映射到网络拓扑结构,并进行简单的可视化后得到的攻击路径图。攻击图的可视化效果优化主要分为两个部分:关键路径提取和攻击模式抽象化。

本发明提出的一种攻击图可视化效果的优化方法,从简单的可视化攻击图中识别并消除无用边,提取出关键的攻击路径;提出创建抽象节点的方法,对修剪过的可视化攻击图,识别使用相同语义的攻击步骤并将它们聚合成组,用一个虚拟节点表示,消除攻击图节点个数,进一步改善攻击图的可视化,包括以下步骤:

步骤1:将完整的逻辑攻击图映射到网络拓扑结构;

步骤2:使用graphviz来构建图像;

步骤3:使用聚类技术生成了可视化攻击图;

步骤4:使用基于聚合子网的双层级方法,提取可视化攻击图的关键路径,针对子网间和子网内进行相应处理;

步骤5:创建虚拟节点,抽象化攻击方式。

进一步地,步骤4所述的使用基于聚合子网的双层级方法,提取可视化攻击图的关键路径,针对子网间和子网内进行相应处理,具体如下:从攻击图中提取关键路径,即识别和消除攻击图中“无用的”路径。完整的逻辑攻击图中存在许多步骤虽然在逻辑上成立,但并不能帮助用户理解网络配置中的核心安全问题,这些攻击路径有一个共同的特点,就是它们没有揭示系统中最重要的漏洞,攻击者无法通过这些漏洞威胁到目标网络的核心安全。

设a,b,c,d,e为一个攻击图的五个节点,其中a为攻击者所处的初始位置,称为源节点,e为攻击目标,称为汇聚节点;如果从源节点a到c的每条路径都必须经过b,称b是c的前控制节点,写作bcotc;如果从c到汇聚节点e的每条路径都要经过d,称d是c的后控制节点,写作dpotc。

对于两个子网x和y,如果ycotx,则获得子网x权限的攻击者必须已经拥有子网y的权限(否则攻击者将无法转移到x)。如果xpoty,那么从x移到y对攻击者毫无用处,因为他必须返回到x才能到达聚合节点。

因此,对攻击图中的网络拓扑结构,有如下性质:对于任何两个子网x和y,若存在关系ycotx或xpoty,那么两个子网间的所有攻击步骤x→y都属于无用步骤。

4.1、识别子网间无用边的具体方法包括:

4.1.1、创建一个有向图,按照聚合规则将其划分为若干子网,子网之间为潜在攻击路径;

4.1.2、构造一个控制树来识别子网之间的前控制和后控制关系;

4.1.3、若两个子网x和y存在关系ycotx或xpoty,则将两个子网间的所有攻击步骤x→y标识为无用步骤;

4.2、判断同一子网内的两个机器之间的攻击步骤a→b是否为无用步骤,具体步骤为:

4.2.1、判断当前子网是否包含目标机器;

4.2.2、如果子网包含目标机器,且b是目标机器,则保留a→b,并移除此子网内的其他转换;

4.2.3、如果子网不包含目标机器,b提供能够让攻击者访问另一个子网的能力,且此路径能通过步骤4.1判定为有用步骤,则保留a→b;

进一步地,步骤5所述的创建虚拟节点,抽象化攻击方式,具体如下:

在识别并移除无用的攻击步骤之后,有许多边依然存留在攻击图的可视化展示中。虽然随着攻击图展示的数据量减少,用户体验能提升不少,但仍然面临其他障碍,导致管理员无法直接了解当前网络配置中潜在的安全问题。

结合图3提取关键路径后的可视化网络攻击图,通向citrixserver的三条边代表了不同的源节点,但在该网络中只有一个安全问题,即用户帐号为“普通用户”的可靠性不确定。如果该用户帐户被攻陷,攻击者可以从三台主机中的任何一台访问citrixserver。通过创建虚拟节点可以体现该安全问题的存在,而且能够更清晰地看到如果可以验证此用户帐户的可靠性,那么就可以消除指向citrixserver的大部分攻击。本发明的可视化攻击图如图4所示,以蓝线的形式显示攻击源向抽象的攻击节点的转换,以红线的形式显示直接的主机到主机的攻击以及来自抽象的攻击节点的攻击,具体步骤如下:

5.1、找出大于等于两条的指向同一节点的攻击路径集合t;

5.2、将集合t所包含的路径映射到原逻辑攻击图中;

5.3、通过攻击图模型的映射关系集合l找出集合中每个攻击路径的派生节点d;

5.4、若存在派生节点的派生规则相同,则生成该派生节点的虚拟攻击节点v;

5.5、用蓝线从攻击源s指向虚拟攻击节点v;

5.6、用红线从虚拟攻击节点v指向攻击目标g。

综上所述,本发明能清晰地反映系统中的核心安全问题和关键攻击所代表的攻击模式,提高攻击图的可读性,为网络管理员提供安全帮助。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1