技术分享|软件安全漏洞严重性标准CVSS 4.0
发布时间:
2024-03-08 17:35
CVSS 是评估软件安全漏洞严重性的标准化框架,可根据可利用性、保密性、完整性、可用性和所需权限的影响等因素进行评分,或以低、中、高和关键几种等级定性,最终分数越高则表示漏洞越严重。这种评估方法可通过漏洞的影响来比较不同系统和软件的风险,有助于人们优先应对安全威胁。FIRST 方面表示:这一版修订后的评估标准为用户提供了更加精细的基础指标,消除了之前模糊的下游评分,简化了威胁指标,并提高了评估特定环境安全要求和补偿控制的有效性。此外,新版标准还增加了几个用于漏洞评估的补充指标,包括自动(可蠕虫)、漏洞响应力度和紧迫性等。2023 年 11 月 1 日事故响应与安全团队论坛(FIRST)正式发布了通用漏洞评分系统标准CVSS v4.0,这个全新版本距离上一版 CVSS v3.0 已经过去了八年。修订后的框架是网络安全漏洞领域的重大进展,也是克服先前方法中的弱点的解决方案。自2016年发布以来,CVSS 3已被证明是专业人士使用的强大评估工具,用于描述各种漏洞的潜在影响和风险级别,从而帮助组织和个人更好地保护自己免受网络威胁。七年后,CVSS 4.0 是下一次迭代,旨在提供更好的粒度并进一步完善评分方法,以更好地适应网络安全威胁和数字环境不断变化的动态。
01 CVSS4.0的变化
通过对 3.1 和 4.0 框架进行技术比较来分析将要引入的变化。
注意:每个定性严重性值的评分严重性级别/范围(低、中、高和严重)将保持不变。
02 攻击向量参数
新的攻击向量参数,除了融合了一些语义上的变化,暗示了更具包容性的规范(例如组件 vs 系统,或物理 vs 邻近),将实现与以前相同的目的。
因此,在使用 CVSS 4.0 评估漏洞时此参数的使用方式不会发生任何变化。
03 攻击复杂度参数
CVSS 3.1 的攻击复杂性参数将被拆分为攻击复杂性和攻击要求,以实现更细粒度的控制。 新的攻击复杂性参数旨在用于涉及“逃避或规避安全增强技术”的高度专业化攻击。 另一方面,攻击要求将涵盖成功利用“取决于启用攻击的易受攻击系统的特定部署和执行条件”的情况。
攻击复杂性和攻击要求之间的主要区别 源自启用攻击的特定条件的目的。根据规范文档,攻击要求将仅用于捕获新的攻击复杂性参数未涵盖的场景(即不用于规避缓解技术的场景)。 在开源生态系统中,我们确实期望此参数的使用率较低,因为攻击复杂性仅用于高度专业化的攻击。然而,攻击需求可能会出现更高的使用率,因为它将封装“由于易受攻击的系统的部署和执行而自然出现的情况”。
04 权限 必填参数
新的 Privileges Required 参数只包含了一些小的变化,旨在提供更清晰的解释并提供更简洁的措辞。参数的值也保持不变。 该参数用于评估漏洞的方式不会发生变化。
05 用户交互参数
在 CVSS 4.0 规范文档中可以观察到新的用户交互参数(或者更具体地说,其值)的显着变化。这将有助于更准确地评估攻击条件。 用户交互将有 3 个可能的值(与 CVSS 3.1 中的 2 个不同)。
1、无—该值包括通过强调人类用户来改进的定义。因此,每当“易受攻击的系统无需与攻击者以外的任何人类用户交互即可被利用”时,就可以使用此值。
2、被动—预期用途包括可以通过受害者采取的非自愿行为进行的攻击。
3、主动—与之前的情况相反,只要攻击依赖于受害者“与易受攻击的系统和攻击者的有效负载执行特定的、有意识的交互”,就会使用该值。或者,受害者的“交互会主动颠覆保护机制,导致漏洞被利用。”
这些添加内容将通过替换旧的用户交互值来促进更好地分布漏洞严重性。因此,该参数在漏洞评估过程中的使用将会发生变化。
06 CIA三元组
在CIA三元素中,除了一些微小的重新表述外,没有其他显著的修改,这些修改旨在保持规范文件定义的一致性。这些参数的使用很可能保持不变。
07 范围参数
Scope 参数将被后续系统影响指标取代,这将有利于更均匀的严重性分布,同时在评估漏洞影响时提供更准确的信息。 这一变化不仅会参数化范围的变化,还会精确指出对后续系统的影响。 新方法将改变漏洞评估流程,同时提供更精确的影响评估方法。
08 威胁指标
威胁指标也出现了显着变化,但我们将仅讨论漏洞代码成熟度。此参数将被重命名为利用成熟度,并将包含四个可能的值(而不是五个,功能值将被删除)。利用成熟度值的新定义已得到改进,现在包括必须满足才能证明使用合理的特定要求。
未定义-当“无法使用可靠的威胁情报来确定漏洞利用成熟度特征”时,应使用该值。
受攻击(之前为高)——每当1) 报告攻击或2) 漏洞利用已达到允许集成到各种解决方案(例如旨在简化和自动化的漏洞利用工具包)的成熟水平时,即可使用该值。
PoC—只要满足其中一项要求,就应使用:
1、“已公开提供概念验证。”
2、“不知道有关利用此漏洞的尝试的报道。”
3、“不知道用于简化利用该漏洞的尝试的公开信息。”
未报告-既不是PoC也不是Attacked, 但与Not Defined不同(用例适用于威胁情报可用的场景)。这些更改将修改漏洞利用成熟度参数的使用。
09 这些变化将如果影响用户?
除了上一节强调的内容之外,我们还将回顾三个漏洞示例,并尝试在解释过程的同时提供 CVSS 4.0 的评估。
影响 microsoft.chakracore 包版本 1.10.1 的远程代码执行
1、CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H — 7.5 高
2、CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:L/SI:L/SA:L — 7.6 高
攻击可以通过网络进行,因此AV:N。根据规范,只要绕过 ASLR 等保护,就应使用AC:H 。鉴于此漏洞的可用信息,我们认为它属于这种情况。没有指示低或高特权先决条件,因此PR:N。成功的利用取决于另一个人类用户的存在。然而,没有足够的证据表明用户需要主动与攻击者的有效负载进行交互,因此UI:P。鉴于“成功利用该漏洞的攻击者可以控制受影响的系统”,机密性和完整性都会受到影响,因此VC:H、VI:H和VA:N。 我们相信,影响也会反映在后续系统上,在本例中,即受害者的机器。然而,影响将取决于攻击者在受害者计算机上拥有的权限,因此SC:L、SI:L、SA:L。
影响 ipython 包版本 8.10.0 的远程代码执行
1、CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L — 4.2 中
2、CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N — 1.0 低
由于该包的目的,攻击只能在本地进行,因此AV:L。成功利用不需要绕过安全机制,但取决于操作系统和特定部署(默认情况下随 Python 安装附带的“ctypes”库必须被禁用)。此场景属于AC:L和AT:P。攻击者还需要访问本地环境,这意味着PR:L。受害者需要主动、有意识地与攻击者的有效负载进行交互,方法是在“Python 环境中的 Windows 环境中‘ctypes’不可用”上调用易受攻击的函数,这意味着UI:A . 根据此漏洞的现有信息,我们认为不会对漏洞系统内的 CIA 三合会产生影响,只会对后续系统产生影响。这是因为命令位于主机系统上,Python 安装本身不会直接受到影响。shell 命令也“仅限于当前进程的范围”,即SC:L和SI:L。由于没有证据表明后续系统的可用性受到影响,因此SA:N。
影响 org.jenkins-ci.plugins 的跨站点脚本:rundeck 包,版本 3.6.11
1、lCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N — 5.4 中
2、lCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N — 5.1 中
该攻击可以通过网络进行,不需要绕过“利用缓解技术”或任何特殊的部署配置即可成功,因此AV:N、AC:L和AT:N。然而,攻击者将依赖于活动帐户来实现该漏洞。由于这是一个存储的 XSS,这意味着受害者不需要对有效负载执行特定操作,因此UI:P。该影响将反映在后续系统中,因为攻击者可以读取或修改受害者浏览器中的数据,从而导致VC:N/VI:N/VA:N/SC:L/SI:L/SA:N。
我们可以立即观察到 CVSS 4.0 将改进漏洞评估流程。用户将能够更准确地查明安全影响,这有助于更好地确定安全问题的优先级。至于严重性分布,可以合理地预期 CVSS 4.0 由于粒度的增加将导致更平衡的分布。这种平衡将防止漏洞过度集中在特定严重性范围内。预计严重性评分较高的漏洞会更少,特别是因为 CVSS 4.0 将“保持每个定性严重性值的评分范围与 CVSS 3.1 相同”。
上一页
下一页
上一页
下一页