网络风险评估方法和装置的制造方法

文档序号:10626818阅读:365来源:国知局
网络风险评估方法和装置的制造方法
【专利摘要】本发明公开了一种网络风险评估方法和装置。其中所述网络风险评估方法包括:接收指定的起始攻击节点和终止攻击节点;根据网络攻击图,获取从所述起始攻击节点到所述终止攻击节点之间的各个攻击路径;根据所述攻击路径,获取所述攻击路径中的关键脆弱性。采用本申请提供的方法,通过遍历网络攻击图,获取指定的起始攻击节点和终止攻击节点在网络攻击图中的攻击路径,并分析攻击路径,从而提取出关键脆弱性,使得网络安全人员获取到关键脆弱性后,仅需要将这些关键脆弱性解决,从起始攻击节点到终止攻击节点之间的各个攻击路径就均被切断,从而达到减轻网络管理人员排查网络风险工作量的效果。
【专利说明】
网络风险评估方法和装置
技术领域
[0001] 本申请涉及网络安全技术领域,具体涉及一种网络风险评估方法和装置。
【背景技术】
[0002] 随着计算机网络的不断发展,各种针对计算机网络的攻击也越来越多。如何对一 个网络进行风险评估,是广大安全人员必须考虑的重要问题。所谓网络系统风险,是指由 于系统存在的脆弱性、人为或自然的威胁导致安全事件发生的可能性及其造成的影响。网 络风险评估,也称为安全风险评估、网络安全风险评估,是指对网络中已知或潜在的安全风 险、安全隐患,进行探测、识别、控制、消除的全过程,是企业网络安全管理工作的必备措施 之一。通过网络安全评估,可以全面梳理网络中的资产,了解当前存在的安全风险和安全隐 患,并有针对性地进行安全加固,从而保障网络的安全运行。
[0003] 网络风险评估能够提供网络系统存在的漏洞、脆弱性等方面的信息,评估并识别 系统面临的安全风险,指出网络当前的安全状态,为网络系统安全体系的构建提供依据,进 而提升网络系统的生存能力。根据网络风险评估处理对象的不同,网络风险评估方法分为 如下两种类别:
[0004] 1)基于入侵检测系统的输出的网络风险评估方法
[0005] 以入侵检测系统的输出(报警事件)为处理对象,具体可以采用隐马尔可夫随机 过程作为分析手段,建立描述主机系统受到攻击后状态转化的隐马尔可夫模型(HMM),根据 模型计算主机系统风险指数,并经过简单叠加得到整个网络风险的定量评价。
[0006] 2)基于网络攻击图的网络风险评估方法
[0007] 以网络攻击图为处理对象,通过分析网络攻击图,探测网络的薄弱点,获取网络系 统所存在的漏洞、脆弱性等方面的信息。网络攻击图是网络安全评估和测试的重要手段之 一,是基于系统状态的转移来描述网络安全的一种表示方法,网络攻击图的节点代表可能 的攻击状态,网络攻击图的边代表攻击者的原子攻击行为引起的状态变迀,具有形象、直观 的特点。网络攻击图被广泛应用于自动化网络攻击和网络渗透测试中。传统的网络攻击图 都较为复杂,网络攻击图所包含的图形表示仅仅是方便直观理解,并没有给用户带来真正 有用的安全性分析和进一步建议,即:网络攻击图存在使用结果不完善的问题。因此,基于 网络攻击图的网络风险评估成为研究重点。
[0008] 通常,在一个具有多个脆弱性、存在安全风险的网络系统中,可能只有部分脆弱性 才是关键的脆弱性,安全人员只要解决这些关键脆弱性的安全问题,整个网络系统存在的 安全风险就能够得以控制、消除,从而整个网络的安全就得到了保证。然而,已有的基于网 络攻击图的网络风险评估方法并没有评估网络系统中存在的关键脆弱性。
[0009] 因此,现有技术存在无法获取网络系统的关键脆弱性的问题。

【发明内容】

