本文目录导读:

- CVSS 的三代版本
- CVSS 评分是如何计算的?(以 v3.1 为例)
- 常见评分等级 (Qualitative Severity Rating)
- 实际应用中的重要误区
- 如何查找一个 CVE 的 CVSS 分数?
CVSS(Common Vulnerability Scoring System,通用漏洞评分系统)是一个用于评估计算机软件安全漏洞严重性的公开框架,它帮助企业、安全团队和组织确定修复漏洞的优先级。
核心概念:CVSS 评分是一个 0 到 10 的数字,10 分代表最严重。
这个分数通常附带一个向量字符串(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H),详细说明了评分的依据。
CVSS 的三代版本
目前最常用的是 CVSS v3.x(目前最新稳定版是 v3.1),v2 已经过时,v4.0 已发布但尚未完全普及。
| 版本 | 主要特点 | 当前地位 |
|---|---|---|
| v3.x | 细分了攻击向量、用户交互、权限要求等,评分更精确 | 主流标准 (NVD, CVE 等) |
| v2 | 较简单,对本地攻击和网络攻击的区分不够细致 | 已弃用,但许多历史漏洞仍沿用此评分 |
| v4.0 | 引入了更多环境指标、自动化评估,减少主观性 | 最新版,正在逐步被采用 |
CVSS 评分是如何计算的?(以 v3.1 为例)
评分由三组指标组成,最终得分为 0-10。
基础指标 (Base Metrics) —— 核心分数 (0.0 - 10.0)
这是最重要的分数,由漏洞本身固有的特性决定,不随环境变化。
| 指标 | 缩写 | 选项 | 含义 (越高越严重) |
|---|---|---|---|
| 攻击向量 | AV | N (网络), A (相邻网络), L (本地), P (物理) | 攻击者能否远程利用?N > A > L > P |
| 攻击复杂度 | AC | L (低), H (高) | 攻击是否需要特殊条件?(如需要爆破、绕过措施)L > H |
| 权限要求 | PR | N (无), L (低), H (高) | 攻击前是否需要登录或管理员权限?N > L > H |
| 用户交互 | UI | N (无), R (需要) | 是否需要用户点击、打开文件等操作?N > R |
| 影响范围 | S | U (不变), C (已改变) | 漏洞是否能破坏组件隔离(如容器逃逸、虚拟机逃逸)?C > U |
| 机密性 | C | H (高), L (低), N (无) | 信息泄露的严重程度 |
| 完整性 | I | H (高), L (低), N (无) | 数据能否被篡改的严重程度 |
| 可用性 | A | H (高), L (低), N (无) | 服务是否会被中断的严重程度 |
示例向量: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- 解读: 无需认证的网络远程攻击,复杂度低,无需用户交互,能完全泄露、篡改数据并导致服务中断。
- 典型分数: 8 (Critical 严重)
时间指标 (Temporal Metrics) —— 可选,动态调整
随时间推移而变化。
- E (利用代码成熟度): 是否有公开的 PoC (概念验证) 或 exploit (漏洞利用)?
未证明 > 概念验证 > 功能性代码 > 完整武器化代码
- RL (修复级别): 官方是否已发布补丁?
官方补丁 > 临时缓解方案 > 变通方案 > 无可用方案
- RC (报告可信度): 漏洞报告是否可靠?
已确认 > 合理 > 未知
环境指标 (Environmental Metrics) —— 可选,按客户环境定制
根据特定组织的部署情况调整。
- CR/MR/AR (机密性/完整性/可用性要求): 如果这个资产涉及用户密码(机密性要求极高),或者它连接核电站(可用性要求极高),则分数会提升。
- MS (修改后的攻击向量/权限等): 如果漏洞看起来攻击向量是本地(L),但在你的环境里它暴露在公网(N),则评分需提高。
最终公式: Base Score + Temporal Score 调整 + Environmental Score 调整 = 最终得分 (0-10)
常见评分等级 (Qualitative Severity Rating)
| 分数范围 | 等级 | 含义 |
|---|---|---|
| 0 - 10.0 | CRITICAL (严重) | 远程、未授权、完全控制,常出现于“零点击”漏洞 |
| 0 - 8.9 | HIGH (高危) | 通常可远程利用,影响严重,但可能有权限或交互要求 |
| 0 - 6.9 | MEDIUM (中危) | 利用条件较苛刻,或只造成部分影响(如信息泄露) |
| 1 - 3.9 | LOW (低危) | 很难利用,或几乎无实际影响 |
| 0 | NONE (无) | 无安全影响 |
实际应用中的重要误区
-
CVSS 分数 ≠ 业务风险。
- 一个 CVSS 10.0 的漏洞,如果影响的是你内网里一台已废弃的打印机,它的业务风险可能低于一个 CVSS 7.5 但影响了你的核心支付网关的漏洞。
- 关键: 必须结合 环境指标和业务上下文 来判断修复优先级。
-
不是所有 10 分都一样。
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H(9.8分) 和CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H(10.0分) 只差一个S:C(影响范围已改变,例如容器逃逸),这个 0.2 分的差距在现实世界中可能天差地别。
-
CVSS 不是评分唯一来源。
- 很多漏洞披露(如 CVE)会给出 CVSS 分,但一些组织(如微软)有自己的评分系统(如 Severity: Critical / Important / Moderate),不要直接对比。
- CISA KEV (已知被利用漏洞目录) 比 CVSS 分数更能指导紧急修复优先级。
如何查找一个 CVE 的 CVSS 分数?
最权威来源是 NVD (National Vulnerability Database):
- 访问
https://nvd.nist.gov/ - 搜索 CVE 编号(
CVE-2024-xxxxx) - 在页面中找到 CVSS Severity 部分,注意查看默认的是 CVSS v3.1 评分(包括基础、时间、环境),NVD 通常会给出一个官方基础评分,但不包含针对你环境的环境评分。
- 快速判断: 看数字(0-10)和等级(Critical/High/Medium)。
- 深入理解: 看向量字符串,了解到底是什么导致了高分。
- 做事原则: 永远不要仅凭 CVSS 分数来决定修复优先级,必须结合你的业务上下文、资产重要性、威胁情报(是否在野被利用) 和可利用性(是否有公开 PoC)。
想深度了解 CVSS v4.0 的具体变化,或者想了解针对某个特定 CVE 的评分细节,可以直接告诉我。