本文目录导读:

这是一个很专业且实用的问题,CVSS(通用漏洞评分系统)是信息安全领域评估漏洞严重程度的标准,解读CVSS不仅仅是看最后的分数,而是要理解其背后的向量,这样才能真正了解漏洞的风险。
下面我为你系统地解读CVSS,主要基于最新的CVSS v3.1版本(以及即将普及的v4.0)。
核心概念:分数不是全部,向量才是灵魂
CVSS评分由三组指标组成:基础指标、时间指标和环境指标,最终得分是这三者综合计算的结果。
- 基础指标(Base Score):最核心、最通用,描述漏洞固有的、不随时间或环境改变的特性。
- 时间指标(Temporal Score):描述随时间变化的因素,如漏洞利用代码是否公开、是否有补丁。
- 环境指标(Environmental Score):描述特定用户环境的影响,如受影响系统的资产价值、安全控制措施等。
通常我们看到的CVSS分数(例如7.5)是基础分,完整的CVSS会呈现为一个向量字符串,
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
解读这个向量的过程,就是理解漏洞真正风险的过程。
深度解读:CVSS v3.1 基础指标(Metrics)
基础指标是核心,包含以下8个部分(按向量顺序):
AV:攻击向量(Attack Vector)
衡量攻击者需要多近的距离才能发起攻击。
- N(网络):最严重,可通过互联网远程利用。
- A(相邻网络):需要在同一局域网或物理相邻。
- L(本地):需要本地访问权限(如登录到系统)。
- P(物理):需要接触设备(如插U盘)。
AC:攻击复杂度(Attack Complexity)
衡量攻击所需的条件和难度。
- L(低):攻击者可以预期成功利用,无需特殊条件。
- H(高):需要特殊条件(如竞态条件、特定配置)。
PR:权限要求(Privileges Required)
衡量攻击者在利用前需要的权限等级。
- N(无):无需任何权限。
- L(低):只需要普通用户权限。
- H(高):需要管理员或root权限。
UI:用户交互(User Interaction)
是否需要受害者参与。
- N(无):无需用户操作(如蠕虫)。
- R(需要):需要用户点击链接、打开文件等。
S:影响范围(Scope)
攻击是否可能影响不同安全域或权限组。
- U(不变):攻击只能影响被攻击组件本身。
- C(改变):攻击可影响超出原组件权限的其他资源(如从Web服务器入侵数据库服务器)。
C、I、A:机密性、完整性、可用性(Confidentiality, Integrity, Availability)
这是漏洞的直接影响。
- H(高):完全丧失(如数据泄露、系统瘫痪)。
- L(低):部分影响(如非关键数据泄露、轻微性能下降)。
- N(无):不影响。
计算示例(回顾向量)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
解读:
- AV:N:可远程攻击。
- AC:L:攻击容易,无需特殊条件。
- PR:N:无需任何权限。
- UI:N:无需用户交互。
- S:U:影响范围不变(只影响被攻击的应用/系统)。
- C:H:机密性完全丧失(数据泄露)。
- I:N:完整性无影响。
- A:N:可用性无影响。
计算结果: 这是一个 5分 (HIGH) 漏洞,原因:虽然利用门槛极低,但影响只限于机密性,且范围不变。
如果我们将 S:U 改为 S:C(影响范围改变,如从Web应用攻入数据库),分数会直接飙升至 8分 (CRITICAL)。
CVSS 等级划分
- None (0.0):无风险。
- Low (0.1 - 3.9):低风险,通常需要物理接触或高权限。
- Medium (4.0 - 6.9):中等风险,需要一定条件(如用户交互、特定配置)。
- High (7.0 - 8.9):高风险,容易被利用,影响较大。
- Critical (9.0 - 10.0):极危风险,通常可远程、无权限、无需交互,且影响大(如RCE、SQL注入、反序列化漏洞)。
如何在实际工作中使用CVSS?
- 不要只看分数,要看向量。 一个8.5分的漏洞,如果AV是L(本地),其真实威胁远低于一个7.5分但AV是N(网络)的漏洞。
- 结合业务环境。 一个对外暴露的Web服务(如官网)上的7.0分漏洞,其环境风险远高于内网数据库服务器上的8.0分漏洞,这时需要使用环境指标重新计算。
- 关注时间指标。 当漏洞的POC(概念验证代码)或EXP(利用代码)公开后,其时间分会上升,需要立即提高处理优先级。
- CVSS是参考,不是绝对标准。 它不评估被攻击资产的业务价值,一个影响核心交易系统的7.0分漏洞,可能比影响边缘业务的9.8分漏洞更需要优先修复。
- 警惕“分数膨胀”。 部分漏洞(如提供完整EXP的JNDI注入)虽评分可能不最高,但实际利用链极广,需特殊对待。
CVSS v4.0 即将到来(2024年更新)
CVSS v4.0 在v3.1基础上做了重要改进,主要变化包括:
- 新增指标:
Safety(物理安全影响)、Automatable(是否可自动化批量利用)、Recovery(恢复复杂性)。 - 细化攻击复杂度: 增加了
Environmental维度的复杂度选项。 - 改进评分逻辑: 对部分组合(如低权限 + 高影响)的评分更合理,避免v3.1中某些低可信度漏洞被过度评分。
- 标准化CVSS向量字符串格式: 更清晰。
未来一旦CVSS v4.0成为主流,解读方式类似,但需要额外关注新指标。
要正确解读CVSS,你可以按这个思路来:
- 看分数(确定紧急程度等级)。
- 看向量字符串(理解利用难度、权限要求、影响范围)。
- 问自己三个问题:
- 它需要什么条件?(网络?权限?用户交互?)
- 它破坏什么?(数据泄露?系统瘫痪?篡改结果?)
- 它影响的范围有多大?(单个应用?整个网络?)
- 结合你的环境(资产价值、暴露面、已有防御措施)进行判断。
最理想的修复优先级排序公式是: 优先级 ≈ CVSS向量风险(Critical/High) × 业务影响程度(High) × 可利用性(Exploitable)
希望这个解读对你有所帮助,如果你有具体的CVSS向量需要分析,也可以发给我一起讨论。