识别脆弱性利用安全威胁并确定相关攻击路径的方法

文档序号:7892280阅读:346来源:国知局
专利名称:识别脆弱性利用安全威胁并确定相关攻击路径的方法
技术领域
本发明属于网络信息安全技术领域,具体涉及一种识别脆弱性利用安全威胁并确定相关攻击路径的方法。
背景技术
在现代通信系统中,承载着组织重要业务的信息系统不可避免存在脆弱性。这些脆弱性可能被攻击者利用,使得攻击者控制业务系统中关键节点成为可能,从而对业务系统的连续性以及数据的保密性、完整性和可用性造成危害。为确保信息系统免受脆弱性利用威胁,组织往往会在系统中应用各种安全措施。业务系统中所实施的各种安全措施不但能够实现业务系统所规划的安全功能,也应该能够抵御攻击者针对业务系统中脆弱性的利用攻击,或者降低攻击者利用脆弱性的后果。本发明主要关注脆弱性利用安全威胁的识别和相关攻击路径的标识,因此本说明书中,如无特殊说明,所有安全威胁均指脆弱性利用威胁。识别业务系统中存在的安全威胁是实现网络安全管理的重要途径。在一个日益复杂、分布式和异构的网络环境中,业务系统中的脆弱性利用安全威胁存在以下特点1) 一个业务系统中可能存在多个脆弱性利用威胁;2)每个威胁存在明确的攻击目标,并存在为达到攻击目标的攻击路径;3)每个抵达安全威胁攻击目标的攻击路径可能由多个相互关联的单个的脆弱性利用攻击组成。攻击图是一种近年来业界广泛应用的安全威胁分析方法,它从攻击者角度出发,基于系统网络配置和脆弱性信息,分析脆弱性利用之间的依赖关系,找出所有可能的攻击路径,以便管理员采取必要措施抵御安全威胁,降低安全风险。按攻击图中节点和边表示含义的不同,可以将攻击图分为状态攻击图和因果关系图。状态攻击图中的节点表示目标网络和攻击者的全局状态,有向边表示单一攻击行为引起的状态转换。状态攻击图由于存在状态空间爆炸问题,不适用于大规模系统的安全性分析。因果关系图中,节点表示系统条件(属性)和原子攻击,有向边表示节点间的因果关系。因果关系图克服了状态攻击图的状态组合爆炸问题,具有更好的可扩展性,能用于大规模网络安全性分析。目前的攻击图大都属于因果关系图。依据攻击图中攻击路径覆盖范围,可以将攻击图分为网络攻击图和子攻击图。网络攻击图展示业务系统中存在的所有可能安全威胁以及所有可能的攻击路径,子攻击图只展示与指定的安全威胁目标相关的攻击路径。网络攻击图适用于识别系统中各种可能影响到业务系统安全属性的脆弱性利用威胁,有助于评估业务系统整体安全性或态势,但网络攻击图往往非常庞大,不适合对某一特定安全威胁的分析;子攻击图适于对特定威胁进行有针对性的分析和处置。在具体安全分析场景中,鉴于系统业务重要性的不同,及资源有限和成本等因素影响,往往需要进一步分析所识别出的威胁,生成各威胁所对应子攻击图,从而可能对各种安全威胁的利用条件和危害程度进行深入的分析。目前所查到的攻击图生成方法往往只能生成一种类型的攻击图,即网络攻击图或子攻击图,而在实际的脆弱性利用威胁识别和分析过程中,通常需要基于网络攻击图和安全属性识别出所有影响业务系统安全性的威胁,然后得到各威胁所对应的子攻击图,从而可能对各安全威胁的利用条件和危害程度进行深入分析,以得到有效防御安全威胁的方法。目前能查到一种网络攻击图分解方法(中国期刊《软件学报》,Vol. 21, No. 4, April2010,pp. 838-848,攻击图的两种形式化分析),它采用迭代方法求取网络攻击图中所有长度不超过指定值N的有效攻击路径,但一次只能生成一个威胁所对应子攻击图。通常情况下,网络管理员需要得到所有安全威胁对应子攻击图,从而可能对各种安全威胁的利用条件和危害程度进行深入分析,因此,需要一种能够对网络攻击图进行分解,一次性得到所有脆弱性利用威胁所对应的子攻击图,以帮助管理员能够对所有的安全威胁进行深入的分析和处置。

