一种网络系统漏洞风险评估方法及装置转让专利

申请号 : CN201910451071.6

文献号 : CN110191120B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王震李凤华段晨健郭云川

申请人 : 中国科学院信息工程研究所

摘要 :

本发明实施例提供一种网络系统漏洞风险评估方法及装置,包括:对每个漏洞的评估指标进行评估量化,得到每个漏洞的攻击收益值;根据网络漏洞依赖图,得到每个漏洞的全局被利用概率值;根据所述攻击收益值和所述全局被利用概率值,获取攻击者利用每个漏洞的最终收益值;根据所述最终收益值,获取每种排列组合路径下每个漏洞的沙普利值,以得到漏洞风险评估指标。本发明实施例通过获取不同排列组合下漏洞节点的收益,将得到的每个漏洞节点的沙普利值作为最后的风险评价指标,充分考虑网络系统环境中的漏洞之间的关联关系,以根据评估结果得到整个网络中高威胁程度和低威胁程度的漏洞,为网络系统的安全性能优化提供依据,保证网络系统的安全。

权利要求 :

1.一种网络系统漏洞风险评估方法,其特征在于,包括:对每个漏洞的评估指标进行评估量化,得到每个漏洞的攻击收益值,所述攻击收益值的公式为:其中,Pi表示第i个漏洞的攻击收益值,Ci表示第i个漏洞的利用代价;

根据网络漏洞依赖图,得到每个漏洞的全局被利用概率值,所述网络漏洞依赖图是根据漏洞节点集和有向边集构建得到的,其中,每个节点代表一个漏洞,有向边集代表各漏洞节点之间的依赖关系;所述全局被利用概率值通过以下步骤获取得到:获取每个漏洞被攻击者单独利用的概率值;

根据网络漏洞依赖图上每个漏洞之间的依赖关系和所述概率值,获取每个漏洞的全局被利用概率值;

根据所述攻击收益值和所述全局被利用概率值,获取攻击者利用每个漏洞的最终收益值,所述最终收益值公式为:FP(i)=Pi*Pro(i);

其中,Pi表示第i个漏洞的攻击收益值,Pro(i)表示第i个漏洞的全局被利用概率值;

根据所述最终收益值,获取每种排列组合路径下每个漏洞的沙普利值,以得到漏洞风险评估指标,具体包括:对所有漏洞进行排列组合,得到每种排列组合路径的特征函数值的贡献值,所述贡献值公式为:其中, 表示在排列组合路径π中第i个漏洞节点的贡献值,π表示一种排列组合路径,表示该排列中的所有漏洞节点, 表示特征函数,{vi}表示由漏洞节点i组成的集合,vi表示漏洞节点,Π(V)表示漏洞节点集V构成的所有排列组合路径,所述特征函数值表示每种排列组合路径中每个漏洞节点的最终收益值之和;

根据所述特征函数值的贡献值,计算每种排列组合路径下每个漏洞的沙普利值以得到漏洞风险评估指标,所述沙普利值 公式为:其中,V表示漏洞节点集。

2.根据权利要求1所述的网络系统漏洞风险评估方法,其特征在于,所述评估指标包括:利用方式、攻击复杂度和可利用性。

3.根据权利要求1所述的网络系统漏洞风险评估方法,其特征在于,所述对每个漏洞的评估指标进行评估量化,得到每个漏洞的攻击收益值,包括:对每个漏洞的评估指标进行评估量化,得到攻击者利用每个漏洞的利用代价;

根据所述利用代价,得到攻击者利用每个漏洞的攻击收益值。

4.一种网络系统漏洞风险评估装置,其特征在于,包括:评估指标量化模块,用于对每个漏洞的评估指标进行评估量化,得到每个漏洞的攻击收益值,所述攻击收益值的公式为:其中,Pi表示第i个漏洞的攻击收益值,Ci表示第i个漏洞的利用代价;

