漏洞的级别定义主要从两个维度进行判断;
1、可利用性
2、影响性
可利用性指标
可利用性指标组刻画脆弱性组件(即包含漏洞的事物)的特征,反映漏洞利用的难易程度和技术要求等。可利用性指标组包含四个指标,分别是攻击途径、攻击复杂度、权限要求和用户交互。每一个指标的取值都应当根据脆弱性组件进行判断,并且在判断某个指标的取值时不考虑其他指标。
攻击途径
该指标反映攻击者利用漏洞的途径,指是否可通过网络、邻接、本地和物理接触等方式进行利用。
攻击途径的赋值如下:
(1)网络:脆弱性组件是网络应用,攻击者可以通过互联网利用该漏洞。这类漏洞通常称为“可远程利用的”,攻击者可通过一个或多个网络跳跃(跨路由器)利用该漏洞。
(2)邻接:脆弱性组件是网络应用,但攻击者不能通过互联网(即不能跨路由器)利用该漏洞,只能在共享的物理(如,蓝牙、IEEE 802.11)或逻辑(如,本地IP子网)网络内利用该漏洞。
(3)本地:脆弱性组件不是网络应用,攻击者通过读/写操作或运行应用程序/工具来利用该漏洞。有时,攻击者需要本地登录,或者需要用户执行恶意文件才可利用该漏洞。当漏洞利用时需要用户去下载或接受恶意内容(或者需要本地传递恶意内容)时,攻击途径取值为“本地”。
(4)物理:攻击者必须物理接触/操作脆弱性组件才能发起攻击。物理交互可以是短暂的也可以是持续的。
攻击复杂度
该指标反映攻击者利用该漏洞实施攻击的复杂程度,描述攻击者利用漏洞时是否必须存在一些超出攻击者控制能力的软件、硬件或网络条件,如软件竞争条件、应用配置等。对于必须存在特定条件才能利用的漏洞,攻击者可能需要收集关于目标的更多信息。在评估该指标时,不考虑用户交互的任何要求。
攻击复杂度的赋值如下:
(1)低:不存在专门的访问条件,攻击者可以期望重复利用漏洞。
(2)高:漏洞的成功利用依赖于某些攻击者不能控制的条件。即,攻击者不能任意发动攻击,在预期成功发动攻击前,攻击者需要对脆弱性组件投入一定数量的准备工作。包括如下一些情况:
攻击者必须对目标执行有针对性的调查。例如,目标配置的设置、序列数、共享秘密等。
攻击者必须准备目标环境以提高漏洞利用的可靠性。例如,重复利用以赢得竞争条件,或克服高级漏洞利用缓解技术。
攻击者必须将自己注入到攻击目标和受害者所请求的资源之间的逻辑网络路径中,以便读取和/或修改网络通信(如,中间人攻击)。
在攻击复杂度取值为“高”的描述中,对攻击者在成功发动攻击前所做的准备工作没有进行定量的描述,只要攻击者必须进行一些额外的努力才能利用这个漏洞,攻击复杂度就是“高”,如漏洞利用时需要配置其他的特殊状态,需要监视或者改变受攻击实体的运行状态等。如果漏洞利用时所需要的条件要求不高,例如只需构造一些简单的数据包,则攻击复杂度为“低”。
权限要求
该指标反映攻击者成功利用漏洞需要具备的权限层级,即利用漏洞时是否需要拥有对该组件操作的权限(如管理员权限、guest权限)。
权限要求的赋值如下:
(1)无:攻击者在发动攻击前不需要授权,执行攻击时不需要访问任何设置或文件。
(2)低:攻击者需要取得普通用户权限,该类权限对脆弱性组件有一定的控制能力,具有部分(非全部)功能的使用或管理权限,通常需要口令等方式进行身份认证,例如,操作系统的普通用户权限、Web等应用的注册用户权限。
(3)高:攻击者需要取得对脆弱性组件的完全控制权限。通常,该类权限对于脆弱性组件具有绝对的控制能力,例如,操作系统的管理员权限,Web等应用的后台管理权限。
用户交互
该指标反映成功利用漏洞是否需要用户(而不是攻击者)的参与,该指标识别攻击者是否可以根据其意愿单独利用漏洞,或者要求其他用户以某种方式参与。
用户交互的赋值如下:
(1)不需要:无需任何用户交互即可利用漏洞。
(2)需要:漏洞的成功利用需要其他用户在漏洞被利用之前执行一些操作(打开某个文件、点击某个链接、访问特定的网页等)。
例5 假设某个漏洞只能在系统管理员安装应用程序期间才可能被利用。对于这种情况,用户交互是“需要”。
影响性
影响性指标组反映漏洞成功利用后所带来的危害。漏洞的成功利用可能危害一个或多个组件,影响性指标组的分值应当根据遭受最大危害的组件进行评定。
影响性指标组包括三个指标,分别是机密性影响、完整性影响和可用性影响。
机密性影响
这个指标度量漏洞的成功利用对信息资源的机密性的影响。机密性指只有授权用户才能访问受保护的信息资源,限制向未授权用户披露受保护信息。机密性影响是指对受影响服务所使用的数据的影响,例如,系统文件丢失、信息暴露等。
机密性影响的赋值如下:
(1)高:机密性完全丢失,导致受影响组件的所有资源暴露给攻击者。或者,攻击者只能得到一些受限信息,但是,暴露的信息可以导致一个直接的、严重的信息丢失。例如,攻击者获得了管理员密码、Web服务器的私有加密密钥等。
(2)低:机密性部分丢失。攻击者可以获取一些受限信息,但是攻击者不能控制获得信息的数量和种类。披露的信息不会引起受影响组件直接的、严重的信息丢失。
(3)无:受影响组件的机密性没有丢失,攻击者不能获得任何机密信息。
机密性影响为“高”表示攻击者能够获得受影响组件的全部信息,或者攻击者能够获得他想要的任何信息。或者,利用得到的部分信息能够进一步获得他想要的任何信息。
机密性影响为“低”表示攻击者只能获得部分受限信息,不能任意获取信息。利用得到的部分信息也不能进一步获得任意信息。
机密性影响
这个指标度量漏洞的成功利用给完整性造成的影响。完整性指信息的可信性与真实性,如果攻击者能够修改被攻击对象中的文件,则完整性受到影响。完整性是指对受影响服务所使用的数据的影响。例如,Web内容被恶意修改,攻击者可以修改/替换文件等。
完整性影响的赋值如下:
(1)高:完整性完全丢失,或者完全丧失保护。例如,攻击者能够修改受影响组件中的任何文件。或者,攻击者只能修改一些文件,但是,恶意的修改能够给受影响组件带来直接的、严重的后果。
(2)低:攻击者可以修改数据,但是不能控制修改数据造成的后果,或者修改的数量是有限的。数据修改不会给受影响组件带来直接的、严重的影响。
(3)无:受影响组件的完整性没有丢失,攻击者不能修改受影响组件中的任何信息。
完整性影响为“高”表示攻击者能够修改/替换受影响组件中的任何文件,或者攻击者能够修改/替换他想修改的任何信息。或者,攻击者能够修改/替换一些关键信息,如管理员密码。
完整性影响为“低”表示攻击者只能修改/替换部分文件,不能任意修改/替换文件,也不能修改/替换关键文件。
可用性影响
这个指标度量漏洞的成功利用给受影响组件的性能带来的影响。机密性影响和完整性影响反映漏洞的成功利用对受影响组件数据的影响。例如,网络内容被恶意修改(完整性受影响),或系统文件被窃(机密性受影响)。可用性影响反映漏洞的成功利用对受影响组件操作的影响。
可用性影响的赋值如下:
(1)高:可用性完全丧失,攻击者能够完全拒绝对受影响组件中资源的访问。或者,攻击者可以拒绝部分可用性,但是能够给受影响组件带来直接的、严重的后果。例如,尽管攻击者不能中断已存在的连接,但是能够阻止新的链接;攻击者能够重复利用一个漏洞,虽然每个利用只能泄露少量的内存,但是重复利用可以使一个服务变得不可用。
(2)低:攻击者能够降低资源的性能或者中断其可用性。即使能够重复利用这个漏洞,但是攻击者也不能完全拒绝合法用户的访问。受影响组件的资源是部分可用的,或在一些时候是完全可用的,但总体上不会给受影响组件带来直接的,严重的后果。
(3)无:受影响组件的可用性不受影响,攻击者不能降低受影响组件的性能。
评分与评级
(一)可利用性指标组的评分
可利用性指标组中各个指标的不同取值的组合有不同的评分。
(二)影响性指标组的评分
影响性指标组中各个指标的不同取值的组合有不同的评分。
漏洞评分与分级
漏洞的危害可采用评分或分级的方式进行评价,漏洞的评分由可利用性指标组的评分和影响性指标组的评分两部分共同组成,漏洞的危害等级可根据其评分进行划分。
漏洞的分值在0到10之间,漏洞的评分规则如下:
(1)如果 可利用性评分 + 影响性评分 > 10,漏洞评分 = 10
(2)漏洞评分 = 可利用性评分 + 影响性评分
(3)漏洞分值保留到小数点后1位,如果小数点后第二位的数字大于0,则小数点后第一位数字加1。
CNNVD将漏洞的危害级别划分为四个等级;
以上总结整理自CNNVD漏洞分级规范