发明内容
针对上述问题,本发明目的在于提供一种识别脆弱性利用安全威胁并确定相关攻击路径的方法,对业务系统中存在的各种脆弱性利用安全威胁进行分析,并确定与各安全威胁相关的攻击路径,便于管理员为各安全威胁制定有效的安全加固方法,将安全风险控制在可接受范围之内。本发明的识别脆弱性利用安全威胁并确定相关攻击路径的方法,其步骤包括I)根据业务系统的网络配置和脆弱性信息得到因果关系攻击图,将所述因果关系攻击图转换为基于颜色Petri网的网络攻击图;2)依据预先定义的业务系统安全目标识别出业务系统中各种脆弱性利用安全威胁目标;3)将所述基于颜色Petri网的网络攻击图分解为子攻击图,得到所述各种脆弱性利用安全威胁目标的攻击路径。优选地,步骤I)所述将因果关系攻击图转换为基于颜色Petri网的网络攻击图的具体方法为I. I)将因果关系攻击图中的初始节点集合和可达节点集合中的各节点转换为颜色Petri网中的库所;1.2)将因果关系攻击图中的原子攻击节点集合中的各原子攻击转换为颜色Petri网中的变迁;1.3)将因果关系攻击图中的有向边集合中的有向边转换为颜色Petri网中的连接库所和变迁以及连接变迁和库所的有向弧。优选地,步骤2)中识别脆弱性利用安全威胁目标的具体方法为2. I)对于影响到业务系统机密性的关键对象权限集合中的各关键对象权限,如果网络攻击图中存在使得攻击者可能获取到该对象权限的攻击路径,则识别出一个可能破坏业务系统机密性的安全威胁目标; 2. 2)对于影响到业务系统完整性的关键对象权限集合中的各关键对象权限,如果网络攻击图中存在使得攻击者可能获取到该对象权限的攻击路径,则识别出一个可能破坏业务系统完整性的安全威胁目标;2. 3)对于影响到业务系统可用性的关键对象权限集合中的各关键对象权限,如果网络攻击图中存在使得攻击者可能获取到该对象权限的攻击路径,则识别出一个可能破坏业务系统可用性的安全威胁目标。优选地,步骤3)中将网络攻击图分解为子攻击图的具体方法为3. I)将基于颜色Petri网的网络攻击图转换为可仿真颜色Petri网系统;3. 2)对转换后的颜色Petri网系统进行仿真,使所有可能抵达各安全威胁目标的攻击路径记录在安全威胁目标相关的库所中;3. 3)仿真结束后,根据各脆弱性利用安全威胁目标相关库所中记录的攻击路径列表对网络攻击图进行裁剪,得到各安全威胁目 标所对应子攻击图。进一步地,本发明可实现将步骤3)得到的各子攻击图转换为不确定性推理网络,利用不确定性推理方法计算所述各种脆弱性利用安全威胁目标的威胁度;进而根据所述威胁度可对所述各种脆弱性利用安全威胁进行优先级排序并分别进行处置。本发明所述方法将传统的因果关系攻击图转换为基于颜色Petri网的网络攻击图。颜色Petri网是一种高级Petri网,它结合了 Petri网和高级程序语言优点,同时具备控制流和数据流描述能力,具有更强的模型分析能力。网络攻击图中的各原子攻击可以独立执行,且每个原子攻击的成功实施都可能改变整个网络系统状态。因此,比较适合利用颜色Petri网来对网络攻击图进行描述和分析。本发明所述方法基于系统安全目标识别业务系统中所有的安全威胁目标,并采用颜色Petri网仿真实现网络攻击图的分解,可一次性得到所有安全威胁目标的子攻击图,即攻击路径,效率非常高。此外,本发明方法进一步将各安全威胁所对应的子攻击图转换为不确定性推理网络,通过不确定性推理得到各安全威胁目标的威胁程度值,进而对各安全威胁目标进行排序。这使得管理员可以对各安全威胁的利用条件和危害进行深入分析,从而可能采取相应的防御措施,如优先处置高威胁度的安全威胁目标等,以实现安全资源的合理分配。