[0010] 本申请提供一种网络风险评估方法和装置,以解决现有技术存在无法获取网络系 统的关键脆弱性的问题。
[0011] 本申请提供一种网络风险评估方法,包括:
[0012] 接收指定的起始攻击节点和终止攻击节点;
[0013] 根据网络攻击图,获取从所述起始攻击节点到所述终止攻击节点之间的各个攻击 路径;
[0014] 根据所述攻击路径,获取所述攻击路径中的关键脆弱性。
[0015] 可选的,所述根据网络攻击图,获取从所述起始攻击节点到所述终止攻击节点之 间的各个攻击路径,具体为:
[0016] 自所述起始攻击节点开始,深度优先遍历所述网络攻击图,获取从所述起始攻击 节点到所述终止攻击节点的各个攻击路径。
[0017] 可选的,所述根据所述攻击路径,获取所述攻击路径中的关键脆弱性,包括:
[0018] 将各个所述攻击路径作为当前攻击路径集;
[0019] 根据脆弱性在所述攻击路径中出现的次数,对所述脆弱性进行排序,形成排序的 脆弱性集合;
[0020] 将所述脆弱性集合中出现次数最多的脆弱性作为关键脆弱性;
[0021] 从所述当前路径集中删除包括所述关键脆弱性的所述攻击路径,并从所述脆弱性 集合中删除所述关键脆弱性;
[0022] 判断所述当前路径集是否为空;若否,则返回执行将所述脆弱性集合中出现次数 最多的脆弱性作为关键脆弱性的步骤。
[0023] 可选的,在所述接收指定的起始攻击节点和终止攻击节点之前,还包括:
[0024] 生成所述网络攻击图。
[0025] 可选的,所述生成所述网络攻击图包括:
[0026] 将攻击者的攻击能力作为所述网络攻击图的当前节点;
[0027] 根据所述当前节点的攻击能力,在攻击能力转移集合中查找使所述当前节点的攻 击能力发生转移的攻击能力转移元素;
[0028] 判断是否存在所述攻击能力转移元素;若否,则结束;
[0029] 当存在所述攻击能力转移元素时,遍历各个所述攻击能力转移元素,将所述攻击 能力转移元素中转移后的攻击能力添加到所述网络攻击图中,以所述当前节点为起始点、 所述转移后的攻击能力为终止点,与所述攻击能力转移元素中的脆弱性子集的各个脆弱性 相对应,在所述起始点和所述终止点之间设置边;
[0030] 遍历各个所述攻击能力转移元素,将所述攻击能力转移元素中的转移后的攻击能 力作为所述网络攻击图的当前节点,返回执行在攻击能力转移集合中查找使所述当前节点 的攻击能力发生转移的攻击能力转移元素的步骤。
[0031] 可选的,所述攻击能力转移集合采用如下步骤生成:
[0032] 获取网络拓扑结构、网络主机中的脆弱性,以及所述脆弱性的利用规则;
[0033] 遍历所述网络拓扑结构中任意两个主机的排列,按照排列顺序,将第一个主机称 为源主机,第二个主机称为目的主机;
[0034] 遍历所述源主机的各个攻击能力,针对所述目的主机的每一个脆弱性,判断所述 源主机的攻击能力是否满足所述目的主机的脆弱性利用的前提条件;
[0035] 当所述源主机的攻击能力满足所述目的主机的脆弱性利用的前提条件时,则根据 所述目的主机的脆弱性利用的后果条件,确定所述目的主机的攻击能力,并将所述目的主 机的脆弱性作为与所述源主机的攻击能力和所述目的主机的攻击能力对应的所述攻击能 力转移元素中脆弱性子集的元素。
[0036] 可选的,所述前提条件包括操作系统类型、服务名称、端口号和权限值;所述后果 条件包括提升后的权限值、引发的拒绝服务、改变后的攻击主机与目标主机之间信任关系、 机密性、完整性和可用性。
[0037] 可选的,所述前提条件和后果条件存储在漏洞数据库中。
[0038] 相应的,本申请还提供一种网络风险评估装置,包括:
[0039] 接收指定单元,用于接收指定的起始攻击节点和终止攻击节点;
[0040] 获取攻击路径单元,用于根据网络攻击图,获取从所述起始攻击节点到所述终止 攻击节点之间的各个攻击路径;
[0041] 获取关键脆弱性单元,用于根据所述攻击路径,获取所述攻击路径中的关键脆弱 性。
[0042] 可选的,所述获取关键脆弱性单元包括:
[0043] 设置子单元,用于将各个所述攻击路径作为当前攻击路径集;
[0044] 排序子单元,用于根据脆弱性在所述攻击路径中出现的次数,对所述脆弱性进行 排序,形成排序的脆弱性集合;
[0045] 查找子单元,用于将所述脆弱性集合中出现次数最多的脆弱性作为关键脆弱性;
[0046] 删除子单元,用于从所述当前路径集中删除包括所述关键脆弱性的所述攻击路 径,并从所述脆弱性集合中删除所述关键脆弱性;
[0047] 判断子单元,用于判断所述当前路径集是否为空;若否,则返回执行将所述脆弱性 集合中出现次数最多的脆弱性作为关键脆弱性的步骤。
[0048] 可选的,还包括:
[0049] 生成攻击图单元,用于生成所述网络攻击图。
[0050] 可选的,所述生成攻击图单元包括:
[0051] 设置子单元,用于将攻击者的攻击能力作为所述网络攻击图的当前节点;
[0052] 查找子单元,用于根据所述当前节点的攻击能力,在攻击能力转移集合中查找使 所述当前节点的攻击能力发生转移的攻击能力转移元素;
[0053] 判断子单元,用于判断是否存在所述攻击能力转移元素;若否,则结束;
[0054] 第一遍历子单元,用于当存在所述攻击能力转移元素时,遍历各个所述攻击能力 转移元素,将所述攻击能力转移元素中转移后的攻击能力添加到所述网络攻击图中,以所 述当前节点为起始点、所述转移后的攻击能力为终止点,与所述攻击能力转移元素中的脆 弱性子集的各个脆弱性相对应,在所述起始点和所述终止点之间设置边;
[0055] 第二遍历子单元,用于遍历各个所述攻击能力转移元素,将所述攻击能力转移元 素中的转移后的攻击能力作为所述网络攻击图的当前节点,返回执行在攻击能力转移集合 中查找使所述当前节点的攻击能力发生转移的攻击能力转移元素的步骤。
[0056] 可选的,所述生成攻击图单元还包括:
[0057] 生成子单元,用于生成所述攻击能力转移集合;
[0058] 所述生成子单元包括:
[0059] 获取子单元,用于获取网络拓扑结构、网络主机中的脆弱性,以及所述脆弱性的利 用规则;
[0060] 第一遍历子单元,用于遍历所述网络拓扑结构中任意两个主机的排列,按照排列 顺序,将第一个主机称为源主机,第二个主机称为目的主机;
[0061] 第二遍历子单元,用于遍历所述源主机的各个攻击能力,针对所述目的主机的每 一个脆弱性,判断所述源主机的攻击能力是否满足所述目的主机的脆弱性利用的前提条 件;
[0062] 判定子单元,用于当所述源主机的攻击能力满足所述目的主机的脆弱性利用的前 提条件时,则根据所述目的主机的脆弱性利用的后果条件,确定所述目的主机的攻击能力, 并将所述目的主机的脆弱性作为与所述源主机的攻击能力和所述目的主机的攻击能力对 应的所述攻击能力转移元素中脆弱性子集的元素。
[0063] 此外,本申请还提供一种网络风险评估方法,包括:
[0064] 针对网络攻击图中除初始节点以外的各个节点,获取所述节点的父节点;
[0065] 根据各个所述父节点被攻击的可能性,以及所述父节点转移到所述节点可利用的 各个脆弱性的被利用概率,计算所述节点被攻击的可能性。
[0066] 可选的,所述脆弱性的被利用概率采用下述公式计算生成:
[0067] 脆弱性的被利用概率=脆弱性的访问复杂度值*脆弱性的可行性值。
[0068] 可选的,所述脆弱性的访问复杂度值和所述脆弱性的可行性值采用如下步骤生 成:
[0069] 根据所述脆弱性的标识,获取所述脆弱性的访问复杂度级别和所述脆弱性的可行 性级别;
[0070] 根据所述脆弱性的访问复杂度级别和所述脆弱性的可行性级别,以及访问复杂度 的量化对应关系和可行性的量化对应关系,获取所述脆弱性的访问复杂度值和所述脆弱性 的可行性值。
[0071] 可选的,所述计算所述节点被攻击的可能性采用下述公式计算:
[0072]
[0073] 其中,Si为所述节点,F $ Si的父节点,Μ $ S i的父节点个数,D i为从F i转移到 Si能够利用的脆弱性的个数,P(vul n)表示脆弱性利用概率,VuLAssessGi)为节点 Si被攻击的可能性,Vul_Assess(F ;)为父节点Fi被攻击的可能性。
[0074] 可选的,还包括:
[0075] 根据各个所述节点被攻击的可能性,计算整个网络被攻击的可能性。
[0076] 可选的,还包括:
[0077] 根据所述节点被攻击的可能性和攻击者在所述节点上的特权,计算所述节点的威 胁值。
[0078] 可选的,还包括:
[0079] 根据各个所述节点的威胁值,计算整个网络的威胁值。
[0080] 相应地,本申请还提供一种网络风险评估装置,包括:
[0081 ] 获取单元,用于针对网络攻击图中除初始节点以外的各个节点,获取所述节点的 父节点;
[0082] 第一计算单元,用于根据各个所述父节点被攻击的可能性,以及所述父节点转移 到所述节点可利用的各个脆弱性的被利用概率,计算所述节点被攻击的可能性。
[0083] 可选的,还包括:
[0084] 生成单元,用于所述脆弱性的访问复杂度值和所述脆弱性的可行性值;
[0085] 所述生成单元包括:
[0086] 获取子单元,用于根据所述脆弱性的标识,获取所述脆弱性的访问复杂度级别和 所述脆弱性的可行性级别;
[0087] 映射子单元,用于根据所述脆弱性的访问复杂度级别和所述脆弱性的可行性级 另IJ,以及访问复杂度的量化对应关系和可行性的量化对应关系,获取所述脆弱性的访问复 杂度值和所述脆弱性的可行性值。
[0088] 可选的,还包括:
[0089] 第二计算单元,用于根据各个所述节点被攻击的可能性,计算整个网络被攻击的 可能性。
[0090] 可选的,还包括:
[0091] 第三计算单元,用于根据所述节点被攻击的可能性和攻击者在所述节点上的特 权,计算所述节点的威胁值。
[0092] 可选的,还包括:
[0093] 第四计算单元,用于根据各个所述节点的威胁值,计算整个网络的威胁值。
[0094] 与现有技术相比,本申请具有以下优点:
[0095] 本申请提供的网络风险评估方法和装置,通过遍历网络攻击图,获取指定的起始 攻击节点和终止攻击节点在网络攻击图中的攻击路径,并分析攻击路径,从而提取出关键 脆弱性,使得网络安全人员获取到关键脆弱性后,仅需要将这些关键脆弱性解决,从起始攻 击节点到终止攻击节点之间的各个攻击路径就均被切断,从而达到减轻网络管理人员排查 网络风险工作量的效果。
【附图说明】
[0096] 图1是本申请的网络风险评估方法实施例的流程图;
[0097] 图2是本申请的网络风险评估方法实施例的网络攻击图;
[0098] 图3是网络风险评估方法实施例生成网络攻击图的具体流程图;
[0099] 图4是网络风险评估方法实施例生成攻击能力转移集合的具体流程图;
[0100] 图5是网络风险评估方法实施例步骤S105的具体流程图;
[0101] 图6是本申请的网络风险评估装置实施例的示意图;
[0102] 图7是本申请的网络风险评估方法实施例的流程图;
[0103] 图8是本申请的网络风险评估装置实施例的示意图。
【具体实施方式】
[0104] 在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以 很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况 下做类似推广,因此本发明不受下面公开的具体实施的限制。
[0105] 在本申请中,提供了两种网络风险评估方法和各自对应的装置。在下面的实施例 中逐一进行详细说明。
[0106] 请参考图1,其为本申请的网络风险评估方法实施例的流程图。所述方法包括如下 步骤:
[0107] 步骤S101 :接收指定的起始攻击节点和终止攻击节点。
[0108] 本申请提供的网络风险评估方法,是一种基于网络攻击图的网络风险评估方法。 该方法以网络攻击图为处理对象,通过分析网络攻击图,探测网络的薄弱点,获取网络系统 所存在的关键脆弱性方面的信息。
[0109] 信息安全服务上的脆弱性,又称弱点或漏洞,是资产或资产组中存在的可能被威 胁利用造成损害的薄弱环节,脆弱性一旦被威胁成功利用就可能对资产造成损害。漏洞可 能存在于物理环境、组织、过程、人员、管理、配置、硬件、软件和信息等各个方面。
[0110] 本申请所述的脆弱性是指在硬件、软件、协议的具体实现或系统安全策略上存在 的缺陷。脆弱性是受限制的计算机、组件、应用程序或其他联机资源的无意中留下的不受保 护的入口点。利用本申请所述的脆弱性,攻击者能够在未授权的情况下访问或破坏系统。例 如,在Intel Pentium芯片中存在的逻辑错误,在Sendmail早期版本中的编程错误,在NFS 协议中认证方式上的弱点,在Unix系统管理员设置匿名Ftp服务时配置不当的问题都可能 被攻击者使用,威胁到系统的安全。因而这些都可以认为是系统中存在的安全漏洞,即:脆 弱性。
[0111] 本申请提供的网络风险评估方法,通过遍历网络攻击图,获取指定的起始攻击节 点和终止攻击节点在网络攻击图中的攻击路径,并分析攻击路径,从而提取出关键脆弱性。 因此,要实施本申请提供的方法,首先要接收由网络安全人员指定的起始攻击节点和终止 攻击节点。
[0112] 本申请所述的起始攻击节点和终止攻击节点分别是指攻击者的初始攻击能力和 目标攻击能力,在网络攻击图中不同的攻击能力表示为不同的节点。网络攻击图中的每一 个节点表示攻击者拥有的一种攻击能力,例如:节点的值为192. 168. 1. 97 :2,其含义为攻 击者在主机192. 168. 1. 97中拥有权限2。根据具体的应用需求,安全人员可以指定网络攻 击图中的节点作为起始攻击节点和终止攻击节点。起始攻击节点和终止攻击节点既可以是 同一节点,也可以是不同的节点。例如:当起始攻击节点和终止攻击节点是同一节点时,攻 击者可以利用本机存在的安全漏洞获得权限的提升。通过实施本申请提供的网络风险评估 方法,能够获取从起始攻击节点到终止攻击节点之间的各个关键脆弱性。网络安全人员获 取到关键脆弱性后,仅需要将这些关键脆弱性解决,从起始攻击节点到终止攻击节点之间 的各个攻击路径就均被切断,即:攻击者从起始攻击节点无法攻击到终止攻击节点。
[0113] 要实施本申请提供的方法,还需要预先生成网络攻击图。在本实施例中,在步骤 S101接收指定的起始攻击节点和终止攻击节点之前,还包括:
[0114] 步骤S100 :生成所述网络攻击图。
[0115] 从攻击者角度来对网络进行渗透攻击,首先是从攻击者所在的主机攻击网络中具 有弱点的主机。当攻击成功后就在被攻击主机上获得了一定的权限,在能力允许的条件下, 攻击者可能从已经攻克的主机上再次发起攻击,如此往复,直到攻击者达到其攻击的最终 目的。攻击者在网络中具有的所有能力构成了一个网络状态,则攻击者实施攻击的过程就 是从前提网络状态到结果网络状态的跃迀。同时,在现实的攻击中,攻击者是贪婪的,即攻 击者不会发动一次对自己能力没有提高的攻击,因此,结果网络状态必然包含前提网络状 态。正是基于上述分析,在应用于自动化渗透攻击时,网络攻击图的构造过程是对网络状态 空间正向搜索的过程,同时在搜索过程中要保证攻击者贪婪的特性。
[0116] 本申请所述的网络攻击图是一个有向图,由节点和有向边组成,通常采用(N,E) 的形式表示。其中,N是网络攻击图中节点的集合,每一个节点表示攻击者能够达到的各种 攻击能力,节点中包括有主机的基本信息,例如:主机IP地址,主机拥有的服务,主机上存 在的漏洞信息等。E是网络攻击图中边的集合,表示攻击能力的转移。网络攻击图中的每一 条边均为一个三元组(N s,Vulld,Nd),其中Ns是源节点,Nd是目的节点,Vulld表示攻击者 从源节点的攻击能力转移到目的节点的攻击能力的过程中,可以利用的目的节点的主机中 存在的脆弱性的编号。
[0117] 综上所述,在本申请实施例的网络攻击图中,节点代表可能的攻击状态,边代表攻 击者的原子攻击行为引起的状态变迀,网络攻击图具有形象、直观的特点。
[0118] 请参考图2,其为本申请的网络风险评估方法实施例的网络攻击图。在本 实施例中,网络攻击图存在6个节点和22条边,其中节点分别为:192. 168. 1.95 :2、 192. 168. 1. 96 :2、192. 168. 1. 97 :2、192. 168. 1. 98 :2、192. 168. 1. 99 :1 和 192. 168. 1. 100 : 2 ;边上的编号为:该边的目标节点的主机中存在的一个脆弱性。例如:节点192. 168. 1. 95 : 2和节点192. 168. 1.97 :2之间存在一条边,边的编号为2001-0550,该边的含义为:攻击 者在主机192. 168. 1.95中的攻击能力为权限2,其利用主机192. 168. 1.97中的脆弱性 2001-0550能够攻击主机192. 168. 1. 97,在主机192. 168. 1. 97中达到的权限为2。
[0119] 请参考图3,其为本申请的网络风险评估方法实施例生成网络攻击图的具体流程 图。在本实施例中,生成所述网络攻击图包括如下步骤:
[0120] 步骤S301 :将攻击者的攻击能力作为所述网络攻击图的当前节点。
[0121] 本申请所述的攻击能力(Attack_Capability)是由攻击者获得的主机及在该主 机上可以达到的权限构成的二元组,即Attack_Capability e {HostXPrivilege}。其中, Host表示网络中的主机,Privilege表示攻击者获得特权。在本实施例中,将特权划分为 四个等级:None、Access、User、Root,BP 〖Privilege e {None,Access,User,Root},其中, None的值为0,Access的值为l,User的值为2,Root的值为3。例如:在图2中,攻击能力 192. 168. 1. 95 :2表示攻击者在主机192. 168. 1. 95中的权限为User级。
[0122] 通过对攻击者攻击的过程进行分析,可以发现攻击者发动攻击的过程实质上是其 基于已经获得的攻击能力,以及网络中主机的脆弱性,不断获得新的攻击能力的过程。因 此,可以利用攻击能力的转移来刻画攻击者在攻击过程中,其攻击能力不断增长的过程。通 过捕获每一步攻击能力的转移,将攻击能力的转移过程图形化,从而生成网络攻击图。
[0123] 步骤S302 :根据所述当前节点的攻击能力,在攻击能力转移集合中查找使所述当 前节点的攻击能力发生转移的攻击能力转移元素。
[0124] 通过步骤S301,首先将攻击者的初始攻击能力添加到网络攻击图中,将其作为网 络攻击图的起始节点。然后,基于该初始攻击能力、网络拓扑结构、主机中存在的脆弱性信 息和脆弱性利用规则,逐步获取新的攻击能力,将其增加到网络攻击图,直至生成完整的网 络攻击图。
[0125] 本申请所述的攻击能力转移集合实质是对网络中各个主机中存在的脆弱性进 行分类,即将每台主机中具有相同攻击能力转移的脆弱性置于同一集合中。例如:主机 192. 168. 1.95中存在10个脆弱性{VulpVuL,…Vul1Q},其中脆弱性¥1112、¥111 3或¥1119被成 功利用后,可以使攻击者的权限达到User,则这三个漏洞被置于同一个脆弱性子集{Vul 2, Vul3, Vul9}。在构造出攻击能力转移集合后,可以通过对其进行搜索来构造网络攻击图。
[0126] 在本实施例中,攻击能力转移集合的元素为由攻击能力及脆弱性集合组成的 三元组,即(Attack_Capability(i),Vul_set,Attack_Capability(j))。其中,攻击能 力 Attack_Capability ⑴、Attack_Capability (j) e {HostXPrivilege},Vul_set 是 攻击能力Attack_Capability(j)的主机上的一个脆弱性子集。三元组表示一个攻击能 力转移元素,含义为:攻击者基于已经获得的攻击能力Attack_Capability(i),利用脆弱 性子集Vul_set中的脆弱性,能够获得攻击能力Attack_Capability(j)。其中,Attack_ Capability(i)和Attack_Capability(j)的主机既可以是相同的主机也可以是不同的主 机,这主要取决于脆弱性的利用范围。
[0127] 脆弱性的利用范围分为本地和远程两类。本地脆弱性是指攻击者必须在本机拥 有访问权限前提下才能发起攻击的脆弱性。比较典型的是本地权限提升漏洞,这类漏洞在 Unix系统中广泛存在,能让普通用户获得最高管理员权限。
[0128] 本申请实施例提供的网络风险评估方法,构造攻击能力转移集合的基本思想是 检查任意两种攻击能力,如Attack_Capability(i)与Attack_Capability(j)之间是否 具有转移关系。具体而言,即Attack_Capability(i)的主机与Attack_Capability(j) 的主机之间的网络连通关系、攻击者在Attack_Capability (i)的主机上已经具有的特权 Privilege,以及Attack_Capability(j)的主机上的脆弱性集合是否可以使攻击者获得攻 击能力4?3〇1^」^^1^1^7〇)。例如 :一个攻击能力转移元素为:(192.168.1.99:1,{2001 -0872, 2007-2447},192. 168. 1. 96 :2),其含义为:攻击者可以基于在主机 192. 168. 1. 99 上 已经获得的攻击能力192. 168. 1. 99 :1,利用脆弱性2001-0872或2007-2447,获得主机上 192. 168. 1. 96 的攻击能力 192. 168. 1. 96 :2。
[0129] 在构造网络攻击图过程中,需要对攻击能力转移集合进行搜索,从而获取新的攻 击能力。请参考图4,其为本申请的网络风险评估方法实施例生成攻击能力转移集合的具体 流程图。在本实施例中,所述攻击能力转移集合采用如下步骤生成:
[0130] 步骤S401 :获取网络拓扑结构、网络主机中的脆弱性,以及所述脆弱性的利用规 则。
[0131] 本申请所述的网络拓扑结构是指在构建网络攻击图时已知所有主机间的可达性, 或者简单地使用扫描工具即能得到网络拓扑结构。网络拓扑结构中包含了整个网络中主机 的连接状况,网络攻击能力的转移只有在连接好的主机之间进行。网络中各个主机的连接 关系,采用一个三元组来描述:(Hsrc、Hdst、Protocols)。Hsrc、Hdst、Protocols分别表示: 源主机、目的主机、源主机和目的主机之间的连接关系。当源主机和目的主机之间不存在连 接关系时,Protocols为空集。当源主机和目的主机相同时,则其连接关系为本地连接,此 时 Protocols = {Local host}。例如,(hl,h2, {IP、TCP、HTTP})表示:hi 发往 h2 的 1卩数 据报可以到达,hi可以与h2的某个TCP端口建立连接,hi可以访问h2的HTTP服务。
[0132] 获取网络拓扑结构的过程是网络可达性计算的过程。可达性是指网络中主机之间 是否可达,可达性计算则指从一个给定的主机计算能否到达其他的某个主机。在实际应用 中,计算网络可达性不仅仅需要考虑主机间物理连接的需求,还需要考虑防火墙和网关的 设置。精确计算两个子网内的两台主机之间的可达性是相当复杂的,因为需要考虑网关、防 火墙、个人防火墙(软件)、路由器、交换机、虚拟网以及其他一些网络因素的存在。以防火 墙为例,一个防火墙可能包含数千条(通行和转换)规则,而且有些规则是动态变化的(随 时间变化)。因此,总体上来说,判断两台主机之间的可达性是一个复杂的过程。
[0133] 在本实施例中,使用IP地址表示网络主机,使用漏洞库中的号码标识主机中存在 的脆弱性。脆弱性的属性包括脆弱性类型。脆弱性类型可以划分为保密性类脆弱性、完整 性类脆弱性、Dos类脆弱性和特权提升类脆弱性。对于前三类脆弱性,攻击者在成功利用该 脆弱性后所拥有的权限与在攻击前所拥有的权限相同,而对于特权提升类脆弱性,攻击者 在成功利用该脆弱性后所拥有的权限要大于在攻击前所拥有的权限。
[0134] 本申请所述的脆弱性利用规则是对一种攻击行动的形式化描述,包括利用脆弱性 所必需的前提条件和成功利用脆弱性后所获得的结果,即:后果条件。脆弱性利用的前提条 件包括操作系统类型、服务名称、端口号和权限值;所述后果条件包括提升后的权限值、弓丨 发的拒绝服务、改变后的攻击主机与目标主机之间信任关系、机密性、完整性和可用性。
[0135] 在本实施例中,网络主机中的脆弱性以及脆弱性的利用规则存储在漏洞数据库 中。漏洞数据库可以在 CVE(Common Vulnerabilities and Exposures)、NVD(National Vulnerability Database,美国国家漏洞数据库)和 0SVDB(0pen Source Vulnerability Database,开源漏洞数据库)等国内外专业安全机构提供的信息基础上构建的。网络上计 算机安全漏洞资源的种类繁多,下面简述一些常用的漏洞数据库:
[0136] 1)CVE,它是一个漏洞字典,其目的是用于关联并共享不同漏洞数据库中同一漏洞 的信息,使各漏洞数据库能够相互兼容。该字典为每个漏洞分配了一个区别于其他漏洞的 唯一编号,漏洞字典针对每个漏洞都进行相应的描述,这些描述包括漏洞编号(比如漏洞 编号CVE-2001-0550),漏洞描述,与该漏洞相关的引用信息,以及该漏洞资源的相关状态以 及评价信息等。
[0137] 2)NVD采用了安全内容自动化协议(SCAP)来对漏洞资源进行标准管理,在该数据 库中对每个漏洞的描述信息包括了该漏洞的最初发布时间,漏洞资源的最近修改时间,对 该漏洞的简单描述,漏洞的CVSS取值,漏洞的利用方式,利用复杂度以及漏洞利用的后果 等,此外,还引用了与该漏洞相关的安全建议,解决方案及修复工具等。Bugtraq是专门讨 论计算机安全的邮件列表,其主要目的是对漏洞利用方法,修复方法等进行讨论,在该列表 中,对每个漏洞都分配一个bugtraq ID,并建立了该编号与CVE编号的映射关系,此外,还 有漏洞的利用方式,漏洞资源的发布时间、更新时间、漏洞影响的应用程序等基本信息。
[0138] 3)0SVDB的主要目的是提供与安全漏洞相关的最新的、准确的、详细的技术信息。 在该数据库中,对每条漏洞的描述包括了在0SVDB库中的唯一编号,漏洞的时间属性,漏洞 的简单描述及关键词,漏洞的分类属性,漏洞利用所影响的应用软件,以及对漏洞资源的引 用等。
[0139] 4)Cert/CC也对每个漏洞进行了独立的命名和编号,对漏洞资源的描述信息包括 了漏洞产生的影响,漏洞的修复方式,漏洞影响的系统,并对与该漏洞相关的关联信息也进 行了详细的描述。
[0140] 此外,针对漏洞的描述语言,比较有代表性的有AVDL(Application Vulnerability Description Language,应用漏洞描述语言)和0VDL(0pen Vulnerability and Assessment Language,开放的漏洞评估语言)。AVDL是由OASIS发布的安全互操作标 准,该标准利用XML来对Web应用的安全漏洞进行统一的描述,从而保证了应用软件、安全 产品、漏洞资源之间灵活的信息交换和共享。但该标准主要面向于Web应用的漏洞检测, 侧重于对检测方法的描述,但对于漏洞属性的描述不够全面,此外该标准还不支持对非Web 类漏洞的描述及检测。OVAL是由MITRE公司提出的用于解决安全工具和服务之间信息交 互和共享的标准。该标准解决了之前漏洞评估中采用非结构化的漏洞描述所带来的耗时费 力,且评估结果不准确的问题。OVAL中对如何进行漏洞探测进行了精确的描述,并利用CVE 中的漏洞定义对主机的配置进行评估,可以获得更为标准、准确的评估结果。OVAL利用XML 来对漏洞进行定义和描述。虽然,OVAL解决了漏洞检测和评估工作标准化、自动化的问题, 但是由于其基于CVE中的漏洞定义作为其探测和评估的基础,因而其受到CVE中漏洞描述 属性不全面的制约,对于新出现的未列入CVE中的漏洞也无法进行及时的评估。
[0141] 由于存在上述这些众多的安全组织给漏洞进行归类整理,因此针对同一漏洞会产 生不同的漏洞标识,因此在构建本申请实施例的漏洞数据库时,需要将这些不同的漏洞标 识关联起来,在漏洞数据库中建立对应关系。此外,内部网内的漏洞信息还可以采用商业的 或者开源的入侵检测系统和漏洞扫描系统获得。
[0142] 网络攻击图的生成基于脆弱性的利用模式,脆弱性的利用需要具备基本的前提条 件,利用后会产生一定的结果。脆弱性利用的前提条件包括了主机上运行的特定操作系统、 应用程序开放的服务及端口,以及脆弱性利用的前提权限;脆弱性利用的结果条件反映了 脆弱性利用后对网络状态的影响,这些影响包括了访问权限得到提升、引发了目标主机上 的拒绝服务、造成了攻击主机与目标主机之间信任关系的改变、对目标主机上的机密性、完 整性、可用性带来了影响等,脆弱性的利用模式通常可以表示为从前提条件到后果条件的 映射关系。例如,一种远程的特权提升类脆弱性的利用规则描述如下:如果攻击者在主机 Hostl上可以以user权限执行代码,主机Hostl可以访问Host2的端口 Port,主机Host2 的端口 Port对应的服务存在一个远程特权提升漏洞Vulld,则攻击者可以在主机Host2上 以Privilege权限执行代码。
[0143] 步骤S402 :遍历所述网络拓扑结构中任意两个主机的排列,按照排列顺序,将第 一个主机称为源主机,第二个主机称为目的主机。
[0144] 由于本申请实施例构造攻击能力转移集合的基本思想是检查任意两种攻击能力, 因此针对网络拓扑结构中任意两个主机的排列,生成与所述源主机、目的主机相关的攻击 能力转移元素。
[0145] 步骤S403 :遍历所述源主机的各个攻击能力,针对所述目的主机的每一个脆弱 性,判断所述源主机的攻击能力是否满足所述目的主机的脆弱性利用的前提条件。
[0146] 步骤S404 :当所述源主机的攻击能力满足所述目的主机的脆弱性利用的前提条 件时,则根据所述目的主机的脆弱性利用的后果条件,确定所述目的主机的攻击能力,并将 所述目的主机的脆弱性作为与所述源主机的攻击能力和所述目的主机的攻击能力对应的 所述攻击能力转移元素中脆弱性子集的元素。
[0147] 在本实施例中,攻击能力转移集合的生成算法描述如下:
[0148] Input :网络中主机的连通关系Conn (Host (i),Host (j));主机上的脆弱性分布情 况 Vul (Host ⑴),脆弱性的利用模式 Precondition (Vul ⑴),Postcondition (Vul ⑴);
[0149]
[0150] 其中,第1、2两步对应步骤S402,遍历网络拓扑结构中任意两个主机的排列。第 3步遍历源主机的各个攻击能力。第4、5和6三步针对目的主机的每一个脆弱性,判断源 主机的攻击能力是否满足该脆弱性利用的前提条件;当源主机的攻击能力满足该前提条件 时,则根据目的主机的脆弱性利用的后果条件,确定目的主机的攻击能力,并将该脆弱性添 加到与源主机的攻击能力和目的主机的攻击能力对应的攻击能力转移元素中脆弱性子集 中。
[0151] 假设网络中的主机数量为η台,单台主机上的最大脆弱性数量为m个,脆弱性利用 的前提条件检测过程,即步骤S403中判断所述源主机的攻击能力是否满足所述目的主机 的脆弱性利用的前提条件,可以在常数时间内完成,则生成攻击能力转移集合的算法复杂 度为0(4mn 2)。其中,4是指主机包括的权限等级数量,对于一般的网络而言,可以将m作为 常数考虑,因而生成攻击能力转移集合的算法的复杂度为〇(n 2)。
[0152] 在生成攻击能力转移集合后,执行步骤S302,根据网络攻击图中当前节点的攻击 能力,在攻击能力转移集合中查找使所述当前节点的攻击能力发生转移的攻击能力转移元 素。
[0153] 步骤S303 :判断是否存在所述攻击能力转移元素,若是,则执行步骤S304 ;若否, 则结束。
[0154] 如果在攻击能力转移集合中查找到使所述当前节点的攻击能力发生转移的攻击 能力转移元素,则表示根据当前节点的攻击能力,能够获取新的攻击能力,因此执行步骤 S304。否则,如果不存在所述攻击能力转移元素,则表示根据当前节点的攻击能力,无法获 取新的攻击能力,至此遍历完网络中的所有节点,获取了网络攻击图中的节点信息和边的 信息。
[0155] 步骤S304 :遍历各个所述攻击能力转移元素,将所述攻击能力转移元素中转移后 的攻击能力添加到所述网络攻击图中,以所述当前节点为起始点、所述转移后的攻击能力 为终止点,与所述攻击能力转移元素中的脆弱性子集的各个脆弱性相对应,在所述起始点 和所述终止点之间设置边。
[0156] 由于转移前的攻击能力可以利用在所述转移后的攻击能力的主机中存在的不同 脆弱性转移到所述转移后的攻击能力,因此在同一转移前的攻击能力和同一转移后的攻击 能力之间可能存在多条有向边,每一条边对应脆弱性子集的一个脆弱性。
[0157] 在本实施例中,网络攻击图的节点用攻击能力来表示,其中包含了主机IP和拥有 此主机的权限,边代表主机间的脆弱性利用关系,边的标识为脆弱性编号,表示攻击者通过 此脆弱性实现其攻击能力转移的目的。随着攻击者对网络的不断渗透,从一种攻击能力转 移到另外一种攻击能力,因此网络攻击图描述了攻击者这种渗透的行为。
[0158] 步骤S305 :遍历各个所述攻击能力转移元素,将所述攻击能力转移元素中的转移 后的攻击能力作为所述网络攻击图的当前节点,返回执行步骤S302。
[0159] 本申请实施例提供的网络攻击图生成算法,将攻击者主机IP地址、权限、网络的 拓扑信息、脆弱性分布信息以及脆弱性的利用信息作为输入信息,通过广度优先搜索,逐层 寻找符合脆弱性利用条件的攻击者的相邻节点,以此类推直到遍历完网络中的所有节点, 最后将产生的节点信息和边的信息用graphviz组织成图。由于采用广度优先遍历网络攻 击图,整个算法的时间复杂度为〇(η 2)。
[0160] 在本实施例中,网络攻击图的生成算法描述如下:
[0161]

