计算机安全风险评估方法和设备的制作方法

文档序号:6434357阅读:182来源:国知局
专利名称:计算机安全风险评估方法和设备的制作方法
技术领域
本发明涉及计算机信息安全领域,尤其涉及用于对计算机的安全状况进行评估的计算机安全风险评估设备和方法。
背景技术
对于计算机系统来说,由于计算机系统中的硬件、软件和/或协议的具体实现或系统安全策略上存在有缺陷,可以使攻击者在未授权的情况下访问或破坏计算机系统。这些缺陷也被称为计算机漏洞。一些处于网络中的计算机由于存在漏洞而存在有网络威胁。 随着计算机网络的快速发展,通过计算机网络提供各种服务的计算机系统也越来越普及, 而这些计算机系统所存在的漏洞所导致的损失也就越大。目前,存在各种网络漏洞扫描类产品,旨在从攻防角度对计算机系统进行漏洞扫描,以便找出计算机系统中脆弱或者存在漏洞的地方,以便进行安全加固。由漏洞扫描工具对计算机系统进行漏洞扫描时,需要对扫描结果进行分析,从而对计算机系统的安全风险进行评估。然而,目前的计算机系统风险评估方法要么是基于入侵检测结果进行分析,要么是直接对服务器的风险进行评估。这些方法都没有直接对系统的漏洞进行分析,都不能很好的反映一个计算机系统的安全风险情况,甚至有时候错误地给出了评估结果。因此,需要一种可以准确地基于漏洞分析的结果来对计算机系统的安全风险情况给出评估的计算机安全风险评估方方式。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决或者减缓上述问题的漏洞检测设备和方法。根据本发明的一个方面,提供了一种对计算机的安全风险进行评估的安全风险评估方法,包括步骤获取计算机中存在的一个或者多个安全漏洞;根据安全漏洞的危险程度为一个或者多个安全漏洞中的每个分配风险等级,其中每个风险等级具有对应的风险等级值,且风险等级值越高,漏洞越危险;从最低的风险等级开始,逐个等级地计算每个风险等级的安全风险评估值,直到计算了计算机中的安全漏洞所具有的最高风险等级为止;以及基于最高风险等级的安全风险评估值来确定所述计算机的安全风险值,其中计算每个风险等级的安全风险评估值包括为该风险等级确定该风险等级的初始风险值,该初始风险值取决于上一风险等级的安全风险评估值和是否存在属于该风险等级的安全漏洞;以及根据该风险等级的初始风险值来确定该风险等级的安全风险评估值,其中该风险等级的安全风险评估值还取决于属于该风险等级的安全漏洞数量。根据本发明的另一个方面,提供了一种对计算机的安全风险进行评估的安全风险评估设备,包括漏洞获取装置,获取所述计算机中存在的一个或者多个安全漏洞;漏洞分级装置,根据安全漏洞的危险程度为所述一个或者多个安全漏洞中的每个分配风险等级, 其中每个风险等级具有对应的风险等级值,且风险等级值越高,漏洞越危险;以及主机风险确定装置,用于根据所述一个或者多个安全漏洞以及相应的风险等级来确定所述计算机的安全风险值,该主机风险确定装置包括初始值计算装置,用于为某个风险等级确定该风险等级的初始风险值,该初始风险值取决于上一风险等级的安全风险评估值和是否存在属于该风险等级的安全漏洞;等级值计算装置,用于根据该风险等级的初始风险值来确定该风险等级的安全风险评估值,其中该风险等级的安全风险评估值还取决于属于该风险等级的安全漏洞数量;以及主机值确定装置,用于基于最高风险等级的安全风险评估值来确定所述计算机的安全风险值。根据本发明的方法和设备可以为目标计算机提供一个直观且全面地反映该目标计算机的风险程度的安全风险值。由本发明的方法和设备提供的安全风险值不仅取决于漏洞的数量,而且还取决于漏洞的风险程度。具体而言,漏洞数越多,给目标计算机带来的安全风险也越大。当存在较高级别的安全漏洞时,目标计算机系统的安全性受到更大的威胁, 其安全风险会较大。总的趋势来说,计算机安全风险曲线走势是一个对数曲线。当安全漏洞数量增加到一定程度后,整个计算机就处在一个极度不安全的状态,这个时候漏洞数的变化对计算机风险的影响就会比较小,所以漏洞数有一个极限值,计算机风险值会收敛在这个漏洞数上。收敛速度根据漏洞风险值的高低有所不同,低风险值的漏洞对漏洞利用成功和危害都比较小,需要较多的漏洞才会对系统有大的影响,所以收敛速度就会小。


