1. 背景
CVSS(Common Vulnerability Scoring System)是一种用于衡量软件漏洞严重性的标准化方法,它通过多个维度(如攻击复杂度、影响范围等)对漏洞进行评分,从而为企业和组织提供了一个量化的风险评估工具。当前主要使用的CVSS为3.1版本,CVSS 3.1是CVSS的第三个版本,于2019年发布。它引入了一些新的评分因素,如机密性影响、完整性影响等,以更准确地评估漏洞对系统的威胁程度。然而,随着时间的推移,CVSS 3.1在某些方面暴露出了一些不足之处,例如评分系统的复杂性和部分评分因素的不明确性。为了解决这些问题,NIST在2023年7月发布了CVSS 4.0。CVSS 4.0在很多方面都进行了改进和优化,例如简化了评分体系、提高了评分准确性等。
本文将重点介绍CVSS 4.0与CVSS 3.1之间的主要区别,以及这些区别对企业和组织在网络安全管理方面的实际意义。
2. 通用漏洞评分系统CVSS简介
CVSS(Common Vulnerability Scoring System)是是由美国国家基础设施咨询委员会(National Infrastructure Advisory Council,NIAC)所发起的,用于评估网络安全漏洞的严重性的评分标准,现已成为网络安全领域广泛使用。它为安全专业人员提供了一种方法来定量地测量和比较不同漏洞的风险水平,NIAC后来将CVSS评分标准托管给FIRST(Forum of Incident Response and Security Teams)来维护。
由于网络安全形势的快速变化,CVSS标准从2004年问世到现在经过多次修订,已经更新了多个版本:
2005 CVSS v1
2007 CVSS v2
2015 CVSS v3.0
2019 CVSS v3.1
当前较为广泛应用的是CVSS V3.1版本,各大厂商的漏洞公告和NVD漏洞数据库都采用该版本。
NVD数据库漏洞评分体系
微软漏洞公告中漏洞评分体系
3. CVSS v3.1标准说明
CVSS v3.1评分标准主要包括三个指标组:
基本指标组(Base Metric Group)
主要用于计算基准评分,这部分的评价主要从漏洞的内在特性出发,这些特性通常不会随时间的推移或环境的改变而变化,从而来评价漏洞的严重性。
时间指标组(Temporal Metric Group)
这些指标描述了漏洞的额外条件,例如受影响系统的重要性、受影响用户的数量以及攻击的频率。
环境指标组(Environment Metric Group)
这些指标描述了特定于组织的环境中的漏洞影响。它包括受影响的系统、受影响数据的重要性和其他因素。
CVSS v3.1评分体系概览
CVSS v3.1评分标准将这些度量结合在一起,生成一个分数,该分数用于表示漏洞的风险级别。CVSS评分通常以0到10的分数范围内,0表示最低风险,而10表示最高风险。这些分数有助于组织决定如何分配资源来处理不同漏洞,以优先处理高风险漏洞并改善整体安全性。
通常,基本和时间度量分数由漏洞研究人员、安全产品供应商或应用程序供应商指定,因为它们通常拥有有关漏洞特征的最准确信息。环境指标由最终用户组织指定,因为他们最能够评估漏洞在其自己的计算环境中的潜在影响。通过增加“时间”和“环境”指标来优化基本分数,可以更准确地反映漏洞在特定时间点对用户环境造成的相对严重性。但对“时间”和“环境”指标进行评分不是必需的,但建议使用评分以获得更精确的分数。
CVSS v3.1 Score计算
3.1 基本指标组(Base Metric Group)
基本指标组是CVSS 3.1标准使用最广泛的一个衡量尺度,主要包括可利用性度量(Exploitability metirics)、影响范围度量(Scope)和影响度量(Impact metrics)。这里直接使用CVSS v3.1标准基本分数的计算器来说明该度量的具体指标:
Attack Vector:主要说明漏洞的利用前提条件
Attack Complexity:漏洞利用的难易程度
Privileges Required:漏洞触发是否需要特定权限
User Interaction:漏洞触发是否需要用户交互
Scope:漏洞触发后影响范围是否发生改变
Confidentiality:漏洞对保密性的影响
Integrity:漏洞对完整性的影响
Availability:漏洞对可用性的影响
3.2 时间指标组(Temporal Metric Group)
时间指标组反映了漏洞随着时间的推移而变化的一些特征,但不会跨用户环境变化。例如,简单易用的漏洞利用工具包的存在会增加 CVSS 分数,而官方补丁的创建会降低它。时间度量指标主要包括如下三个子指标:
Exploit Code Maturity
漏洞利用代码成熟度,代表当前漏洞的利用难度
Remediation Level
修复级别,表示解决或缓解漏洞所需的资源和时间
Report Confidence
报告置信度,表示评估漏洞严重性的信息的可靠性
下图为时间度量评分的计算依据:
3.3 环境指标组(Environment Metric Group)
环境指标组中,企业安全分析师能够根据受影响的 IT 资产对用户组织的重要性自定义 CVSS 分数,根据用户环境中现有的安全控制手段重新衡量机密性、完整性和可用性情况。其他指标则是基本指标组的等效项,并根据组织内部的具体情况分配值。
这部分指标和用户环境是相关的,不同用户环境下的环境指标分数都会有所不同。
4. CVSS V3.1存在的问题
尽管CVSS v3.1已经获得了广泛的使用,但是依然存在一些显而易见的问题而遭受部分安全从业者的批评,当前版本的CVSS主要存在的问题包括:
过分依赖基础评分
当前在应用CVSS 3.1标准时,主要使用的是其基础评分体系,而用于修正漏洞实际影响的时间性评分和环境评分基本上鲜有使用,目前笔者仅在微软漏洞公告中有发现时间评分和环境评分的使用。
过分强调漏洞的潜在影响,而未考虑漏洞利用的难易程度
目前对于漏洞评分,广泛使用的是CVSS 3.1的基础评分。而对于基本评分而言,其对漏洞利用的潜在影响关注度较高,而对于漏洞的实际可利用性和利用难度,或者说漏洞的上下文信息,考虑较少。譬如,同样是内存破坏型漏洞,堆溢出和栈溢出漏洞,同等条件下,利用难度显然完全不一样。同时,系统的安全缓解机制也会影响到漏洞的利用。但是目前的评分体系下,这些因素都没有体现,只关注漏洞利用后造成的影响程度。在这种评分体系下,一个不存在DEP/NX、ASLR机制条件下的栈溢出漏洞,和存在DEP/NX、ASLR机制的堆溢出漏洞,会得到同样的Impact Score,显然这是不够合理的,这使得采用CVSS评分来评估漏洞严重性会带来很大的误差。
缺乏对工控、自动化系统的影响考虑
当前的评分体系 ,主要关注的是传统的IT系统和软件,但是随着互联网技术不断向传统行业的渗透,网络安全的边界也在不断的拓宽。目前工控、物联网、自动化等领域的安全问题也层出不穷,而现有的CVSS评分体系并没有针对这些领域的漏洞特性有相关的考量,譬如工控领域的安全漏洞可能会造成人员伤亡或者环境的破坏,这些在当前的CVSS标准的Impact Metric中是无法体现的。
以上是当前CVSS评分体系存在的主要问题,当然还存在评分粒度不够细(0到10分的评分不是每个范围都能覆盖)、部分指标的定义不够明确或者不够细化等问题。
5. CVSS v4.0标准
5.1 新标准的变化
针对上述问题,CVSS 4.0标准主要进行了如下优化:
新标准强调了CVSS不仅仅只是基础评分
为了强调CVSS评分系统不仅仅只是基本评分,新标准提出了基础 (CVSS-B)、基础 + 威胁 (CVSS-BT)、基础 + 环境 (CVSS-BE) 和基础 + 威胁 + 环境 (CVSS-BTE) 的组合来评价一个漏洞。
添加了新的基本评分指标(Base Score Metric)
在基本评分中增加了Attack Requirements指标,同时细化了User Interaction指标
细化了基本评分中的影响指标(Impact Metric)
对于基本评分中的Impact metric,删除了具有歧义的“Scope”指标,并对机密性、完整性和可用性的影响拓展为两组(Vulnerable System 和Subsequent System的影响),分别代表漏洞对目标系统的影响和利用后对后续系统的影响。以对Subsequent System的影响替代原有的“Scope”属性。
将时间指标组(Temporal metric group)重命名为威胁指标组(Threat metric group)
进一步简化和明确的威胁指标
停用原有的修复级别 (RL) 和报告置信度 (RC)
将利用“代码”成熟度(Exploit "Code" Maturity)重命名为利用成熟度 (Exploit Maturity (E) ),并具有更明确指标值
增加了新的补充指标组,以表现漏洞的其他属性
但是这些新增加的属性不会影响最终的CVSS-BTE分数,具体包括如下指标
Safety (S) 安全
Automatable (A) 自动化
Recovery (R) 恢复
Value Density (V) 价值密度
Vulnerability Response Effort (RE)漏洞响应工作
Provider Urgency (U) 提供商紧急度
增加了对OT、ICS、安全性的考量
例如添加了影响用户评估安全性指标(Subsequent System Impact Metrics中的MSI:S和MSA:S)
供应商通过Supplemental Metrics的Safety指标来评估漏洞的安全性影响
5.2 CVSS v4.0标准说明
CVSS v4.0评分标准主要包括四个指标组组成:基础、威胁、环境和补充指标组,每个指标组由一组指标构成,如下图所示:
CVSS v4.0评分体系概览
对比CVSS v3.1指标组,可以看到威胁指标组相对其原型“时间”指标组大幅简化了,增加了补充指标组。下面最这几个指标组的主要变化进行说明。
5.2.1 基本指标组(Base Metric Group)
对于基本指标组的两个主要指标类可利用性指标和影响指标均有变化。如下所示是新的CVSS 基本评分计算明细项。
a. 可利用性指标的变化
对于可利用性指标,首先是优化了Attack Complexity指标的解释,对于需要克服DEP、ASLR等系统安全缓解措施才能成功实施漏洞利用的,明确视为其Attack Complexity为High。如下图所示为CVS v4.0标准的官方解读:
增加了Attack Requirements指标。这个指标其实是对v3.1版本的Attack Complexity指标的细化,代表漏洞利用是否可以不依赖于目标系统的部署或者执行环境。具体来说就是是否需要竞争条件或者中间人部署方式才能实施攻击。
b. 影响性指标的变化
首先是剔除了v3.1版本的Scope指标,然后将漏洞的影响性分为Vulnerable System Impact和Subsequent System impact。Vulnerable System具体指代的是漏洞存在的软件、模块或者驱动、硬件等,这部分的影响评分和CVSS v3.1应该是一致的。而Subsequent System则是指代漏洞利用之后,可以对其他的应用程序、硬件设备、网络资源甚至是人身安全的影响(但是如何评估对人身安全的保密、完整、可用性的影响?)。
5.2.2 威胁指标组(Threat Metric Group)
这一项指标来源于CVSS v3.1的时间指标组,不过目前大幅简化和明确了,只包含漏洞利用性指标,如下图所示:
具体的指标含义如下:
Not Defined (X)
无法使用可靠的威胁情报来确定漏洞利用成熟度特征
Attacked (A)
满足以下任意条件即可:已报告针对此漏洞的攻击(尝试或成功),存在(公开或者私密)能简化利用此漏洞的解决方案(例如利用工具包)
Proof-of-Concept (P)
不满足Attacked的条件但是存在漏洞利用的PoC
Unreported (U)
没有报告针对此漏洞的攻击(尝试或成功),不存在(公开或者私密)能简化利用此漏洞的解决方案并且不存在漏洞的PoC
5.2.3环境指标组(Environment Metric Group)
a. Environmental (Modified Base Metrics)
这部分指标都是依据Base Mertric Group修改而来,具体分为3部分:Exploitability Metric、Vulnerable System Impact Metrics、Subsequent System Impact Metrics。指标的计算方式具体如下图:
对比Base Metric最大的区别是在Subsequent System Impact的部分。这里没有使用常规的High、Low、None三个等级来评价对Confidentiality、Integrity、Availablity的影响,增加了Safety、Negligible等级。
Negligible
官方对于Negligible的解释如下图所示,实际上等效于之前的None。
Safety
这个指标用于衡量漏洞影响的系统是否会因为其部署的方式或者位置而产生安全影响。譬如对工控场景,对于生产设备的漏洞利用可能会造成机毁人亡。再比如对医疗健康设备,比如前几年报道的针对心脏起搏器的攻击,都是直接关乎人身安全的影响。而在CVSS v3.1版本中,这些漏洞的潜在影响无法体现。
官方对于该标准的说明如下图所示:
b. Environmental (Security Requirements)
这部分指标使分析师能够根据受影响的 IT 资产对用户组织的重要性(以机密性、完整性和可用性来衡量)定制结果分数。也就是说,如果 IT 资产视可用性最为重要的业务功能,则分析师可以为可用性指标(相对于机密性和完整性)分配更大的值。每个安全要求都有三个可能的值:Low、Medium或High。
注意这个指标的可能值没有None。每个指标具体的标准如下图所示:
5.2.4 补充指标组(Supplemental Metrics)
这是CVSS v4.0增加的一个全新的可选指标组,提供了描述和定量表示漏洞的其他外部属性的新指标。补充指标组中每个指标的使用由 CVSS 使用者确定。并且在不同的用户环境可能使用方式不一样,在该指标组内的任何指标都不会对最终计算的 CVSS 分数(例如 CVSS-BTE)产生影响。然后,组织可以分配每个指标或指标集合的重要性影响,从而对最终的风险分析的结果产生影响。
具体来说,该指标组包含如下指标:
Safety (S) 安全
当系统确实具有与安全相关的预期用途或目的适用性时,利用该系统内的漏洞可能会产生安全影响,这可以在补充指标组中表示。安全补充指标的可能值如下:
Present (P) | 该漏洞的后果符合 IEC 61508 后果类别“边缘”、“严重”或“灾难性”的定义 |
Negligible (N) | 该漏洞的后果符合 IEC 61508 后果类别“可忽略”的定义。 |
Automatable (A) 自动化
“自动化”指标表示了攻击者是否能够自动化的完成跨目标的漏洞利用。判别标准是能否自动完成Hutchins 等提出杀伤链的步骤1-4(侦察、武器化、投送和利用)。指标可以采用值 no 或 yes。
Recovery (R) 恢复
恢复指标描述了系统在遭受攻击后恢复服务的能力,包括性能和可用性。具体评估值如下:
Automatic (A) | 受到攻击后,系统自动恢复服务。 |
User (U) | 受到攻击后,系统需要用户手动干预来恢复服务 |
Irrecoverable (I) | 遭受攻击后,用户将无法恢复系统服务。 |
Value Density (V) 价值密度
价值密度描述了攻击者通过单个漏洞利用可以获得控制的资源。它有两个可能的值:Diffuse (D)和Concentrated (C):
Diffuse (D) | 包含漏洞的系统的资源有限。也就是说,攻击者通过单个利用事件获得控制的资源相对较小。此选项的一个例子是对单个电子邮件客户端漏洞的攻击。 |
Concentrated (C) | 包含漏洞系统的资源丰富。此类系统通常由“系统操作员”而不是用户直接负责。此选项的一个例子是对中央电子邮件服务器的攻击。 |
Vulnerability Response Effort (RE)漏洞响应工作
漏洞响应工作量指标的目的是提供补充信息,说明消费者对其基础设施中已部署产品和服务的漏洞影响提供初步响应的难度。这个指标有助于企业判断某个漏洞的响应难度。
Low (L) | 响应漏洞所需的工作量很小或微不足道。示例包括:更清晰的文档、配置解决方法的沟通,或者来自供应商的指导,不需要消费实体立即更新、升级或更换,例如防火墙过滤器配置。 |
Moderate (M) | 响应漏洞所需的操作需要付出一些努力,并且可能对实施造成的服务影响最小。示例包括:简单的远程更新、禁用子系统或低接触软件升级(例如驱动程序更新)。 |
High (H) | 响应漏洞所需的操作非常困难,并且可能会导致扩展的、预定的服务影响。示例包括:高特权驱动程序更新、微代码或 UEFI BIOS 更新或软件升级,需要在实施之前仔细分析和了解任何潜在的基础设施影响。不可修复的故障,例如不可启动的闪存子系统、磁盘或固态驱动器 (SSD) 故障、内存模块损坏、网络设备或其他在保修期内不可恢复的硬件。 |
Provider Urgency (U) 供应商漏洞紧急度
这个指标用于体现漏洞产品供应商对于该漏洞紧急程度的判别,同样利于企业进行漏洞的评级和管理。包括如下的可选值:
Red | 提供商已评估此漏洞的影响为最高紧急程度 |
Amber | 提供商已评估此漏洞的影响为中等紧急程度 |
Green | 提供商已评估此漏洞的影响,认为其紧迫性有所降低 |
Clear | 提供商已评估此漏洞的影响,认为没有紧迫性 |
6. 结语
CVSS4.0相对于CVSS3.1在安全漏洞管理方面进行了多项改进,包括引入新的评分机制、考虑依赖项、提供详细的漏洞描述和修复建议以及引入可利用性评分等。这些改进使得安全团队能够更准确地评估和处理漏洞,提高整体系统的安全性和可靠性。
参考链接
CVSS v3.1 Specification Document
https://www.first.org/cvss/v3.1/specification-document
CVSS v4.0 Specification Document
https://www.first.org/cvss/v4.0/specification-document
Common Vulnerability Scoring System Version 3.1 Calculator
https://www.first.org/cvss/calculator/3.1
Common Vulnerability Scoring System Version 4.0 Calculator
https://www.first.org/cvss/calculator/4.0#
欢迎大家关注馗安社,我们的成员简介(按姓氏拼音):
成员 | 简介 |
戴中印 | 7年甲方安全经验,目前在美团从事业务安全对抗、情报分析、黑灰产打击(前几年做过SDL+移动安全) |
黄金 | 安全研究员,主要研究方向为二进制漏洞自动化挖掘和利用以及工业控制系统安全研究,研究成果多次获得Siemens、Schneider、AutoDesk、SAP等安全致谢。 |
刘新 | 兰州大学信息科学与工程学院副教授,主要从事网络空间安全研究工作,研究成果多次登上 Black Hat、IJIM、MM 等顶级期刊或会议,并作为核心人员参与了国家重点研发计划子课题、国家自然科学基金项目、甘肃省重点研发计划等各类型科研项目十余项。 |
于长奇 | 字节跳动隐私合规专家,专注于移动端合规技术和解决方案。比如违规收集个人信息,自启动等。职业生涯曾从事过内核安全,java安全和api安全 |
杨坤 | 御林安全负责人,蚂蚁金服SRC ,美团SRC年度TOP白帽子,专注自动化漏洞挖掘和web3领域 |
赵永福 | 网商银行办公安全负责人,主要研究方向为可信纵深防御、信创安全研究、数据安全与合规 |
本期分享作者:js0huang,欢迎来撩。
声明:本文来自馗安社,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。