[0163] 在上述算法描述中,先初始化攻击状态队列ASQ和攻击状态集合ASS,把攻击者初 始攻击状态入队ASQ,标记每台主机的状态为" begin",弹出队头元素将其赋值为Scurrent 并保存进ASS,判断Scurrent的状态,如果不为"finished",就在攻击能力转移集合中寻找 Scurrent相邻的元素,赋值为Snew,并将Snew放入ASQ中,如此循环往复,直到ASQ为空。 在算法中,用ES保存下状态节点间的关联关系,最后用graphviz将图可视化。
[0164] 步骤S103 :根据网络攻击图,获取从所述起始攻击节点到所述终止攻击节点之间 的各个攻击路径。
[0165] 为了获取从起始攻击节点到终止攻击节点之间的各个关键脆弱性,首先需要根据 网络攻击图,获取从所述起始攻击节点到所述终止攻击节点之间的各个攻击路径。在本实 施例中,步骤S103具体为:自所述起始攻击节点开始,深度优先遍历所述网络攻击图,获取 从所述起始攻击节点到所述终止攻击节点的各个攻击路径。获取攻击路径的算法描述如 下:
[0167]
[0168] 在上还算'/云捆还中,百无通]Q:弟2步WIWJ络攻面图組织成一柙突似邻按表的数据 结构,用来描述网络攻击图中的每一个节点。该数据结构中的节点分为表头节点和内部节 点,每个节点有左指针和右指针,网络拓扑结构中的每台主机都用相应的表头节点表不,表 头节点的左指针指向其相邻节点,内部节点的左指针指向图中所有和表头节点相邻接的 点,而节点的右指针指向和它具有相同标志的表头节点。在获取从起始攻击节点到终止攻 击节点之间的各个攻击路径的过程中,先通过第3步将起始攻击节点的左指针入栈,通过 第6步取出栈顶元素为当前节点,通过第7步判断如果当前节点不是终止攻击节点且不为 空,则判断此节点是否被访问过;如果没有被访问过,则跳转到该节点的右指针所指的链表 中寻找与其相邻的下一节点,将这一节点入栈顶,当通过第26步找到目标节点时,逆序记 录下栈里的元素,然后弹出栈顶元素,若当前元素的左指针不为空,将其左指针入栈,继续 后续工作,若左指针为空且栈为空,则标记该元素为完成状态。在上述过程中,遇到完成状 态的节点时,出栈并将其左指针的节点入栈,若左指针为空则直接出栈顶,循环此过程直到 栈为空。通过上述算法,实现自起始攻击节点开始,深度优先遍历网络攻击图,获取从起始 攻击节点到终止攻击节点的各个攻击路径。
[0169] 在步骤S103中,根据指定的起始攻击节点和终止攻击节点,遍历网络攻击图,获 取从起始攻击节点和终止攻击节点的所有可能的攻击路径。由于网络攻击图中可能存在 环,所以在遍历网络攻击图前需要采取消除部分环的措施。在本实施例中,采用一种假设, 艮P :假设攻击者能够直接攻击到的主机,则在以后的攻击中,不会再重复来攻击这些主机。 通过上述假设,可以消除网络攻击图中存在的环对获取的攻击路径的影响。在上述算法中, 通过第9步判断节点是否被访问过,以消除环的影响。
[0170] 例如,在图2所示的网络攻击图中,网络安全人员指定起始攻击节点为 192. 168. 1. 95 :2、终止攻击节点为192. 168. 1. 96 :2,通过步骤S103可以计算得到从所述 起始攻击节点到所述终止攻击节点的各个攻击路径。具体包括:路径1、攻击者利用主机 192. 168. 1.97中的脆弱性2001-0550,将攻击能力转移为192. 168. 1.97 :2,再利用主机 192. 168. 1. 96中的脆弱性2007-2447,将攻击能力转移为192. 168. 1. 96 :2 ;路径2、攻击者 利用主机192. 168. 1. 97中的脆弱性2001-0550,将攻击能力转移为192. 168. 1. 97 :2,再利 用主机192. 168. 1.96中的脆弱性2001-0872,将攻击能力转移为192. 168. 1.96 :2等多条 攻击路径。
[0171] 获取攻击路径的算法是在给定起始攻击节点和终止攻击节点的前提下,从起始攻 击节点开始深度优先整个网络攻击图并记录下所遍历的脆弱性直到到达终止攻击节点。此 算法复杂度取决于图的深度优先搜索,时间复杂度为〇 (η2)。
[0172] 步骤S105 :根据所述攻击路径,获取所述攻击路径中的关键脆弱性。
[0173] 通过步骤S103获取到起始攻击节点和终止攻击节点之间的各条攻击路径后,在 此基础上对网络进行脆弱性分析,找到攻击路径中的关键脆弱性。
[0174] 本申请所述的关键脆弱性是攻击路径中的脆弱性集合的一个子集,该子集表示为
其中{vuluvulyvulj为攻击路径中的脆弱性集合。关键脆弱 性集合具有两个属性:1)该集合与自起始攻击节点至终止攻击节点的每条攻击路径上的 脆弱性子集均存在交集,将某一条攻击路径上的脆弱性子集表示为Ivulu,vull2,. . vulj ; 2)且关键脆弱性集合的元素个数最少。获取关键脆弱性集合涉及渗透测试的威胁能效比的 研究,即用最少的资源来最大程度地阻碍威胁。找到关键脆弱性集合后,当把该集合中的各 个脆弱性都消除后,就不存在从起始攻击节点到终止攻击节点的攻击路径了,从而使得终 止攻击节点的安全性得以保证。由于关键脆弱性集合与自起始攻击节点至终止攻击节点的 每条攻击路径上的脆弱性子集均存在交集,因此寻找关键脆弱性集合的问题实际上是碰集 问题。
[0175] 碰集是离散数学的集合论中的概念,其含义为:如果集合S与集合簇C中的每个 集合都存在着非空交集,那么集合S是集合簇C的碰集。如果在不破坏碰集的前提下,集合 S中的元素都无法移除,那么S被称为极小碰集。碰集是计算机科学家们在研究人工智能 领域的系统诊断的时候需要解决的问题,最早是由加州大学伯克利分校的计算机专家里查 德?曼宁?卡普(Richard Manning Karp,1935-)在1972年提出的。计算碰集的传统算法 有HS-Tree、HS-DAG、HST-Tree、BHS-Tree、SE-Tree等等,在此基础上,学者们又陆续提出了 一些新的算法。实施本申请提供的网络风险评估方法,可以应用各种计算碰集的算法,从而 能够根据所述攻击路径,获取攻击路径中的关键脆弱性。上述这些不同的方式,都只是具体 实施方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。
[0176] 碰集问题与集合覆盖问题是等价的。集合覆盖问题是经典的NP-hard问题,同样 也是运筹学研究中典型的组合优化问题,是一个计算机科学问题的典型代表,是日常生活 中普遍存在的工程设计问题,在人员调动、网络安全、资源分配、电路设计、运输车辆路径安 排等领域有广泛的应用,多年来吸引了众多计算机科学家、运筹学研究人员的研究兴趣。由 于集合覆盖问题是NP-hard问题,因此碰集问题也是NP-hard问题,进一步地本申请的获取 攻击路径中的关键脆弱性问题也是NP-hard问题。为解决集合覆盖问题,可以采用贪心法、 穷举法、迭代法等方法获得问题的多项式近似解。因此,获取自起始攻击节点到终止攻击节 点之间攻击路径中的关键脆弱性,也可以采用贪心法、穷举法、迭代法等方法。
[0177] 在本实施例中,选用贪心算法获得本申请的获取攻击路径中的关键脆弱性问题的 多项式近似解。贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是 最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最 优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能 产生整体最优解或者是整体最优解的近似解。贪心算法可以解决一些最优性问题,如:求 图中的最小生成树、求哈夫曼编码等。对于其他问题,贪心法一般不能得到我们所要求的答 案。一旦一个问题可以通过贪心法来解决,那么贪心法一般是解决这个问题的最好办法。由 于贪心法的高效性以及其所求得的答案比较接近最优结果,贪心法也可以用作辅助算法或 者直接解决一些要求结果不特别精确的问题。
[0178] 贪心算法的解题特点是在最优求解的过程中都采用一种局部最优策略,把问题范 围和规模缩小最后把每一步的结果合并起来得到一个全局最优解。贪心算法解题的一般步 骤包括:(1)从问题的某个初始解出发;(2)采用循环语句,当可以向求解目标前进一部时, 就根据局部最优策略,得到一个部分解,缩小问题的范围和规模;(3)将所有部分解综合起 来,得到问题最终解。
[0179] 在本实施例中,所述根据所述攻击路径,获取所述攻击路径中的关键脆弱性,包 括:将各个所述攻击路径作为当前攻击路径集;根据脆弱性在所述攻击路径中出现的次 数,对所述脆弱性进行排序,形成排序的脆弱性集合;将所述脆弱性集合中出现次数最多的 脆弱性作为关键脆弱性;从所述当前路径集中删除包括所述关键脆弱性的所述攻击路径, 并从所述脆弱性集合中删除所述关键脆弱性;判断所述当前路径集是否为空;若否,则返 回执行将所述脆弱性集合中出现次数最多的脆弱性作为关键脆弱性的步骤。获取关键脆弱 性的具体算法描述如下:
[0180] Greedy_Hitting_Set (attack_path_set, vul_set)// 其中 attack_path_set 为攻 击路径的集合,而vul_set是自起始攻击节点到终止攻击节点之间攻击路径中所有脆弱性 的集合;
[0181]
[0183] 上述过程与采用贪心算法获取集合覆盖问题近似解的过程是类似的,因而通过该 过程获取的关键脆弱性的近似度是In | vul_Set | +1。请参考图5,其为本申请的网络风险评 估方法实施例步骤S105的具体流程图。首先,获取攻击路径集合和脆弱性集合(即:漏洞 集合),然后判断攻击路径集合是否为空,如果攻击路径集合为空,则表示已经获取了所有 的关键脆弱性(即:关键漏洞集);如果攻击路径集合不为空,则将当前攻击路径集合中出 现次数最多的脆弱性(即:漏洞)作为关键脆弱性,并删除包含该脆弱性的路径。
[0184] 在上述的实施例中,提供了一种网络风险评估方法,与之相对应的,本申请还提供 一种网络风险评估装置。请参看图6,其为本申请的网络风险评估装置实施例的示意图。由 于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的 部分说明即可。下述描述的装置实施例仅仅是示意性的。
[0185] 本实施例的一种网络风险评估装置,包括:接收指定单元101,用于接收指定的起 始攻击节点和终止攻击节点;获取攻击路径单元102,用于根据网络攻击图,获取从所述起 始攻击节点到所述终止攻击节点之间的各个攻击路径;获取关键脆弱性单元103,用于根 据所述攻击路径,获取所述攻击路径中的关键脆弱性。
[0186] 可选的,所述获取关键脆弱性单元103包括:
[0187] 设置子单元,用于将各个所述攻击路径作为当前攻击路径集;
[0188] 排序子单元,用于根据脆弱性在所述攻击路径中出现的次数,对所述脆弱性进行 排序,形成排序的脆弱性集合;
[0189] 查找子单元,用于将所述脆弱性集合中出现次数最多的脆弱性作为关键脆弱性;
[0190] 删除子单元,用于从所述当前路径集中删除包括所述关键脆弱性的所述攻击路 径,并从所述脆弱性集合中删除所述关键脆弱性;
[0191] 判断子单元,用于判断所述当前路径集是否为空;若否,则返回执行将所述脆弱性 集合中出现次数最多的脆弱性作为关键脆弱性的步骤。
[0192] 可选的,还包括:
[0193] 生成攻击图单元,用于生成所述网络攻击图。
[0194] 可选的,所述生成攻击图单元包括:
[0195] 设置子单元,用于将攻击者的攻击能力作为所述网络攻击图的当前节点;
[0196] 查找子单元,用于根据所述当前节点的攻击能力,在攻击能力转移集合中查找使 所述当前节点的攻击能力发生转移的攻击能力转移元素;
[0197] 判断子单元,用于判断是否存在所述攻击能力转移元素;若否,则结束;
[0198] 第一遍历子单元,用于当存在所述攻击能力转移元素时,遍历各个所述攻击能力 转移元素,将所述攻击能力转移元素中转移后的攻击能力添加到所述网络攻击图中,以所 述当前节点为起始点、所述转移后的攻击能力为终止点,与所述攻击能力转移元素中的脆 弱性子集的各个脆弱性相对应,在所述起始点和所述终止点之间设置边;
[0199] 第二遍历子单元,用于遍历各个所述攻击能力转移元素,将所述攻击能力转移元 素中的转移后的攻击能力作为所述网络攻击图的当前节点,返回执行在攻击能力转移集合 中查找使所述当前节点的攻击能力发生转移的攻击能力转移元素的步骤。
[0200] 可选的,所述生成攻击图单元还包括:
[0201] 生成子单元,用于生成所述攻击能力转移集合;
[0202] 所述生成子单元包括:
[0203] 获取子单元,用于获取网络拓扑结构、网络主机中的脆弱性,以及所述脆弱性的利 用规则;
[0204] 第一遍历子单元,用于遍历所述网络拓扑结构中任意两个主机的排列,按照排列 顺序,将第一个主机称为源主机,第二个主机称为目的主机;
[0205] 第二遍历子单元,用于遍历所述源主机的各个攻击能力,针对所述目的主机的每 一个脆弱性,判断所述源主机的攻击能力是否满足所述目的主机的脆弱性利用的前提条 件;
[0206] 判定子单元,用于当所述源主机的攻击能力满足所述目的主机的脆弱性利用的前 提条件时,则根据所述目的主机的脆弱性利用的后果条件,确定所述目的主机的攻击能力, 并将所述目的主机的脆弱性作为与所述源主机的攻击能力和所述目的主机的攻击能力对 应的所述攻击能力转移元素中脆弱性子集的元素。
[0207] 本申请提供的网络风险评估方法和装置,通过遍历网络攻击图,获取指定的起始 攻击节点和终止攻击节点在网络攻击图中的攻击路径,并分析攻击路径,从而提取出关键 脆弱性,使得网络安全人员获取到关键脆弱性后,仅需要将这些关键脆弱性解决,从起始攻 击节点到终止攻击节点之间的各个攻击路径就均被切断,从而达到减轻网络管理人员排查 网络风险工作量的效果。
[0208] 上述的第一种网络风险评估方法是一种定性的网络风险评估方法。与上述的第一 种网络风险评估方法相对应,本申请还提供另一种网络风险评估方法,该方法是一种定量 的网络风险评估方法。请参考图7,其为本申请提供的一种网络风险评估方法的实施例的流 程示意图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部 分。本申请提供的一种网络风险评估方法包括:
[0209] 步骤S701 :针对网络攻击图中除初始节点以外的各个节点,获取所述节点的父节 点。
[0210] 本申请提供的网络风险评估方法,在构造出网络攻击图的基础上,通过结合脆弱 性的被利用概率以及脆弱性利用后的特权提升的量化结果,可以计算出网络攻击图中不同 节点的脆弱性和面临的威胁。
[0211] 本申请所述的网络攻击图是一个有向图,由节点和有向边组成,图中的每一个节 点表示攻击者能够达到的各种攻击能力,图中的每一条边表示攻击能力的转移。网络攻击 图中的每一条边均为一个三元组(N s,VulId,Nd),其中Ns是源节点,Nd是目的节点,Vulld表 示攻击者从源节点的攻击能力转移到目的节点的攻击能力的过程中,可以利用的目的节点 的主机中存在的脆弱性的编号。节点的上一级是它的父节点,一个节点可以有多个父节点。 攻击者的初始攻击能力在网络攻击图中没有父节点。要实施本申请提供的方法,首先需要 生成网络攻击图,关于生成网络攻击图的相关说明,请参见实施例一种的相关描述,此处不 再赘述。
[0212] 在本实施例中,针对网络攻击图中除初始节点以外的各个节点,获取所述节点的 父节点的步骤,具体包括:根据所述节点的攻击能力,在攻击能力转移集合中查找以所述节 点为目的攻击能力的攻击能力转移元素;将所述攻击能力转移元素的源攻击能力作为所述 节点的父节点。
[0213] 其中,攻击能力转移元素为由源攻击能力、目的攻击能力及脆弱性集合组成的 三元组,即(Attack_Capability(i),Vul_set,Attack_Capability(j))。其中,攻击能力 Attack_Capability(j)在网络攻击图中是攻击能力Attack_Capability(i)的父节点。关 于攻击能力转移集合的相关说明,请参见实施例一种的相关描述,此处不再赘述。
[0214] 步骤S702 :根据各个所述父节点被攻击的可能性,以及所述父节点转移到所述节 点可利用的各个脆弱性的被利用概率,计算所述节点被攻击的可能性。
[0215] 为计算所述节点被攻击的可能性,首先要获取该节点的各个所述父节点被攻击的 可能性,以及所述父节点转移到所述节点可利用的各个脆弱性的被利用概率。由于攻击者 是从网络攻击图中的初始攻击能力发动攻击,因此将初始攻击能力对应的初始节点被攻击 的可能性为1。根据网络攻击图中初始节点被攻击的可能性,以及各个脆弱性的被利用概 率,自所述初始节点开始,广度优先遍历网络攻击图,计算出图中各个节点的被攻击的可能 性。
[0216] 本申请所述的脆弱性的被利用概率是指脆弱性被成功利用的可能性,它往往与脆 弱性的利用属性有关系。在本实施例中,采用如下公式计算脆弱性的被利用概率:脆弱性的 被利用概率=脆弱性的访问复杂度值*脆弱性的可行性值。
[0217] 在本实施例中,为计算各个脆弱性的被利用概率,首先要获取脆弱性的访问复杂 度值和脆弱性的可行性值。
[0218] 本申请所述的脆弱性的访问复杂度值是漏洞数据库中脆弱性的访问复杂度级别 的量化值。该量化值是一个自定义的值,在实际应用中,根据访问复杂度级别,安全人员可 以自定义对应各个级别的量化值,只要体现出访问复杂度的不同程度即可。在本实施例中, 访问复杂度级别的量化值对照表如表1所示:
[0219]
[0221 ] 表1、访问复杂度级别的量化值对照表
[0222] 本申请所述的脆弱性的可行性值是漏洞数据库中脆弱性的可行性级别的量化值。 同脆弱性的访问复杂度相同,可行性级别的量化值也是一个自定义的值,在实际应用中,根 据可行性级别,安全人员可以自定义对应各个级别的量化值,只要体现出可行性的不同程 度即可。在本实施例中,可行性级别的量化值对照表如表2所示:
[0223]
[0224] 表2、脆弱性的有效性的量化值对照表
[0225] 在表2中,脆弱性的可行性级别的含义如下所述:
[0226] l)Exploit Public :脆弱性的利用方法或者工具已经公开,易于造成大规模影 响;
[0227] 2) Exploit Wormified :脆弱性的利用方法或者工具已经广泛流传,造成大规模影 响;
[0228] 3) Exploit Commercial :脆弱性的利用的方法或者工具商业化;
[0229] 4) Exploit Private :脆弱性的利用的方法或者工具少数人拥有;
[0230] 5)Exploit Rumored :脆弱性的利用方法在理论上可行,利用难度比较大;
[0231] 6)Exploit Unknown :脆弱性的利用的方法或者未知。
[0232] 在本实施例中,所述脆弱性的访问复杂度值和所述脆弱性的可行性值采用如下步 骤生成:根据所述脆弱性的标识,获取所述脆弱性的访问复杂度级别和所述脆弱性的可行 性级别;根据所述脆弱性的访问复杂度级别和所述脆弱性的可行性级别,以及访问复杂度 的量化对应关系和可行性的量化对应关系,获取所述脆弱性的访问复杂度值和所述脆弱性 的可行性值。
[0233] 为获取脆弱性的访问复杂度值和可行性值,首先根据脆弱性标识,查询漏洞数据 库中脆弱性的访问复杂度级别和脆弱性的可行性级别,并所述级别和级别与量化值的对照 关系,获取脆弱性的访问复杂度和脆弱性的可行性的量化值。
[0234] 在获取节点的各个所述父节点被攻击的可能性,以及所述父节点转移到所述节点 可利用的各个脆弱性的被利用概率后,根据计算公式计算出节点的被攻击的可能性。
[0235] 在本实施例中,所述计算所述节点被攻击的可能性采用下述公式计算:
[0236]
[0237] 其中,Si为所述节点,F $ Si的父节点,Μ $ S i的父节点个数,D i为从F i转移到 Si能够利用的脆弱性的个数,P(vul n)表示脆弱性利用概率,VuLAssessGi)为节点 Si被攻击的可能性,Vul_Assess(F ;)为父节点Fi被攻击的可能性。
[0238] 节点Si的被攻击的可能性表示了攻击者从网络攻击图中的起始节点S。开始利用 脆弱性到达当前节点可能性,它是通过计算父节点的被攻击的可能性与父子节点之 间的脆弱性利用的条件概率得到的。从上述公式可以看到,一个节点被攻击的可能性往往 与其父亲节点的数量Mi、父节点被攻击的可能性、父节点与子节点之间的脆弱性利用数量 Di,以及脆弱性利用的概率P(vuln)都有直接关系。如果上述各项值越大,则攻击者达到节 点可能性越大。
[0239] 本申请实施例提供的网络风险评估方法,还包括:
[0240] 根据各个所述节点被攻击的可能性,计算整个网络被攻击的可能性。
[0241] 在本实施例中,将网络中各个节点被攻击的可能性之和作为整个网络被攻击的可 能性。
[0242] 整个网络被攻击的可能性与网络中节点的数量以及单个节点被攻击的可能性有 直接关系,当网络中的节点数量越多、脆弱性利用过程越多(即:网络攻击图中边的数量越 多)、网络攻击图越复杂时,整个网络被攻击的可能性就越大。因此,在网络攻击图的基础 上,通过对网络中各个节点被攻击的可能性的定量评估,能够获得整个网络被攻击的可能 性。
[0243] 本申请实施例提供的网络风险评估方法,还包括:
[0244] 根据所述节点被攻击的可能性和攻击者在所述节点上的特权,计算所述节点的威 胁值。
[0245] 在本实施例中,将所述节点被攻击的可能性与攻击者在所述节点上的特权之乘积 作为所述节点的威胁值。
[0246] 在本实施例中,将特权划分为四个等级:None、Access、User、Root,其中,None 的值为〇, Access的值为1,User的值为2, Root的值为3。例如:在图2中,攻击能力 192. 168. 1. 95 :2表示攻击者在主机192. 168. 1. 95中的权限为User级。
[0247] 本申请实施例提供的网络风险评估方法,还包括:
[0248] 根据各个所述节点的威胁值,计算整个网络的威胁值。
[0249] 在本实施例中,将网络中各个节点的威胁值之和作为整个网络的威胁值。
[0250] 整个网络的威胁值与网络中节点的数量以及单个节点的威胁值有直接关系,当网 络中的节点数量越多、网络攻击图越复杂时,整个网络的威胁值就越大。因此,在网络攻击 图的基础上,通过对网络中各个节点的威胁值的定量评估,能够获得整个网络的威胁值。
[0251] 在上述的实施例中,提供了一种网络风险评估方法,与之相对应的,本申请还提供 一种网络风险评估装置。请参看图8,其为本申请的网络风险评估装置实施例的示意图。由 于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的 部分说明即可。下述描述的装置实施例仅仅是示意性的。
[0252] 本实施例的一种网络风险评估装置,包括:获取单元201,用于针对网络攻击图中 除初始节点以外的各个节点,获取所述节点的父节点;第一计算单元202,用于根据各个所 述父节点被攻击的可能性,以及所述父节点转移到所述节点可利用的各个脆弱性的被利用 概率,计算所述节点被攻击的可能性。
[0253] 可选的,还包括:
[0254] 生成单元,用于所述脆弱性的访问复杂度值和所述脆弱性的可行性值;
[0255] 所述生成单元包括:
[0256] 获取子单元,用于根据所述脆弱性的标识,获取所述脆弱性的访问复杂度级别和 所述脆弱性的可行性级别;
[0257] 映射子单元,用于根据所述脆弱性的访问复杂度级别和所述脆弱性的可行性级 另IJ,以及访问复杂度的量化对应关系和可行性的量化对应关系,获取所述脆弱性的访问复 杂度值和所述脆弱性的可行性值。
[0258] 可选的,还包括:
[0259] 第二计算单元,用于根据各个所述节点被攻击的可能性,计算整个网络被攻击的 可能性。
[0260] 可选的,还包括:
[0261] 第三计算单元,用于根据所述节点被攻击的可能性和攻击者在所述节点上的特 权,计算所述节点的威胁值。
[0262] 可选的,还包括:
[0263] 第四计算单元,用于根据各个所述节点的威胁值,计算整个网络的威胁值。
[0264] 本申请提供的网络风险评估方法和装置,通过针对网络攻击图中除初始节点以外 的各个节点,获取所述节点的父节点,并根据各个所述父节点被攻击的可能性,以及所述父 节点转移到所述节点可利用的各个脆弱性的被利用概率,能够计算获取整个网络中各个节 点被攻击的可能性,从而对各个节点进行定量的评估。
[0265] 本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技 术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保 护范围应当以本发明权利要求所界定的范围为准。
[0266] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、 网络接口和内存。
[0267] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/ 或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质 的示例。
[0268] 1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何 方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其 他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储 器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器(EEPR0M)、快闪记忆体或其他内存技术、只读光盘只读 存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或 其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照 本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制 的数据信号和载波。
[0269] 2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产 品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例 的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用 存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的 形式。
【主权项】
1. 一种网络风险评估方法,其特征在于,包括: 接收指定的起始攻击节点和终止攻击节点; 根据网络攻击图,获取从所述起始攻击节点到所述终止攻击节点之间的各个攻击路 径; 根据所述攻击路径,获取所述攻击路径中的关键脆弱性。2. 根据权利要求1所述的网络风险评估方法,其特征在于,所述根据网络攻击图,获取 从所述起始攻击节点到所述终止攻击节点之间的各个攻击路径,具体为: 自所述起始攻击节点开始,深度优先遍历所述网络攻击图,获取从所述起始攻击节点 到所述终止攻击节点的各个攻击路径。3. 根据权利要求1所述的网络风险评估方法,其特征在于,所述根据所述攻击路径,获 取所述攻击路径中的关键脆弱性,包括: 将各个所述攻击路径作为当前攻击路径集; 根据脆弱性在所述攻击路径中出现的次数,对所述脆弱性进行排序,形成排序的脆弱 性集合; 将所述脆弱性集合中出现次数最多的脆弱性作为关键脆弱性; 从所述当前路径集中删除包括所述关键脆弱性的所述攻击路径,并从所述脆弱性集合 中删除所述关键脆弱性; 判断所述当前路径集是否为空;若否,则返回执行将所述脆弱性集合中出现次数最多 的脆弱性作为关键脆弱性的步骤。4. 根据权利要求1所述的网络风险评估方法,其特征在于,在所述接收指定的起始攻 击节点和终止攻击节点之前,还包括: 生成所述网络攻击图。5. 根据权利要求4所述的网络风险评估方法,其特征在于,所述生成所述网络攻击图 包括: 将攻击者的攻击能力作为所述网络攻击图的当前节点; 根据所述当前节点的攻击能力,在攻击能力转移集合中查找使所述当前节点的攻击能 力发生转移的攻击能力转移元素; 判断是否存在所述攻击能力转移元素;若否,则结束; 当存在所述攻击能力转移元素时,遍历各个所述攻击能力转移元素,将所述攻击能力 转移元素中转移后的攻击能力添加到所述网络攻击图中,W所述当前节点为起始点、所述 转移后的攻击能力为终止点,与所述攻击能力转移元素中的脆弱性子集的各个脆弱性相对 应,在所述起始点和所述终止点之间设置边; 遍历各个所述攻击能力转移元素,将所述攻击能力转移元素中的转移后的攻击能力作 为所述网络攻击图的当前节点,返回执行在攻击能力转移集合中查找使所述当前节点的攻 击能力发生转移的攻击能力转移元素的步骤。6. 根据权利要求5所述的网络风险评估方法,其特征在于,所述攻击能力转移集合采 用如下步骤生成: 获取网络拓扑结构、网络主机中的脆弱性,W及所述脆弱性的利用规则; 遍历所述网络拓扑结构中任意两个主机的排列,按照排列顺序,将第一个主机称为源 主机,第二个主机称为目的主机; 遍历所述源主机的各个攻击能力,针对所述目的主机的每一个脆弱性,判断所述源主 机的攻击能力是否满足所述目的主机的脆弱性利用的前提条件; 当所述源主机的攻击能力满足所述目的主机的脆弱性利用的前提条件时,则根据所述 目的主机的脆弱性利用的后果条件,确定所述目的主机的攻击能力,并将所述目的主机的 脆弱性作为与所述源主机的攻击能力和所述目的主机的攻击能力对应的所述攻击能力转 移元素中脆弱性子集的元素。7. 根据权利要求5所述的网络风险评估方法,其特征在于,所述前提条件包括操作系 统类型、服务名称、端口号和权限值;所述后果条件包括提升后的权限值、引发的拒绝服务、 改变后的攻击主机与目标主机之间信任关系、机密性、完整性和可用性。8. 根据权利要求5所述的网络风险评估方法,其特征在于,所述前提条件和后果条件 存储在漏桐数据库中。9. 一种网络风险评估装置,其特征在于,包括: 接收指定单元,用于接收指定的起始攻击节点和终止攻击节点; 获取攻击路径单元,用于根据网络攻击图,获取从所述起始攻击节点到所述终止攻击 节点之间的各个攻击路径; 获取关键脆弱性单元,用于根据所述攻击路径,获取所述攻击路径中的关键脆弱性。10. 根据权利要求9所述的网络风险评估装置,其特征在于,所述获取关键脆弱性单元 包括: 设置子单元,用于将各个所述攻击路径作为当前攻击路径集; 排序子单元,用于根据脆弱性在所述攻击路径中出现的次数,对所述脆弱性进行排序, 形成排序的脆弱性集合; 查找子单元,用于将所述脆弱性集合中出现次数最多的脆弱性作为关键脆弱性; 删除子单元,用于从所述当前路径集中删除包括所述关键脆弱性的所述攻击路径,并 从所述脆弱性集合中删除所述关键脆弱性; 判断子单元,用于判断所述当前路径集是否为空;若否,则返回执行将所述脆弱性集合 中出现次数最多的脆弱性作为关键脆弱性的步骤。11. 根据权利要求9所述的网络风险评估装置,其特征在于,还包括: 生成攻击图单元,用于生成所述网络攻击图。12. 根据权利要求11所述的网络风险评估装置,其特征在于,所述生成攻击图单元包 括: 设置子单元,用于将攻击者的攻击能力作为所述网络攻击图的当前节点; 查找子单元,用于根据所述当前节点的攻击能力,在攻击能力转移集合中查找使所述 当前节点的攻击能力发生转移的攻击能力转移元素; 判断子单元,用于判断是否存在所述攻击能力转移元素;若否,则结束; 第一遍历子单元,用于当存在所述攻击能力转移元素时,遍历各个所述攻击能力转移 元素,将所述攻击能力转移元素中转移后的攻击能力添加到所述网络攻击图中,W所述当 前节点为起始点、所述转移后的攻击能力为终止点,与所述攻击能力转移元素中的脆弱性 子集的各个脆弱性相对应,在所述起始点和所述终止点之间设置边; 第二遍历子单元,用于遍历各个所述攻击能力转移元素,将所述攻击能力转移元素中 的转移后的攻击能力作为所述网络攻击图的当前节点,返回执行在攻击能力转移集合中查 找使所述当前节点的攻击能力发生转移的攻击能力转移元素的步骤。13. 根据权利要求12所述的网络风险评估装置,其特征在于,所述生成攻击图单元还 包括: 生成子单元,用于生成所述攻击能力转移集合; 所述生成子单元包括: 获取子单元,用于获取网络拓扑结构、网络主机中的脆弱性,W及所述脆弱性的利用规 则; 第一遍历子单元,用于遍历所述网络拓扑结构中任意两个主机的排列,按照排列顺序, 将第一个主机称为源主机,第二个主机称为目的主机; 第二遍历子单元,用于遍历所述源主机的各个攻击能力,针对所述目的主机的每一个 脆弱性,判断所述源主机的攻击能力是否满足所述目的主机的脆弱性利用的前提条件; 判定子单元,用于当所述源主机的攻击能力满足所述目的主机的脆弱性利用的前提条 件时,则根据所述目的主机的脆弱性利用的后果条件,确定所述目的主机的攻击能力,并将 所述目的主机的脆弱性作为与所述源主机的攻击能力和所述目的主机的攻击能力对应的 所述攻击能力转移元素中脆弱性子集的元素。14. 一种网络风险评估方法,其特征在于,包括: 针对网络攻击图中除初始节点W外的各个节点,获取所述节点的父节点; 根据各个所述父节点被攻击的可能性,W及所述父节点转移到所述节点可利用的各个 脆弱性的被利用概率,计算所述节点被攻击的可能性。15. 根据权利要求14所述的网络风险评估方法,其特征在于,所述脆弱性的被利用概 率采用下述公式计算生成: 脆弱性的被利用概率=脆弱性的访问复杂度值*脆弱性的可行性值。16. 根据权利要求15所述的网络风险评估方法,其特征在于,所述脆弱性的访问复杂 度值和所述脆弱性的可行性值采用如下步骤生成: 根据所述脆弱性的标识,获取所述脆弱性的访问复杂度级别和所述脆弱性的可行性级 别; 根据所述脆弱性的访问复杂度级别和所述脆弱性的可行性级别,W及访问复杂度的量 化对应关系和可行性的量化对应关系,获取所述脆弱性的访问复杂度值和所述脆弱性的可 行性值。17. 根据权利要求14所述的网络风险评估方法,其特征在于,所述计算所述节点被攻 击的可能性采用下述公式计算:其中,Si为所述节点,F 1为Si的父节点,M 1为S 1的父节点个数,D 1为从F 1转移到S 1能 够利用的脆弱性的个数,P (vul。)表示脆弱性vul。的利用概率,化LAssess (Si)为节点Si被 攻击的可能性,化LAssess (Fi)为父节点Fi被攻击的可能性。18. 根据权利要求14所述的网络风险评估方法,其特征在于,还包括: 根据各个所述节点被攻击的可能性,计算整个网络被攻击的可能性。19. 根据权利要求14所述的网络风险评估方法,其特征在于,还包括: 根据所述节点被攻击的可能性和攻击者在所述节点上的特权,计算所述节点的威胁 值。20. 根据权利要求19所述的网络风险评估方法,其特征在于,还包括: 根据各个所述节点的威胁值,计算整个网络的威胁值。21. -种网络风险评估装置,其特征在于,包括: 获取单元,用于针对网络攻击图中除初始节点W外的各个节点,获取所述节点的父节 占 . 第一计算单元,用于根据各个所述父节点被攻击的可能性,W及所述父节点转移到所 述节点可利用的各个脆弱性的被利用概率,计算所述节点被攻击的可能性。22. 根据权利要求21所述的网络风险评估装置,其特征在于,还包括: 生成单元,用于所述脆弱性的访问复杂度值和所述脆弱性的可行性值; 所述生成单元包括: 获取子单元,用于根据所述脆弱性的标识,获取所述脆弱性的访问复杂度级别和所述 脆弱性的可行性级别; 映射子单元,用于根据所述脆弱性的访问复杂度级别和所述脆弱性的可行性级别,W 及访问复杂度的量化对应关系和可行性的量化对应关系,获取所述脆弱性的访问复杂度值 和所述脆弱性的可行性值。23. 根据权利要求21所述的网络风险评估装置,其特征在于,还包括: 第二计算单元,用于根据各个所述节点被攻击的可能性,计算整个网络被攻击的可能 性。24. 根据权利要求21所述的网络风险评估装置,其特征在于,还包括: 第=计算单元,用于根据所述节点被攻击的可能性和攻击者在所述节点上的特权,计 算所述节点的威胁值。25. 根据权利要求24所述的网络风险评估装置,其特征在于,还包括: 第四计算单元,用于根据各个所述节点的威胁值,计算整个网络的威胁值。
【文档编号】H04L29/06GK105991521SQ201510050340
【公开日】2016年10月5日
【申请日】2015年1月30日
【发明人】陈诚
【申请人】阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1