漏洞被利用率计算模块,用于根据网络漏洞依赖图,得到每个漏洞的全局被利用概率值,所述网络漏洞依赖图是根据漏洞节点集和有向边集构建得到的,其中,每个节点代表一个漏洞,有向边集代表各漏洞节点之间的依赖关系;所述全局被利用概率值通过以下步骤获取得到:获取每个漏洞被攻击者单独利用的概率值;

根据网络漏洞依赖图上每个漏洞之间的依赖关系和所述概率值,获取每个漏洞的全局被利用概率值;

攻击者收益值计算模块,用于根据所述攻击收益值和所述全局被利用概率值,获取攻击者利用每个漏洞的最终收益值,所述最终收益值公式为;

FP(i)=Pi*Pro(i);

其中,Pi表示第i个漏洞的攻击收益值,Pro(i)表示第i个漏洞的全局被利用概率值;

评估模块,用于根据所述最终收益值,获取每种排列组合路径下每个漏洞的沙普利值,以得到漏洞风险评估指标,具体包括:对所有漏洞进行排列组合,得到每种排列组合路径的特征函数值的贡献值,所述贡献值公式为:其中, 表示在排列组合路径π中第i个漏洞节点的贡献值,π表示一种排列组合路径,表示该排列中的所有漏洞节点, 表示特征函数,{vi}表示由漏洞节点i组成的集合,vi表示漏洞节点,∏(V)表示漏洞节点集V构成的所有排列组合路径,所述特征函数值表示每种排列组合路径中每个漏洞节点的最终收益值之和;

根据所述特征函数值的贡献值,计算每种排列组合路径下每个漏洞的沙普利值以得到漏洞风险评估指标,所述沙普利值 公式为:其中,V表示漏洞节点集。

5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述网络系统漏洞风险评估方法的步骤。

6.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3任一项所述网络系统漏洞风险评估方法的步骤。

说明书 :

一种网络系统漏洞风险评估方法及装置

技术领域

[0001] 本发明涉及网络安全技术领域,尤其涉及一种网络系统漏洞风险评估方法及装置。

背景技术

[0002] 网络环境中操作系统、应用软件等存在漏洞是影响网络系统安全的关键因素之一。网络系统中的漏洞存在于软硬件产品的设计、实现与运行管理等各个环节,任何一家公司生成发行的网络系统产品中都包含或多或少的漏洞,完全消除网络系统产品的所有漏洞是不现实的。对于网络系统产品使用者来说,由于缺乏专业的知识、发行商不能及时发布漏洞补丁或者打补丁成本过高等原因导致漏洞无法被及时修复,因此这些存在漏洞的网络系统产品可能会被潜在的攻击者利用,造成巨大的影响。即使用户在技术上有能力修复这些漏洞,但其修复也受到经济、人力预算等资源约束。这就需要企业用户对自己的网络系统环境进行风险评估,确定网络系统修复的优先顺序,最大化修复收益。
[0003] 现有对漏洞进行风险评估的主要方式之一是通用漏洞评估系统(Common Vulnerability Scoring System,简称CVSS),该系统会根据提前确定的标准针对漏洞本身的特点对漏洞的风险进行评估,给出一个评估值,但是忽略了网络系统漏洞所处的网络环境对漏洞风险的影响。
[0004] 因此,现在亟需一种网络系统漏洞风险评估方法及装置来解决上述问题。

发明内容