图I为本发明所述脆弱性利用安全威胁识别和相关攻击路径标识方法流程图;图2为因果关系攻击图不意图;图3为脆弱性利用原子攻击结构图;图4为脆弱性利用原子攻击实例图;图5为一个基于颜色Petri网脆弱性利用原子攻击实例图;图6为转换后的可直接仿真的基于颜色Petri网的原子攻击模块示意图;图7为本发明实施例的Web业务系统拓扑及配置示意图;图8为实施例中由因果关系攻击图实施例转换而来的基于颜色petri网网络攻击图;图9为本发明实施例的脆弱性利用安全威胁目标{R_4, U_4}所对应的子攻击图;图10为本发明实施例的脆弱性利用威胁目标{R_5, U_5}所对应的子攻击图。
具体实施例方式下面结合附图及实施例,对本发明的技术方案进行更详细的说明。—个实际的业务系统不可避免的存在脆弱性,这些脆弱性主要由以下几个方面造成1)信息系统设计逻辑缺陷;2)系统软件实现缺陷;3)系统配置错误。信息系统中的这些脆弱性在正常应用情况下虽然并不妨碍业务逻辑执行,但它们一旦被攻击者恶意利用,则可能对整个业务系统的安全造成危害。攻击者对一个脆弱性的利用成功与否取决于脆弱性利用发生时的条件满足情况,如果脆弱性利用的各种条件得到满足,则攻击者可能成功利用该脆弱性非法获得业务系统的访问权限,从而形成对信息系统实质的安全威胁。一般情况下,攻击者针对一个信息系统的攻击目标是通过对信息系统中一系列脆弱性的成功利用实现的,本发明称攻击者发起的单次脆弱性利用行为为原子攻击。本发明在分析信息系统各种安全威胁过程中,对攻击者能力提出三种假设1)攻击者能获取业务系统脆弱性、网络拓扑等可利用的系统信息;2)攻击者掌握相关脆弱性的攻击利用方法;3)攻击者是贪婪的,会基于已有攻击资源扩大攻击影响,以获得最大的业 务系统攻击权限。攻击者要成功利用某一脆弱性,必须满足相应的利用条件,在攻击成功实施后,将获得相应的权限。本发明所述方法基于攻击图来描述存在于业务系统中的各种攻击路径。目前大都采用因果关系攻击图来描述针对业务系统的攻击图。因果关系攻击图由很多原子攻击组成,因果关系攻击图中的一条攻击路径是由一系列相互关联的原子攻击组成,前面的原子攻击是后面原子攻击成功实施的前提。图I为本发明的脆弱性利用安全威胁识别和相关攻击路径标识方法流程图。首先根据业务系统的网络配置和脆弱性信息,利用公知的因果关系攻击图构建方法得到因果关系攻击图,将传统因果关系攻击图转换为基于颜色Petri网的网络攻击图,以利用成熟的颜色Petri网工具对其进行各种分析;再基于系统安全目标识别信息系统中的各种安全威胁目标;然后,基于颜色Petri网实现网络攻击图的分解,一次性得到各安全威胁目标的子攻击图,所得到的子攻击图具有无环且最长攻击路径长度不超过指定步长等特征。为了对因果关系攻击图进行有效分析,本发明采用颜色Petri网来描述网络攻击图,首先将因果关系攻击图转换为基于颜色Petri网的网络攻击图,以利用成熟的颜色Petri网工具对其进行各种分析。Petri网是一种图形建模和分析工具,拥有严格数学理论基础,能够对分布式系统进行图形化模拟,适用于描述动态系统结构和并发行为。颜色Petri网(ColoredPetri-Net,缩写为CPN)是一种高级Petri网,它结合了 Petri网和高级程序语言优点,同时具备控制流和数据流描述能力,并具有更强的模型分析能力,便于描述和分析复杂的系统业务流。因此,本发明选用颜色Petri网作为网络攻击图分析工具。在颜色Petri网中,矩形框代表变迁(Transition),变迁一般用来描述系统中的局部系统行为,椭圆代表库所(Place),库所一般用来描述系统中的变迁发生时的前提条件或属性,或者变迁发生后的状态。根据公开文献“攻击图的两种形式化分析,软件学报,Vol. 21, No. 4, April 2010,pp. 838-848”可知,因果关系攻击图(也称属性攻击图)可描述为AG = (A0 U Ad,T,E)。其中Atl表示初始节点集合,对应网络和攻击者的初始属性集合;Ad表示可达节点集合,对应网络和攻击者在攻击被逐步实施后可达的属性集合;T表示原子攻击节点集合;E为有向边集合。AG满足下列约束(I)EC ((TXAd) U ((A0UAd) XT)),即属性攻击图的两个节点之间的关系仅包含Atl-T,Ad-T,T-Ad,其中T — Ad为原子攻击的后果边;Α0 — T,Ad — T为原子攻击的前提边;(2)对V τ eT,令PreO)表示τ的父节点集合,Post(T)表示τ的子节点集合,则父节点之间存在“与”关系,且满足(APre ( τ ) )今(APost ( τ )),表示当原子攻击的所有前提都被满足后,该原子攻击成功,从而使其后果被满足。图2为一个满足上述定义的属性攻击图。从该属性攻击图可以看出,属性攻击图中包含两类节点以文字表示的属性节点和以椭圆表示的原子攻击节点,其中,属性节点代表目标网络和攻击者能力的条件,原子攻击节点代表攻击者利用单个脆弱性进行的一次攻击。要对因果关系攻击图进行正式的描述,必须首先对因果关系攻击图中的各原子攻击进行正式描述。图3为本发明所述的用来构成因果关系攻击图的原子攻击结构图,从该原子攻击结构看出,原子攻击包括三种类型要素,即原子攻击成功实施所依赖的前提条件、原子攻击动作本身(脆弱性利用)以及原子攻击成功的后果(攻击影响)。其中,原子攻击前提条件包括攻击者权限、攻击可达性、服务活跃性和脆弱性存在性。攻击者权限是指攻击者在源主机和目标主机上所获得的权限级别,本发明将权限级别定义为三级,即none (O),user (I)和ixx)t(2);攻击可达性是指攻击者从源主机发起的原子攻击能否抵达目标主机;服务活跃性是指原子攻击成功实施所依赖的服务是否运行在目标主机上;脆弱性存在性是指攻击者所利用的脆弱性在目标主机服务中是否存在。在实际攻击中,只有当这些前提条件都得到满足时,该原子攻击才能够成功实施。原子攻击成功实施的后果主要表现为攻击者能力的提升,比如攻击者非法获得了目标主机上的user或root权限。图3所描述的原子攻击其实是一个颜色Petri网,其中,用来表示原子攻击前提条件和后果的椭圆形节点即为颜色Petri网结构中的库所(Place),用矩形表示的脆弱性利用动作即为颜色Petri网结构中的变迁(Transition)。因此,可以采用颜色Petri网语言来对因果关系攻击图进行正式的定义。当采用颜色Petri网来定义因果关系攻击图时,如图3所不的原子攻击可以描述为AAG = <PAo, t, PAd>,其中PA。。为所述原子攻击的输入库所集合,其每个库所代表一个攻击前提条件,它可以为攻击者在源主机或目标主机上的初始攻击权限、源主机到目标主机的攻击可达性、脆弱性所依赖的服务可用性以及脆弱性存在性;t为变迁,它表示所定义原子攻击相关的脆弱性利用行为;PAdS所述原子攻击的影响库所集合,其中,每个库所记录该原子攻击成功实施后的攻击效果。图4为一个满足图3所述原子攻击结构的原子攻击实例图,这里假设攻击者要从其所控制的源主机(Hl)利用目标主机(H2)上的IIS Web服务中的一个缓冲区溢出漏洞(CVE-2002-0364),则必须满足以下四个条件I)攻击者在源主机H1的权限至少为user (记为椭圆U_hl); 2)主机I可以访问主机2的HTTP服务(记为椭圆http_hl_h2);3)主机2上的IIS5. O Web服务正在运行(记为椭圆IIS_h2);4)主机2上的IIS5. O服务存在一个编号为CVE-2002-0364)的缓冲区溢出漏洞(记为椭圆v364_h2)。只有当上述四个条件同时满足时,攻击者才可以成功发起从H1到H2 ilIS Web月艮务的攻击(记为矩形v364_hl_h2),攻击结果是,攻击者获得了 H2上的root权限(记为椭圆 R_h2)。为了实现对因果关系攻击图的分析,本发明首先需要将公知的因果关系攻击图转换为基于颜色Petri网的网络攻击图,所述基于颜色Petri网的网络攻击图AG可以记为AG = <P0 U Pd, T0 U Td, E>,其中,初始库所集合Ptl中每个库所代表网络和攻击者的初始状态,表示它是原子攻击成功实施的前提条件;可达库所集合Pd中每个库所代表网络和攻击者的可达状态,它记录原子攻击成功实施后的攻击效果Jtl为独立型变迁集合,对于Ttl中各变迁,其输入库所包含在初始库所集合P。中。因此,T0中各变迁所代表的原子攻击的实施不依赖于其它原子攻击;Td为依赖型变迁集合,对于Td中各变迁,其输入库所集合中至少有一个库所属于可达库所集合Pd,因此,成功实施Td中各变迁所代表的原子攻击必须依赖于其它原子攻击;E为连接颜色Petri网 中库所和变迁的有向弧。基于颜色Petri网的网络攻击图AG丨两足如下约束I)攻击图AG中的有向弧只能连接库所和变迁,或者连接变迁和库所,即
E c ((P0 ^Pd) X (T0 uTd)) u ((T0 (P0 ^Pd));2)对于独立型变迁集合TO中任一元素t,pre(t)表示该变迁的输入库所集合,post(t)表示该变迁的输出库所集合,则;3)对于依赖型变迁集合Td中任一元素t,pre(t)表示该变迁的输入库所集合,post (t)表示该变迁的输出库所集合,则(3〃6Pre^―收£。下面进一步说明本发明方法的各个步骤。I.根据业务系统的网络配置和脆弱性信息得到因果关系攻击图,将传统的因果关系攻击图转换为基于颜色Petri网的网络攻击图。可以利用公知的因果关系攻击图构建方法得到因果关系攻击图。设有一因果关系攻击图AG = (A0 U Ad, T,E),其中-A0表示初始节点集合,对应网络和攻击者的初始属性集合;Ad表示可达节点集合,对应网络和攻击者在攻击被逐步实施后可达的属性集合;T表示原子攻击节点集合;E为有向边集合。将传统的因果关系攻击图转换为基于颜色Petri网的网络攻击图的过程具体描述如下I. I)将因果关系攻击图中的初始节点集合Atl和可达节点集合Ad中的各节点转换为颜色Petri网中的库所;1.2)将因果关系攻击图中的原子攻击节点集合T中的各原子攻击转换为颜色Petri网中的变迁;I. 3)将因果关系攻击图中的有向边集合E中的有向边转换为颜色Petri网中的连接库所和变迁以及连接变迁和库所的有向弧。在具体实施本发明所述的将因果关系攻击图转换为基于颜色Petri网的网络攻击图过程中,为确保转换后的基于颜色Petri网的网络攻击图AG中各库所和变迁命名的唯一性,本发明建议采用以下规范的命名规则来命名转换后的颜色Petri网中的各库所和变迁a)前提条件“攻击者权限”(包括攻击者在源主机和目标主机上具有的权限)表示为“权限级别(主机编号)”,其对应库所命名为“权限级别_主机”,如,在构造攻击图时,攻击者在hi上具有的权限user (hi)所对应的库所名为U_hl ;b)前提条件“攻击可达性”,表示为“协议(源主机,目标主机)”,该前提条件所对应库所命名为“协议_源主机_目标主机”,如,在构造攻击图时,主机hi和h2之间http协议的可达性http (hi, h2)对应库所名为http_hl_h2 ;c)前提条件“服务活跃性”表示为“服务名(主机名)”,所对应库所命名为“月艮务名_主机名”,如,在构造攻击图时,主机hi上的IIS服务IIS50(hl)所对应的库所名为IIS50_hl ;d)前提条件“漏洞存在性”表示为“漏洞编号(主机名)”,相应库所命名为“漏洞编号_主机名”;e)对于脆弱性利用后果,本发明仅指攻击者获得的权限,因此,其命名方法和对应库所命名方法与前提条件“攻击者权限”相同;
f)某一脆弱性利用动作表示为“漏洞编号(源主机,目标主机)”,其相应变迁命名为“漏洞编号_源主机_目标主机”,如在构造攻击图时,脆弱性利用动作CVE364(hl,h2)对应的变迁名称为V364_hl_h2。2.依据预先定义的业务系统安全目标识别出业务系统中各种安全威胁目标。攻击者在攻击过程中所获得的攻击权限直接影响到业务系统的安全。比如,如果攻击者获得了某业务终端的root权限,那么攻击者可能窃取存储在该业务终端上的业务系统敏感数据,可以修改业务系统数据,甚至可能删除重要的业务数据导致数据的不可用。攻击者所获得的攻击权限会直接对业务系统机密性、完整性和可用性造成破坏。因此,本发明基于攻击者权限来定义业务系统安全目标,这里的业务系统安全目标包括信息资产的机密性、完整性和可用性。业务系统机密性是要防止未授权的信息泄露,即要求攻击者通过脆弱性利用所获取到的攻击权限集合AtkCap与影响业务系统机密性的关键对象权限集合PrivSetc交集为空,即攻击者没有获取到任何可能影响到业务系统机密性的关键对象的权限。业务系统完整性是禁止未授权实体对客体的更改或破坏,即要求攻击者通过脆弱性利用所获得的攻击权限集合AtkCap与影响到业务系统完整性的关键对象权限集合PrivSetI交集为空,即攻击者没有获取到任何可能影响到业务系统完整性的关键对象的权限。业务系统可用性是要确保所有服务必须对相关授权实体是可访问和使用的,即要求攻击者通过脆弱性利用所获得的攻击权限集合AtkCap与影响业务系统可用性的关键对象权限集合PrivSetA交集为空,攻击者没有获取到任何可能影响到业务系统可用性的关键对象的权限。在本发明所述方法中,攻击者的安全威胁目标表示为一个攻击权限集合,即其中为攻击者在某业务终端上所获得的危害业务系统安全的攻击权限集合,安
全威胁目标所对应子攻击图只包含了从初始节点出发抵达目标集合中各元素所示攻击权限的攻击路径。在基于颜色Petri网的网络攻击图中,攻击路径Path则为网络攻击图中的一个变迁序列Path = — t2 — . . · — tn,其中tjl彡i彡η)为变迁,它对应一个原子攻击。攻击路径必须满足如下约束1)第一个变迁h必须为独立型变迁;2)变迁tn的输出库所集合Post (tn)与影响业务系统机密性、完整性和可用性安全属性的关键对象集合P交集不为空;3)变迁序列中前驱变迁的输出库所为后继变迁的输入库所。
在基于颜色Petri网的网络攻击图中,攻击路径长度定义为攻击路径所对应的原子攻击变迁序列的长度。
在定义了业务系统的机密性、完整性、可用性安全目标后,就容易基于网络攻击图识别出所有可能破坏业务系统安全目标的攻击者的各安全威胁目标,具体方法为2. I)对于影响到业务系统机密性的关键对象权限集合PrivSet。中的各关键对象权限,如果网络攻击图中存在使得攻击者可能获取到该关键对象权限的攻击路径,则识别出一个攻击者可能破坏业务系统机密性的安全威胁目标;2. 2)对于影响到业务系统完整性的关键对象权限集合PrivSet1中的各关键对象权限,如果网络攻击图中存在使得攻击者可能获取到该关键对象权限的攻击路径,则识别出一个攻击者可能破坏业务系统完整性的安全威胁目标;2. 3)对于影响到业务系统可用性的关键对象权限集合PrivSetA中的各关键对象权限,如果网络攻击图中存在使得攻击者可能获取到该关键对象权限的攻击路径,则识别出一个攻击者可能破坏业务系统可用性的安全威胁目标。3.对网络攻击图进行分解,得到各安全威胁目标所对应的子攻击图,即得到各安全威胁目标的攻击路径。在识别出攻击者的所有可能影响到业务系统安全目标的安全威胁目标后,需要对攻击者的各安全威胁目标进行深入分析。本发明关注各安全威胁目标的威胁度,即各安全威胁目标遭受攻击对业务系统所造成的威胁程度,以帮助安全管理员识别出高威胁度的安全威胁目标进行优先处置。在现实环境中,由于业务系统复杂性和脆弱性的客观存在,业务系统中可能存在多条到达同一安全威胁攻击目标的脆弱性利用攻击路径,因此,在对各安全威胁进行深入分析时,需要考虑可能抵达该安全威胁的所有攻击路径。本发明称这些包含了抵达指定的攻击者安全威胁目标的所有攻击路径的网络攻击图为所述安全威胁目标的子攻击图。在本发明中,安全威胁目标的威胁度则定义为从指定脆弱性利用威胁目标的子攻击图AG到区间
的映射f :AG—
,它可以综合评估攻击者达到脆弱性利用安全威胁目标的成功率,攻击者达到某脆弱性利用安全威胁目标的成功率越大,则该脆弱性利用安全威胁的威胁度越大,反之越小。假设网络攻击图中所有攻击路径的集合表示为PATHm,则攻击者的某个安全威胁目标所对应子攻击图为满足下述条件的网络攻击图AG = <P0 U Pd, T0 U Td, E> 1)不存在循环路径,即对Vp(H.4) EiMm4cj Poston (UkI1Preik)) = ¢,2 <i<lk ; 2)任意攻击路径长度不超过指定常数N (N彡I),即Vp(HA)eTMmMXij)⑶;3)任一攻击路径目标所获得的攻击权限必然在安全威胁集合中,即办(从,...,^>以^^,—0^#,~%)门怂辞。按照本发明所述方法,在将传统的因果关系攻击图转换为基于颜色Petri网的网络攻击图后,需要根据识别出的各安全威胁目标对网络攻击图进行分解,以获得各安全威胁目标所对应的子攻击图。本发明对基于颜色Petri网的网络攻击图进行分解,一次性分解出各安全威胁目标所对应子攻击图,所述子攻击图不存在循环路径且最长攻击路径不超过预设值。分解过程的具体步骤为3. I)将网络攻击图中各库所的颜色类型设置为〈攻击路径,攻击权限列表> 二元组;为网络攻击图中各原子攻击的变迁附加警卫函数(Guard),使得该变迁所对应的脆弱性利用攻击的执行不会导致超长攻击路径以及不会导致攻击者获取重复的攻击权限;当网络攻击图中的所有原子攻击转换结束后,则得到了可直接仿真的颜色Petri网系统;3. 2)采用颜色Petri网工具对转换后的颜色Petri网系统进行仿真,仿真结束后,所有可能抵达各安全威胁目标的攻击路径记录在安全威胁目标相关的库所中,这些攻击路径无循环且路径长度不超过预先定义的长度值;3. 3)仿真结束后,对于攻击者的每个安全威胁目标,根据该安全威胁目标所对应库所中记录的攻击路径列表对网络攻击图裁剪,得到各安全威胁目标所对应的子攻击图。为了更好的实施本发明,上述过程的步骤3-1)中,可以为网络攻击图中各库所定义如表I所示的〈攻击路径,攻击权限列表〉二元结构颜色类型APT colset APT = productAP*AT ;其中,AP记录了脆弱性利用过程中已经成功执行的变迁序列,它可以定义为colsetAP = list STRING ;AT则记录了脆弱性利用实施过程中攻击者获得的攻击权限列表,定义 为colset AT = list STRING。此外,还为本发明定义了颜色类型APL colset APL = listAP,用来记录经过各原子攻击的攻击路径的列表。表I.颜色Petri网颜色类型定义表
序号颜色类型名称 ^I记录内容
colset AP = list脆弱性利用过程中已经成功执彳丁的原子
1AP
+STRING攻击序列
colset AT = list脆弱性利用过程中攻击者犹得的能力或
2AT
+STRING权限列表
p/~\1 optAprT1=
3.APT包括AP和AT两部分
product AP * AT
APL * col SGt
4.APL■经过各变迁的攻击路径的列表
APL=IistAP在本发明所述网络攻击图分解过程3. I)步骤中,需要为网络攻击图中各原子攻击中的变迁附加警卫函数,使得该变迁所对应的脆弱性利用攻击的执行不会导致超长攻击路径,以及不会导致攻击者获取重复的攻击权限,它是网络攻击图分解过程的关键步骤。将每个原子攻击AG =〈PA。,PAd, t>转换为可仿真的颜色Petri网系统的转换过程如下I)为PA。中各输入库所指定颜色类型APT,如果输入库所属于网络攻击图的初始库所集合Po,则为该库所附加一个攻击路径和攻击者能力列表都为空的token ;2)为输出库所PAd中各库所附加颜色类型APT ;3)将从输入库所到变迁t的各输入弧改为双向弧,以避免变迁t与其它变迁在输入库所代表的攻击条件上形成竞争;同时为各双向弧附上可将类型为APT的token分解为攻击路径和攻击能力列表的弧表达式;4)对于从变迁t到Pad中各输出库所的各输出弧,附上可将变迁T所代表的原子攻击追加到当前攻击路径中以及将变迁T输出结果所代表的攻击者能力追加到当前攻击者能力列表中的弧表达式;
5)创建一个库所Ph,并指定颜色类型为APL,分别创建从Ph到T和从T到Ph的有向弧,并分别设置相应的脚本,以记录经过变迁T的所有攻击路径的列表;6)为了去除攻击图中的循环路径和超长路径,为变迁T附加一个guard函数,所述guard函数由三个相与的条件组成,包括1)变迁T输出的攻击能力不在攻击者已获取能力列表中,该条件确保所生成的攻击路径不存在环路;2)所生成的以变迁T为结尾的攻击路径未出现在历史攻击路径集合中,这将确保攻击路径的唯一性;3)包含变迁T的攻击路径长度不超过长度N,这将确保最后的攻击图切片中不包含超长的攻击路径。图5为原子攻击v2_0_3所对应的基于颜色Petri网的原子攻击,可以通过上述方法将其转换为如图6所示的用来实现网络攻击图分解的可仿真颜色Petri网模块。图6中,设置输入库所R_0,dns_0_3, bnd_h3和v2_h3的颜色类型为APT ;设置输出库所R_3的颜色类型为APT ;为四个输入库所R_0,dns_0_3, bnd_h3和v2_h3分别附加初始token 值([],[]),表示攻击路径和攻击能力列表都为空;然后,将从各输入库所到变迁v2_0_3的四个输入弧分别改为双向弧,定义弧表达式为(pi,ti);以表达式“化1~~[ “v2_0_3”],tl~~[ “R_3”])”标识从变迁v2_0_3到库所R_3的输出弧(表达式中的~ ■'为CPN语言中的Iist元素追加运算符),从而将变迁v2_0_3所代表的脆弱性利用行为追加到当前攻击路径中,同时将变迁v2_0_3成功执行后所获得的攻击者能力(获得了 host3上的Root权限)追加到当前攻击者能力列表中;然后,创建了一个颜色类型为APL的历史库所PH,并分别创建从PH到v2_0_3和从v2_0_3到PH的有向弧,并分别附加弧表达式“pi”和“p「[pi] ”以记录经过变迁v2_0_3的所有攻击路径的列表;最后,为变迁v2_0_3设置guard函数“gd( “R_3”,pl,tl,pl) ”,它限定变迁v2_0_3所代表的原子攻击的执行条件,分别为1)执行此变迁不会导致攻击者获得重复的攻击者权限(这里为重复获得H3上的Root权限);2)执行此变迁不会导致出现循环的攻击路径;3)执行此变迁不会导致攻击路径长度超过指定值。只有上述三个条件同时满足,该变迁才能被触发,从而防止所得到的子攻击图出现循环攻击路径或者攻击路径步长超过指定长度。为了实现上述guard函数,可以采用颜色Petri网编程语言为本发明定义如下的gd函数和gd相关的ni函数Fun ni(c,x::xs) = ifc = x then false else ni(c,xs)ni (c, ni) = true ;Fun gd(pr, pi, tl, pi) = ni (pr, tl)andalso ni (pi, pi)andalso Ien(pi) < =N;这里的ni函数实现了一个不包含判定功能,即当元素c包含在以X为第一个元素和以XS为列表尾的列表中时,返回为真;函数gd中的“ni (pr,tl) ”部分要求执行此变迁所获得的权限Pr不在已有攻击者权限列表中;函数gd中的“ni (pi, pi) ”部分要求该变迁没有出现在以后的攻击路径中;函数gd中的“len(pl) <=N”部分确保当前攻击路径长度没有超过指定值。进一步地,本发明可实现将步骤3得到的各子攻击图转换为不确定性推理网络,利用不确定性推理方法计算各安全威胁目标的威胁度,以便对各安全威胁进行优先级排序和优先处置。如何根据脆弱性利用安全威胁目标所对应子攻击图来计算脆弱性利用威胁目标的威胁度,需要综合考虑多种因素,包括脆弱性利用条件、单个脆弱性利用成功率等,以及业务系统中所存在的多条抵达同一攻击目标的攻击路径对脆弱性利用威胁目标成功可能性的综合影响;此外,还需考虑业务系统中存在的各种不确定和未知因素。本发明采用不确定性推理方法评价各脆弱性利用安全威胁目标的威胁度,它将弱性利用威胁目标所对应的子攻击图视为不确定性D-S证据推理网络,然后采用公知的D-S证据推理方法计算出各安全威胁目标的威胁度。在计算出各安全威胁的威胁度后,就可以基于威胁度对各安全威胁目标进行排序,从而确定处置优先级,对优先级高的安全威胁进行优先处置。基于D-S证据不确定性推理的脆弱性利用威胁目标的威胁度计算过程包括三个步骤a)将子攻击图中的每个原子攻击转换为IF-Then规则集,具体做法为对于子攻击图中的每个变迁,抽取该变迁所对应的原子攻击,将原子攻击分解为原子攻击前提条件、原子攻击动作和原子攻击后果,根据原子攻击 分解结果生成If-Then规则;b)根据预先确定的各脆弱性利用原子攻击的难易程度评估经验值和初始证据可信度等知识,将IF-Then规则转换为D-S不确定性证据推理规则;c)利用D-S证据理论推理引擎对所生成的D-S不确定性证据推理规则集进行不确定性推理,最终得到脆弱性利用威胁目标的威胁度值。下面以一个具体的实施例来说明本发明方法中各步骤的实施流程。本实施例所参照的Web应用业务系统实验环境如图7所示,配置的安全策略如下部署在网络信任域边界处的防火墙将网络分成了互联网、内网和DMZ (军事停火区)区三个安全域。DMZ区部署的Web服务器为用户提供Web服务。内网的内部用户不允许与外网直接连接,防止外部蠕虫病毒等攻击直接进入内网传播,保证Web服务器对外提供服务。各安全域之间具体访问控制策略如下1)只允许互联网用户访问DMZ区H2上的IIS Web服务和H3上的DNS域名服务;2)DMZ区的H2允许访问H3上的Sendmail服务和内网H4上的MYSQL服务;3)禁止H2和H3直接访问内网中的管理主机H5 ;4) H5允许直接访问DMZ的H2和H3,及内网的H4。所述Web业务系统实施例中各节点的脆弱性信息如表2所示。表2. Web系统应用终端软件配置及脆弱性信息
权利要求
1.一种识别脆弱性利用安全威胁并确定相关攻击路径的方法,其步骤包括 1)根据业务系统的网络配置和脆弱性信息得到因果关系攻击图,将所述因果关系攻击图转换为基于颜色Petri网的网络攻击图; 2)依据预先定义的业务系统安全目标识别出业务系统中各种脆弱性利用安全威胁目标; 3)将所述基于颜色Petri网的网络攻击图分解为子攻击图,得到所述各种脆弱性利用安全威胁目标的攻击路径。
2.如权利要求I所述的方法,其特征在于,步骤I)中将所述因果关系攻击图转换为基于颜色Petri网的网络攻击图的方法为 I. D将所述因果关系攻击图中的初始节点集合和可达节点集合中的各节点转换为所述颜色Petri网中的库所; 1.2)将所述因果关系攻击图中的原子攻击节点集合中的各原子攻击转换为所述颜色Petri网中的变迁; 1.3)将所述因果关系攻击图中的有向边集合中的有向边转换为所述颜色Petri网中的连接库所和变迁以及连接变迁和库所的有向弧。
3.如权利要求2所述的方法,其特征在于,采用规范的命名规则来命名转换后的颜色Petri网中的各库所和变迁。
4.如权利要求I所述的方法,其特征在于,所述业务系统安全目标基于攻击者权限来定义,包括信息资产的机密性、完整性和可用性。
5.如权利要求4所述的方法,其特征在于,步骤2)中依据业务系统安全目标识别出业务系统中各种脆弱性利用安全威胁目标的方法为 2.I)对于影响到业务系统机密性的关键对象权限集合中的各关键对象权限,如果网络攻击图中存在使得攻击者可能获取到该关键对象权限的攻击路径,则识别出一个可能破坏业务系统机密性的安全威胁目标; 2.2)对于影响到业务系统完整性的关键对象权限集合中的各关键对象权限,如果网络攻击图中存在使得攻击者可能获取到该关键对象权限的攻击路径,则识别出一个可能破坏业务系统完整性的安全威胁目标; 2.3)对于影响到业务系统可用性的关键对象权限集合中的各关键对象权限,如果网络攻击图中存在使得攻击者可能获取到该关键对象权限的攻击路径,则识别出一个可能破坏业务系统可用性的安全威胁目标。
6.如权利要求I所述的方法,其特征在于,步骤3)中将基于颜色Petri网的网络攻击图分解为子攻击图的方法为 3.I)将基于颜色Petri网的网络攻击图转换为可仿真颜色Petri网系统; 3.2)对转换后的颜色Petri网系统进行仿真,使所有可能抵达各安全威胁目标的攻击路径记录在安全威胁目标相关的库所中; 3.3)仿真结束后,根据各脆弱性利用安全威胁目标相关库所中记录的攻击路径列表对网络攻击图进行裁剪,得到各安全威胁目标所对应子攻击图。
7.如权利要求6所述的方法,其特征在于,在所述步骤3.I)中,为所述网络攻击图中各库所定义〈攻击路径,攻击权限列表> 二元结构颜色类型。
8.如权利要求6所述的方法,其特征在于,在所述步骤3.I)中,为所述网络攻击图中各原子攻击中的变迁附加警卫函数。
9.如权利要求I所述的方法,其特征在于将所述步骤3)得到的各子攻击图转换为不确定性推理网络,利用不确定性推理方法计算所述各种脆弱性利用安全威胁目标的威胁度;根据所述威胁度确定所述各种脆弱性利用安全威胁目标的处置优先级。
10.如权利要求9所述的方法,其特征在于,计算所述威胁度的方法为 a)将子攻击图转换为IF-then规则集,具体做法为对于子攻击图中的每个变迁,抽取该变迁所对应的原子攻击,将原子攻击分解为原子攻击前提条件、原子攻击动作和原子攻击后果,根据原子攻击分解结果生成if-Then规则; b)根据预先确定的各脆弱性利用原子攻击的难易程度评估经验值和初始证据可信度等知识,将IF-Then规则转换为D-S不确定性证据推理规则; c)利用D-S证据理论推理引擎对所生成的D-S不确定性证据推理规则集进行不确定性推理,最终得到脆弱性利用威胁目标的威胁度值。
全文摘要
本发明提供一种识别脆弱性利用安全威胁并确定相关攻击路径的方法。首先根据业务系统的网络配置和脆弱性信息得到因果关系攻击图,将所述因果关系攻击图转换为基于颜色Petri网的网络攻击图;然后依据预先定义的业务系统安全目标识别出业务系统中各种脆弱性利用安全威胁目标;再将所述基于颜色Petri网的网络攻击图分解为子攻击图,得到所述各种脆弱性利用安全威胁目标的攻击路径。本发明方法应用于网络信息安全技术领域,可一次性得到所有安全威胁目标的子攻击图,效率非常高。
文档编号H04L29/06GK102638458SQ20121008097
公开日2012年8月15日 申请日期2012年3月23日 优先权日2012年3月23日
发明者冯登国, 吴迪, 连一峰, 陈恺, 魏军 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1