通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中
图1示出了根据本发明一个实施例的安全风险评估方法; 图2示出了根据本发明一个实施例的安全风险评估设备;
图3示出了根据本发明一个实施例的某个安全风险等级的安全风险评估值与该风险等级中的漏洞数量的关系;以及
图4示出了根据本发明一个实施例的计算机安全风险值和该计算机中存在的安全漏洞之间的关系。
具体实施例方式下面结合附图和具体的实施方式对本发明作进一步的描述。图1示出了根据本发明一个实施例的安全风险评估方法100。如图1所示,该方法100始于步骤S110,其中尽可能多地获取目标计算机中存在的一个或者多个安全漏洞。这可以通过目前已知的任意方式来进行,例如可以利用现有的安全扫描工具对目标计算机进行各种安全扫描,包含端口扫描、服务识别、操作系统识别等,以便尽量多的收集到目标主机存在的安全漏洞。随后,在步骤S120中,根据安全漏洞的危险程度为所收集到的安全漏洞中的每个安全漏洞分配风险等级。可以根据漏洞利用方式、利用成功率、传播范围、危害程度、漏洞之间的依赖性等,来对各个安全漏洞进行评估,并给出一个风险等级。每个风险等级具有相应的风险等级值。根据本发明的一个实施例,风险等级分为10级,每个风险等级具有相应的风险等级值,即风险等级1具有风险等级值1,并以此类推,即风险等级值为范围在1-10之间的整数。安全漏洞所处的风险等级的风险等级值越大,说明这个安全漏洞越有可能被利用,而且带来的危害程度就越大,对目标计算机来说安全风险就越大。目前存在有多种给安全漏洞分配风险等级的方式。例如在由NIAC开发、HRST维护的CVSS (通用弱点评价体系,http://www. first, org/cvss/cvss-guide. html)中提供了一种对安全漏洞进行风险等级分级的工业标准。在步骤S120中对目标计算机所存在的各个安全漏洞进行分级之后,在步骤 S130-170中,从最低的风险等级开始,逐个等级地计算每个风险等级的安全风险评估值,直到计算了所述计算机中的安全漏洞所具有的最高风险等级为止。具体而言,在步骤S130中,将当前要处理的安全风险等级设置为最低的安全风险等级,即将当前的安全风险等级η设置为1。随后在步骤S140中,为当前安全风险等级确定其初始风险值Vn,μ该初始风险值取决于上一个风险等级的安全风险评估值Vlri,以及是否存在属于该风险等级η的安全漏洞。一般而言,如果存在属于该风险等级η的安全漏洞,初始风险值Vn,^会相对大些。另外, Vn^1越大,初始风险值Vn,C1也就越大。根据本发明的一个实施方式,首先将初始风险值Vn,^设置为η,然后如果存在属于当前风险等级η的安全漏洞,则在该风险等级的初始风险值\’0上还加上与上一风险等级的安全风险评估值Vlri相关的一个值,一般而言,该值随着Vlri变大而变大,但是不会超过 1,更可取的是不超过0.3。可选地,根据本发明的一个实施例,根据下列等式来确定初始风险值\’0 当Ii = 1 且Nn > O吋Vnfi = η
当 η=1 且 NB=O 时:Vsj0 = O
当η > IMNn > 0且Vf1 > _ 1时Fk,。= η + ^ -ι ~ + ^ ~
an > IB-Nri > O且V, , = - I时:Vx,= η + 丄——-^―^——f
当 η > IfiNn > O 且V" = O时- Fsfi = η 当η > IMNn = ORV^1 = 0时Viifi = O
其中,Nn为在当前风险等级η中的安全漏洞数量,η为当前风险等级η的风险等级值, a和b预先设置的参数,其值与风险等级的大小相关,其中a和b的取值如下 当 n<=4 时,a=0. 1,b=l. 1 ; 当 4<n<8 时,a=0. 2,b=l. 3 ;以及当 n>=8 时,a=l,b=2。在步骤S140为当前风险等级η确定其初始风险值V一之后,在步骤S150中,基于该初始风险值Vn,^以及在当前风险等级中的安全漏洞数量凡来确定该风险等级的安全风险评估值\。如果在当前风险等级η中存在安全漏洞,即Νη>0时,则安全风险评估值Vn应该比当Nn=O时的Vn值要大。此外,当Nn=I时,将安全风险评估值Vn设置为在步骤S140中确定的初始风险值^一。随着Nn的数量越多,Vn值也越大,但是不会达到η+1。根据本发明的一个实施例,Vn值在Nn值较小时快速增大,但是在Nn值较大时增大步伐变慢,从而逐步接近η+1,但是不会超过η+1。
7
可选地,根据本发明的一个实施例,可以根据下列等式来确定当前风险等级η的安全风险评估值Vn
当礼=OEF^1 >
κ-1
K
>
sja
V
++1
b + a
(2)
*
A,
2 -! J K.,
其中,Ai b为关于整数i的数列表达式,其定义为
2b
I 1、
b
(3)t
>1
/根据上述等式(2),可以看出随着在当前风险等级η中的安全漏洞数量Nn的逐步增加,Vn值就从最低值η开始逐步增大,最开始增大幅度较大,随后增大幅度逐步减少,但是最终不会达到η+1。图3示出了根据本发明一个实施方式的某个安全风险等级的安全风险评估值与该风险等级中的漏洞数量的关系。在图3中,安全风险等级ri=l,横轴为该风险等级中的漏洞数量Nn,纵轴为值Vn-I。从图3可以看出,随着漏洞数量Nn的增加,Vn值逐步增大,但是增大的速度逐步降低,并最终不会超过2。在步骤S150为当前风险等级η计算了安全风险评估值Vn之后,在步骤S160中, 判断当前风险等级η是否为目标计算机中的安全漏洞所具有的最高风险等级。
如果当前风险等级η不是最高风险等级,则在步骤S170中,将当前要处理的风险等级增1。并返回到步骤S140来对该风险等级继续进行处理。相反,如果当前风险等级η就是最高风险等级,则该方法继续到步骤S180,其中根据最高风险等级的安全风险评估值\来确定目标计算机的安全风险值\。可选地,根据本发明的一个实施例,可以如下所述那样来计算安全风险值Vh 当&>埘,Hi;
当f';=i时,Vh 当 <1时,Vk=O-通过上述安全风险评估方法100,可以为目标计算机给出全面反映该目标计算机可能具有的风险的评估值,即安全风险值vh,图4给出了根据本发明一个实施例的计算机安全风险值和该计算机中存在的安全漏洞之间的关系。图4所示的曲线,根据上述方法100 计算得到。从图4中,纵轴代表目标计算机的安全风险值Vh的大小,横轴代表漏洞数和安全级别的综合变化。在图4中,将安全级别分为1-10共10个级别,并在每个安全级别上分别以该级别具有0、2、4和6个漏洞来进行计算,并且当每个级别上的漏洞达到6个时,就增加安全级别。因此,图4横轴上的第一个值代表最高安全级别为1,漏洞数量为0时的安全风险值,而最后一个值代表最高安全级别为10,其每个安全级别上都有6个漏洞时的安全风险值。
-1 2 +ι3
从图4可以看出漏洞数越多,给目标计算机带来的安全风险也越大。当存在较高级别的安全漏洞时,目标计算机系统的安全性受到更大的威胁,其安全风险会较大。总的趋势来说,计算机安全风险曲线走势是一个对数曲线。当安全漏洞数量增加到一定程度后,整个计算机就处在一个极度不安全的状态,这个时候漏洞数的变化对计算机风险的影响就会比较小,所以漏洞数有一个极限值,计算机风险值会收敛在这个漏洞数上。收敛速度根据漏洞风险值的高低有所不同,低风险值的漏洞对漏洞利用成功和危害都比较小,需要较多的漏洞才会对系统有大的影响,所以收敛速度就会小。根据本发明的安全风险评估方法都正确地体现了这些变化。因此,当对目标计算机进行安全加固时,需要优先对高风险的漏洞进行修复,才能将漏洞风险降低到较低的级别,这个时候计算机的风险也会随之减少。如果只是对低风险的漏洞进行修复,计算机系统仍然处于不安全的状态,所以计算机的安全风险并没有明显的减少。综上,对计算机而言,安全程度取决于计算机系统中最脆弱的地方,遵循木桶原理,所以计算机的风险程度也是取决于风险值较高的漏洞。根据本发明的安全风险评估方法能够客观地体现出计算机的安全风险程度,最后计算得到的安全风险值给计算机风险评估带来一个直观的感受。图2示出了根据本发明一个实施例的安全风险评估设备200。图2所示的安全风险评估设备200适于执行图1所示的安全风险评估方法100。如图2所示,安全风险评估设备200包括漏洞获取装置210,用于利用各种方法来尽可能地获取目标计算机300中存在的安全漏洞,其适于如上述步骤SllO所述来获取各种安全漏洞。安全风险评估设备200还包括漏洞分级装置220,其根据安全漏洞的危险程度为漏洞获取装置210所获取的每个安全漏洞分配风险等级。如上参考步骤S120所述,每个风险等级具有相应的风险等级值,安全漏洞所处的风险等级的风险等级值越大,说明这个安全漏洞越有可能被利用,而且带来的危害程度就越大,对目标计算机来说安全风险就越大。 漏洞分级装置220可以如步骤S120中所述的那样对安全漏洞进行分级。根据本发明的一个实施方式,可以利用通用弱点评价体系(CVSS)来对安全漏洞进行分级。安全风险评估设备200还包括主机风险确定装置230,用于根据由漏洞分级装置 220分级后的安全漏洞分布状况,来为目标计算机300确定其安全风险值Vh。主机风险确定装置230包括初始值计算装置232、等级值计算装置234以及主机值计算装置236。主机风险确定装置230确定目标计算机的安全漏洞所具有的最高风险等级,然后从最低风险等级开始直至最高风险等级为止,对于每个风险等级,由初始值计算装置232来确定该风险等级的初始值Vn,^,随后由等级值计算装置234来计算该风险等级的安全风险评估值Vn。在确定了目标计算机中存在的安全漏洞的最高风险等级的安全风险评估值Vn之后,由主机值计算装置236基于值Vn来计算安全风险值Vh。初始值计算装置232适于为某个风险等级η确定该风险等级的初始风险值\’0, 该初始风险值取决于上一个风险等级的安全风险评估值Vlri和是否存在属于该风险等级的安全漏洞。初始值计算装置232可以如上面参考步骤S140所述的那样来计算初始风险值 Vn, 0。等级值计算装置234适于根据该风险等级η的初始风险值\0来确定该风险等级的安全风险评估值Vn,其中该风险等级的安全风险评估值还取决于属于该风险等级的安全漏洞数量Nn。具体而言,等级值计算装置234还可以如上面参考步骤S150所具体陈述的那样来计算该风险等级η的安全风险评估值Vn。主机风险值确定装置236适于基于目标计算机300所具有的最高风险等级的安全风险评估值来确定安全风险值Vh。具体而言,主机风险值确定装置236可以如上面参考步骤S180所述的那样来确定安全风险值Vh。应当注意的是,在本发明的安全风险评估设备200的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的安全风险评估设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提 {共。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
权利要求
1.一种对计算机的安全风险进行评估的安全风险评估方法,包括步骤 获取所述计算机中存在的一个或者多个安全漏洞;根据安全漏洞的危险程度为所述一个或者多个安全漏洞中的每个分配风险等级(n), 其中每个风险等级具有对应的风险等级值,且风险等级值越高,漏洞越危险;从最低的风险等级开始,逐个等级地计算每个风险等级的安全风险评估值(Vn),直到计算了所述计算机中的安全漏洞所具有的最高风险等级为止;以及基于所述最高风险等级的安全风险评估值来确定所述计算机的安全风险值(\), 其中所述计算每个风险等级的安全风险评估值(Vn)包括为该风险等级确定该风险等级的初始风险值(V"),该初始风险值取决于上一风险等级的安全风险评估值(Vlri)和是否存在属于该风险等级的安全漏洞;以及根据该风险等级的初始风险值(Vn, J来确定该风险等级的安全风险评估值(Vn),其中该风险等级的安全风险评估值还取决于属于该风险等级的安全漏洞数量(Nn)。
2.如权利要求1所述的安全风险评估方法,其中所述为风险等级确定该风险等级的初始风险值(Vn, J的步骤包括将该风险等级的初始风险值(V")设置为与该风险等级相对应的风险等级值(η); 如果存在属于该风险等级的安全漏洞数量,则该风险等级的初始风险值(V")还包括与上一风险等级的安全风险评估值Vlri相关的第一值,其中所述安全风险评估值Vlri越大, 所述初始风险值Vn,ο也越大,但是不会超过η+1。
3.如权利要求1或者2所述的安全风险评估方法,其中根据该风险等级的初始风险值 (Vn,0)来确定该风险等级的该风险等级的安全风险评估值(Vn)包括如果该风险等级的安全漏洞数量(Nn)为零,则将该风险等级的安全风险评估值(Vn)设置为与该风险等级相对应的风险等级值(η)和与上一风险等级的安全风险评估值(Vlri)相关的第二值之和,其中所述第二值随着上一风险等级的安全风险评估值(Vlri)的增大而增大,但是不会超过1 ;如果该风险等级的安全漏洞数量(Nn)为1个,则将该风险等级的安全风险评估值(Vn) 设置为该风险等级的初始风险值(Vn, J ;以及如果该风险等级的安全漏洞数量(Nn)不止1个,则将该风险等级的安全风险评估值 (Vn)设置为与该风险等级的初始风险值(V")和该风险等级的安全漏洞数量(Nn)相关联的第三值,其中安全漏洞数量(Nn)越多,该第三值越接近与下一个风险等级相对应的风险等级值(η+1),但是不会超过η+1。
4.如权利要求1-3中的任一个所述的安全风险评估方法,其中当该上一风险等级的安全风险评估值(Vlri)等于与上一风险等级相对应的风险等级值 (η-1)时,所述第一值被设置为( -1)2 2 *(3 +1 + α);以及当该上一风险等级的安全风险评估值(Vlri)大于与上一风险等级相对应的风险等级值(η-1)时,所述第一值被设置为
5.如权利要求4所述的安全风险评估方法,其中所述第二值被设置为
6.如权利要求5所述的安全风险评估方法,其中所述基于所述最高风险等级的安全风险评估值来确定所述计算机的安全风险值Vh包括Vh=Vn-I。
7.如权利要求1-6中的任一个所述的安全风险评估方法,其中所述获取所述计算机中存在的一个或者多个安全漏洞的步骤包括通过以下方式中的一个或者多个来获取所述计算机中存在的一个或者多个安全漏洞 对所述计算机进行端口扫描、服务识别和操作系统识别。
8.如权利要求1-7中的任一个所述的安全风险评估方法,其中为所述一个或者多个安全漏洞中的每个分配风险等级(η)包括根据安全漏洞的漏洞利用方式、利用成功率、传播范围、危害程度和漏洞之间的依赖性中的一个或者多个来为该安全漏洞分配风险等级。
9.如权利要求8所述的安全风险评估方法,其中为所述一个或者多个安全漏洞中的每个分配风险等级(η)包括根据通用弱点评价体系来为每个安全漏洞分配风险等级(η)。
10.一种对计算机的安全风险进行评估的安全风险评估设备,包括漏洞获取装置,获取所述计算机中存在的一个或者多个安全漏洞;漏洞分级装置,根据安全漏洞的危险程度为所述一个或者多个安全漏洞中的每个分配风险等级(η),其中每个风险等级具有对应的风险等级值,且风险等级值越高,漏洞越危险; 以及主机风险确定装置,用于根据所述一个或者多个安全漏洞以及相应的风险等级来确定所述计算机的安全风险值,该主机风险确定装置包括初始值计算装置,用于为某个风险等级确定该风险等级的初始风险值(V"),该初始风险值取决于上一风险等级的安全风险评估值(Vlri)和是否存在属于该风险等级的安全漏洞;等级值计算装置,用于根据该风险等级的初始风险值(Vn, J来确定该风险等级的安全风险评估值(Vn),其中该风险等级的安全风险评估值还取决于属于该风险等级的安全漏洞数量(Nn);以及主机值确定装置,用于基于最高风险等级的安全风险评估值来确定所述计算机的安全风险值(Vh)。
全文摘要
本发明公开了对计算机的安全风险进行评估的安全风险评估方法,包括步骤获取计算机中存在的一个或者多个安全漏洞;根据安全漏洞的危险程度为每个安全漏洞分配风险等级;逐个等级地计算每个风险等级的安全风险评估值,直到计算了计算机中的安全漏洞所具有的最高风险等级为止;以及基于最高风险等级的安全风险评估值来确定所述计算机的安全风险值。本发明还公开了用于执行安全风险评估方法的安全风险评估设备。
文档编号G06F21/00GK102354355SQ20111029299
公开日2012年2月15日 申请日期2011年9月30日 优先权日2011年9月30日
发明者张增骏 申请人:北京神州绿盟信息安全科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1