[0005] 针对现有技术存在的问题,本发明实施例提供一种网络系统漏洞风险评估方法及装置。
[0006] 第一方面,本发明实施例提供一种网络系统漏洞风险评估方法,包括:
[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] 图1为本发明实施例提供的网络系统漏洞风险评估方法的流程示意图;
[0035] 图2为本发明实施例提供的网络环境配置图;
[0036] 图3为本发明实施例提供的网络漏洞依赖图;
[0037] 图4为本发明实施例提供的漏洞节点后继关系示意图;
[0038] 图5为本发明实施例提供的漏洞节点直接关系的示意图;
[0039] 图6为本发明实施例提供的漏洞节点或关系的示意图;
[0040] 图7为本发明实施例提供的漏洞节点与关系的示意图;
[0041] 图8为本发明又一实施例提供的网络漏洞依赖图;
[0042] 图9为本发明实施例提供的网络系统漏洞风险评估装置的结构示意图;
[0043] 图10为本发明实施例提供的电子设备结构示意图。

具体实施方式

[0044] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045] 针对现有技术只针对漏洞本身的特点进行漏洞风险评估,而导致的结果比较片面的问题,本发明实施例根据合作博弈中沙普利值的计算方法,考虑不同漏洞个体之间的相互联系关系,从而更加准确地确定漏洞的风险。
[0046] 在合作博弈中,通常是根据各个代理个体做出的贡献,来公平地分配合作收益,每个代理的沙普利值是该个体对于合作项目所期望贡献量的平均值。在本发明实施例中,通过计算每个漏洞的沙普利值,可以在攻击者选择要利用的漏洞时,考虑不同漏洞组合下的平均期望收益,通过这种方式,可以综合网络环境中漏洞之间的依赖关系和不同的组合方式,根据全局的角度对漏洞的风险进行评估,以使得网络安全相关的安防人员对风险较高的漏洞采取相应的修复措施,达到保护网络系统安全的目的。
[0047] 图1为本发明实施例提供的网络系统漏洞风险评估方法的流程示意图,如图1所示,本发明实施例提供了一种网络系统漏洞风险评估方法,包括:
[0048] 步骤101,对每个漏洞的评估指标进行评估量化,得到每个漏洞的攻击收益值。
[0049] 在本发明实施例中,对网络漏洞依赖图上每个漏洞的评估指标进行评估量化,优选地,在本发明实施例中,选择CVSS中部分常用的评价标准作为每个漏洞的评估指标,从而确定攻击者在利用该漏洞时的攻击代价,即利用代价,由于沙普利值是基于合作时的收益计算得到的,因此需要对利用代价进行转化,并将转化之后的值作为攻击者成功利用该漏洞的攻击收益值。
[0050] 步骤102,根据网络漏洞依赖图,得到每个漏洞的全局被利用概率值。
[0051] 在本发明实施例中,首先将网络漏洞依赖图上的每个漏洞设置一个被攻击者利用的概率值,然后,根据网络漏洞依赖图上各个漏洞之间的依赖关系,获取攻击者将会发起攻击的多条攻击路径,并根据每个漏洞与其前后漏洞之间的逻辑关系,获取得到每个漏洞在整个网络中被利用的概率,即全局被利用概率值。
[0052] 步骤103,根据所述攻击收益值和所述全局被利用概率值,获取攻击者利用每个漏洞的最终收益值。
[0053] 在本发明实施例中,根据上述步骤102和步骤103中得到的每个漏洞的攻击收益值和全局被利用概率值,获取得到攻击者成功利用该漏洞的最终收益值,最终收益值公式为:
[0054] FP(i)=Pi*Pro(i);
[0055] 其中,Pi表示第i个漏洞的攻击收益值,Pro(i)表示第i个漏洞的全局被利用概率值。
[0056] 步骤104,根据所述最终收益值,获取每种排列组合路径下每个漏洞的沙普利值,以得到漏洞风险评估指标。
[0057] 在本发明实施例中,首先根据每个漏洞之间的依赖关系,得到基于漏洞依赖路径构成的多种排列组合路径,从而得到每种排列组合路径对应的特征函数值,然后根据沙普利值的计算公式,计算出每种排列组合路径下每个漏洞的沙普利值,以用于获取每个漏洞的最终风险评价指标,即漏洞风险评估指标。
[0058] 本发明实施例提供的一种网络系统漏洞风险评估方法,通过获取不同排列组合下漏洞节点的收益,将得到的每个漏洞节点的沙普利值作为最后的风险评价指标,充分考虑网络系统环境中的漏洞之间的关联关系,以根据评估结果得到整个网络中高威胁程度和低威胁程度的漏洞,为网络系统的安全性能优化提供依据,保证网络系统的安全。
[0059] 在上述实施例的基础上,在所述对每个漏洞进行评估量化,得到每个漏洞的攻击收益值之前,所述方法还包括:
[0060] 根据漏洞节点集和有向边集,构建网络漏洞依赖图。
[0061] 在本发明实施例中,由于不同的网络环境会存在比较大的差异,因此需要对具体的网络环境进行分析,确定该网络环境中存在哪些可以被攻击者利用的漏洞,然后分析出攻击者可能实施的攻击路径,从而建立网络漏洞依赖图。在本发明实施例中,网络漏洞依赖图通过漏洞节点集和有向边集构建而成,在网络漏洞依赖图中,每个节点代表一个漏洞,有向边代表各漏洞节点之间的依赖关系。图2为本发明实施例提供的网络环境配置图,可参考图2所示,攻击者的攻击路径为:攻击者从外部防火墙出发,利用Web服务器中的漏洞v2,获取Web服务器的管理员权限,再通过内网中Windows主机上的漏洞v5获取主机的权限,进一步通过漏洞v6和漏洞v7获取FTP服务器和数据库服务器的权限;攻击者利用漏洞v1攻击DNS服务器,从而获取服务器的root权限,接着利用DNS服务器的信任关系以及漏洞v3,获取Web服务器的root权限,再通过内网中Windows主机上的漏洞v5获取主机的权限,进一步通过漏洞v6和漏洞v7获取FTP服务器和数据库服务器的权限,或者,攻击者利用漏洞v4获取Linux主机的root权限,也可以通过漏洞v6和漏洞v7获取FTP服务器和数据库服务器的权限。图3为本发明实施例提供的网络漏洞依赖图,可参考图3所示,图3是根据上述的攻击路径以及漏洞之间依赖关系构建而成网络漏洞依赖图。
[0062] 进一步地,在本发明实施例中,将网络漏洞依赖图表示为G(V,E),V代表漏洞节点集,|V|=n,有向边集E={,1≤i,j≤n},其中,有向边表示漏洞节点vi指向漏洞节点vj的边,即漏洞vj依赖于漏洞vi,只有在漏洞vi被利用后,漏洞vj才可以被利用。为了简化分析,可参考图3所示,在本发明实施例中,假设攻击者从同一起点出发,因此在网络漏洞依赖图中添加一个虚拟节点S,该虚拟节点指向所有攻击路径的起点。在构建漏洞依赖图的过程中,需要考虑网络环境中不同的服务器和主机上存在的漏洞,以及漏洞的特性,分析攻击者所有可能的攻击路径,从而得到漏洞的依赖关系。
[0063] 在上述实施例的基础上,所述评估指标包括:利用方式、攻击复杂度和可利用性。
[0064] 在本发明实施例中,对于网络漏洞依赖图中的每个漏洞vi,攻击者在利用它们的时候,会将攻击这些漏洞的攻击代价与漏洞状态、攻击能力、攻击时间和网络安全措施等因素的相关性,同时,攻击代价也和攻击者自身的攻击经验和熟练程度密切相关。在本发明实施例中,选择CVSS评估指标中的利用方式(AV)、攻击复杂度(AC)和可利用性(EXP)这三个参数进行量化评估。具体地,在CVSS的标准里,这三项指标有不同的取值:
[0065] 利用方式AVi表示第i个漏洞的利用方式取值,分为本地\近邻网络\远程,取值对应0.395\0.646\1.0;
[0066] 攻击复杂度ACi表示第i个漏洞的攻击复杂度取值,分为高\中\低,取值对应0.35\0.61\0.71;
[0067] 可利用性EXPi表示第i个漏洞的可利用性取值,分为未提供\验证方法\功能性代码\完整代码,取值对应0.85\0.9\0.95\1.0。
[0068] 通过对上述三项评估指标进行量化,以用于后续步骤得到每个漏洞的攻击收益值。需要说明的是,在本发明另一实施例中,还可以选取CVSS评估指标中的其他参数进行评估量化,具体选取类型根据网络系统漏洞风险评估的实际需求决定,在此不作具体限定。
[0069] 在上述实施例的基础上,所述对每个漏洞的评估指标进行评估量化,得到每个漏洞的攻击收益值,包括:
[0070] 对每个漏洞的评估指标进行评估量化,得到攻击者利用每个漏洞的利用代价;
[0071] 根据所述利用代价,得到攻击者利用每个漏洞的攻击收益值。
[0072] 在本发明实施例中,在对每个漏洞的评估指标进行评估量化之后,攻击者利用每个漏洞的利用代价Ci通过加权求和的方式获取得到,公式为:
[0073] Ci=wAVAVi+wACACi+wEXPEXPi;
[0074] 其中,wAV、wAC和wEXP分别对应利用方式、攻击复杂度和可利用性的权值。若漏洞的利用代价越大,则说明攻击者越难利用该漏洞,即攻击者在该漏洞处得到的收益就会越低,因此可以对漏洞的利用代价取倒数,表示攻击者利用该漏洞之后得到的收益。因此,每个漏洞被成功利用后,攻击者收益值可以表示为:
[0075]
[0076] 在上述实施例的基础上,所述根据网络漏洞依赖图,得到每个漏洞的全局被利用概率值,包括:
[0077] 获取每个漏洞被攻击者单独利用的概率值;
[0078] 根据网络漏洞依赖图上每个漏洞之间的依赖关系和所述概率值,获取每个漏洞的全局被利用概率值。
[0079] 在本发明实施例中,首先,为网络漏洞依赖图中每个漏洞分配一个被攻击者单独利用的概率值,这些单独利用的概率值可以根据现有该漏洞被攻击的概率进行定义,也可以通过安防人员的经验进行预设,在本发明实施例中,获取漏洞单独被攻击的概率值的方式不作具体限定。进一步地,通过对多种网络漏洞依赖图上各个漏洞之间的依赖关系进行分析,可以得知,每个漏洞的全局被利用概率值是根据该漏洞及其前驱漏洞之间的依赖关系获取得到。
[0080] 具体地,根据CVSS评估指标,每个漏洞的风险被量化为[0,10]的值,在本发明实施例中,对该值除以10,得到一个[0,1]值,作为第i个漏洞单独被利用的概率值Ei。由于一个漏洞节点有可能存在多个后继节点,那么攻击者可能会从后继节点中选择其中的一个或者几个继续发起攻击,因此对于每个漏洞定义一个相对可选择性,表示当受到攻击的网络漏洞依赖图中的漏洞节点存在两个或两个以上的后继漏洞节点时,在前驱漏洞节点被成功攻击的条件下,攻击者选择某一指定后继节点的概率大小。图4为本发明实施例提供的漏洞节点后继关系示意图,可参考图4所示,漏洞节点A拥有N个后继节点,当攻击者成功利用漏洞节点A之后,漏洞节点A的所有后继漏洞节点都有可能被攻击者选中。此时,对于漏洞节点B,其相对被选择性为:
[0081]
[0082] 其他后继漏洞节点的相对被选择性,采用上述同样的计算方法获取得到。
[0083] 进一步地,根据各漏洞节点之间的逻辑关系,即依赖关系,获取每个漏洞节点的全局被利用概率值,在本发明实施例中,每一个漏洞节点与其前驱漏洞节点的依赖关系共有三种情况:直接关系、或关系以及与关系。
[0084] 具体地,当漏洞节点之间为直接关系时,图5为本发明实施例提供的漏洞节点直接关系的示意图,可参考图5所示,已知漏洞节点A的全局被利用概率值Pro(A),需要说明的是,在本发明实施例中,作为漏洞节点B的前驱漏洞节点的漏洞节点A,其全局被利用概率值Pro(A)是根据漏洞节点A的前驱漏洞节点计算得到的。由于漏洞节点B只有一个前驱漏洞节点A,当漏洞节点A被利用之后,若攻击者继续验证当前路径发送攻击,则漏洞节点B一定会被利用,因此,此时漏洞节点B的全局被利用概率值为:
[0085] Pro(B)=Pro(A)*SA-B;
[0086] 当漏洞节点之间为或关系时,图6为本发明实施例提供的漏洞节点或关系的示意图,可参考图6所示,已知漏洞节点A的全局被利用概率值为Pro(A),漏洞节点B的全局被利用概率值为Pro(B),攻击者若要利用漏洞节点C,则可以选择两种攻击路径:A至C的路径,和B至C的路径,攻击者需要从中选择其中一条作为攻击路径,因此,漏洞节点C的全局被利用概率值为:
[0087] Pro(C)=Pro(A)SA-C+Pro(B)SB-C-Pro(A)SA-C×Pro(B)SB-C;
[0088] 当漏洞节点之间为与关系时,图7为本发明实施例提供的漏洞节点与关系的示意图,可参考图7所示,已知漏洞节点A的全局被利用概率值为Pro(A),漏洞节点B的全局被利用概率值为Pro(B),攻击者若要利用漏洞节点C则必须同时利用漏洞节点A和漏洞节点B,因此,漏洞节点C的全局被利用概率值为:
[0089] Pro(C)=Pro(A)SA-C×Pro(B)SB-C;
[0090] 因此,对于网络漏洞依赖图中的每个漏洞节点vi,根据各自的依赖关系,通过上述三种漏洞依赖关系的计算步骤,均可得到被攻击者利用的全局被利用概率值Pro(i)。
[0091] 在上述实施例的基础上,所述根据所述最终收益值,获取每种排列组合路径下每个漏洞的沙普利值,以得到漏洞风险评估指标,包括:
[0092] 对所有漏洞进行排列组合,得到每种排列组合路径的特征函数值;
[0093] 根据所述特征函数值,计算每种排列组合路径下每个漏洞的沙普利值,以得到漏洞风险评估指标。
[0094] 在本发明实施例中,在获取每个漏洞的最终收益值之后,通过对所有漏洞节点的攻击路径进行排列组合,确定沙普利值的特征函数,从而得到在不同漏洞节点组合下排列组合路径的特征函数值,再根据沙普利值的计算公式,获取每个漏洞节点的沙普利值,以作为漏洞节点的漏洞风险评估指标。
[0095] 具体地,在本发明实施例中,对于每种排列组合路径的第一个漏洞节点,当前的特征函数值为该漏洞节点的最终收益值,对于第二个漏洞节点,若能将之前已经存在的路径继续延长,那么第二个漏洞节点的特征函数值就是第一漏洞节点和第二漏洞节点的最终收益值之和。若不能继续形成攻击路径,则说明第二漏洞节点对当前路径的贡献值为0,那么特征函数值仍然不变。
[0096] 根据上述规则,得到每个排列组合路径中每个漏洞节点对当前排列特征函数值的贡献值,最后计算每个漏洞节点的贡献值总和,取平均值作为该漏洞节点的沙普利值。具体地,用π来表示一种排列组合路径,表示该排列中的所有漏洞节点, 表示特征函数,沙普利值的定义为:
[0097]
[0098] 贡献值 的公式为:
[0099]
[0100] 其中, 表示在排列组合路径π中第i个漏洞节点的贡献值,{vi}表示由漏洞节点i组成的集合,vi表示漏洞节点。对于每种排列组合路径π中的漏洞节点,将其逐个添加到当前排列组合路径中,根据添加前和添加后的特征函数 之间的差,得到漏洞节点i对当前排列组合路径π的贡献值 然后对所有其他排列组合路径上述的计算方法,将得到每个漏洞节点的贡献值 进行求和取平均处理,从而得到每个漏洞节点的沙普利值。
[0101] 图8为本发明又一实施例提供的网络漏洞依赖图,可参考图8所示,在本发明实施例中,通过模拟网络环境对网络系统漏洞风险评估进行具体说明。首先,对每个漏洞节点进行单独风险评估,具体地,利用方式(AV)、攻击复杂度(AC)和可利用性(EXP)的等级和取值,可以从国家脆弱性数据库(National Vulnerability Database,简称NVD)获取得到,具体漏洞信息如表1所示:
[0102] 表1
[0103] 漏洞 CVE编号 AV AC EXPv1 CVE-2003-0722 1.0 0.35 0.9
v2 CVE-2008-0075 1.0 0.35 0.95
v3 CVE-2008-0074 0.395 0.35 1.0
v4 CVE-2007-02219 1.0 0.61 1.0
[0104] 另外,将利用方式、攻击复杂度和可利用性的权值设置为0.33,即wAV=0.33、wAC=0.33、wEXP=0.33,得到攻击每个漏洞节点的攻击代价为C1=0.7425,C2=0.759,C3=
0.57585,C4=0.8613,最终得到攻击收益值为:P1=1.346,P2=1.3175,P3=1.7365,P4=
1.161。
[0105] 进一步地,在CVSS评估指标中,每个漏洞节点的风险分别为10、10、7.2和9.3,因此,每个漏洞节点单独被利用的概率值分别为E1=1.0,E2=1.0,E3=0.72,E4=0.93,设置虚拟起点S单独被利用的概率值ES=1.0,并计算获取漏洞节点的相对被选择性,如表2所示:
[0106] 表2
[0107]相对被选择性 概率值
SS—1 0.5
SS—2 0.5
S1—3 1
S2—4 1
S3—4 1
[0108] 进一步地,根据各漏洞节点之间的依赖关系和全局被利用概率值的计算公式,得到每个漏洞节点的全局被利用概率值:Pro(1)=0.5,Pro(2)=0.5,Pro(3)=0.5,Pro(4)=0.75,由上述计算得到的各数值,计算得到攻击者成功利用每个漏洞节点的最终收益值:FP(1)=0.673,FP(2)=0.65875,FP(3)=0.86825,FP(4)=0.87075。然后,枚举出当前四个漏洞节点的所有排列组合路径,计算每种排列中各个漏洞节点对特征函数的贡献值,并求和取平均得到对应的沙普利值,具体数值如表3所示:
[0109] 表3
[0110]
[0111]
[0112] 由表3得到本发明实施例中四个漏洞节点的风险评估结果分别为:0.16725、0.16456、0.434125、0.7619。对四个漏洞节点风险评估结果进行分析可知,由于漏洞节点1和漏洞节点2位于攻击路径的起点,而本发明实施例中只存在两条攻击路径,因此这两个起点的风险值比较接近,而风险值最高的漏洞节点4是两条攻击路径的共同终点,所以漏洞节点4的风险值是最大的。因此,网络安全人员根据该评估结果对漏洞节点4采取适当的修复措施,攻击者就无法到达目标节点,从而降低网络系统被攻击的风险。
[0113] 本发明实施例不仅结合了现有评价标准CVSS的优点,而且还充分考虑到漏洞节点之间的关联性,基于沙普利值计算出新的风险评估结果,获取整个网络系统中的高威胁程度和低威胁程度的漏洞,能够为网络安全管理人员进行脆弱性修复时提供参考,为网络的安全性能优化提供依据,从而及时采取有效措施保证网络的安全。
[0114] 图9为本发明实施例提供的网络系统漏洞风险评估装置的结构示意图,如图9所示,本发明实施例提供了一种网络系统漏洞风险评估装置,包括评估指标量化模块901、漏洞被利用率计算模块902、攻击者收益值计算模块903和评估模块904,其中,评估指标量化模块901用于对每个漏洞的评估指标进行评估量化,得到每个漏洞的攻击收益值;漏洞被利用率计算模块902用于根据网络漏洞依赖图,得到每个漏洞的全局被利用概率值;攻击者收益值计算模块903用于根据所述攻击收益值和所述全局被利用概率值,获取攻击者利用每个漏洞的最终收益值;评估模块904用于根据所述最终收益值,获取每种排列组合路径下每个漏洞的沙普利值,以得到漏洞风险评估指标。
[0115] 在本发明实施例中,评估指标量化模块901首先对网络漏洞依赖图上每个漏洞的评估指标进行评估量化;然后,通过漏洞被利用率计算模块902,为网络漏洞依赖图上的每个漏洞设置一个被攻击者利用的概率值,漏洞被利用率计算模块902根据网络漏洞依赖图上各个漏洞之间的依赖关系,获取攻击者将会发起攻击的多条攻击路径,并根据每个漏洞与其前后漏洞之间的逻辑关系,获取得到每个漏洞在整个网络中被利用的概率,即全局被利用概率值;攻击者收益值计算模块903根据得到的每个漏洞的攻击收益值和全局被利用概率值,获取得到攻击者成功利用该漏洞的最终收益值;最后,评估模块904根据每个漏洞之间的依赖关系,得到基于漏洞依赖路径构成的多种排列组合路径,从而得到每种排列组合路径对应的特征函数值,然后根据沙普利值的计算公式,计算出每种排列组合路径下每个漏洞的沙普利值,以用于获取每个漏洞的最终风险评价指标,即漏洞风险评估指标。
[0116] 本发明实施例提供的一种网络系统漏洞风险评估装置,通过获取不同排列组合下漏洞节点的收益,将得到的每个漏洞节点的沙普利值作为最后的风险评价指标,充分考虑网络系统环境中的漏洞之间的关联关系,以根据评估结果得到整个网络中高威胁程度和低威胁程度的漏洞,为网络系统的安全性能优化提供依据,保证网络系统的安全。
[0117] 在上述实施例的基础上,所述装置还包括:
[0118] 漏洞依赖图构建模块,用于根据漏洞节点集和有向边集,构建网络漏洞依赖图。
[0119] 本发明实施例提供的装置是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
[0120] 图10为本发明实施例提供的电子设备结构示意图,如图10所示,该服务器可以包括:
[0121] 处理器(processor)1001、通信接口(Communications Interface)1002、存储器(memory)1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。处理器1001可以调用存储器1003中的逻辑指令,以执行如下方法:对每个漏洞的评估指标进行评估量化,得到每个漏洞的攻击收益值;根据网络漏洞依赖图,得到每个漏洞的全局被利用概率值;根据所述攻击收益值和所述全局被利用概率值,获取攻击者利用每个漏洞的最终收益值;根据所述最终收益值,获取每种排列组合路径下每个漏洞的沙普利值,以得到漏洞风险评估指标。
[0122] 此外,上述的存储器1003中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0123] 另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的网络系统漏洞风险评估方法,例如包括:对每个漏洞的评估指标进行评估量化,得到每个漏洞的攻击收益值;根据网络漏洞依赖图,得到每个漏洞的全局被利用概率值;根据所述攻击收益值和所述全局被利用概率值,获取攻击者利用每个漏洞的最终收益值;根据所述最终收益值,获取每种排列组合路径下每个漏洞的沙普利值,以得到漏洞风险评估指标。
[0124] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0125] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0126] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。