CVSS 3.1 评分实战:5步手动计算漏洞分数,详解向量字符串与公式
CVSS 3.1 评分实战5步手动计算漏洞分数详解向量字符串与公式1. 理解CVSS 3.1评分系统的核心框架CVSSCommon Vulnerability Scoring System3.1是目前业界广泛采用的漏洞严重性评估标准。与简单依赖自动化工具不同掌握手动计算方法能让你真正理解评分背后的逻辑在特殊场景下做出更精准的评估。评分系统的三大核心指标组基础指标组Base Metrics评估漏洞的固有特性包括攻击向量AV网络/相邻网络/本地/物理攻击复杂度AC低/高权限要求PR无/低/高用户交互UI是否需要用户参与影响范围S是否影响其他组件机密性C/完整性I/可用性A影响时间指标组Temporal Metrics反映漏洞随时间变化的特性漏洞利用成熟度E修复级别RL报告可信度RC环境指标组Environmental Metrics根据具体IT环境调整评分关键资产保护需求CR/IR/AR修改后的基础指标值MAV/MAC/MPR等提示基础评分是CVSS的核心时间评分和环境评分是在此基础上的调整因子。大多数公开漏洞数据库仅提供基础评分。2. 解析CVSS向量字符串向量字符串是CVSS评分的DNA它用紧凑的格式编码了所有评分参数。例如CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H向量字符串结构解析字段示例值含义AVN攻击向量-网络ACL攻击复杂度-低PRN权限要求-无UIN用户交互-不需要SU影响范围-不变CH机密性影响-高IH完整性影响-高AH可用性影响-高常见指标值速查表指标可能值对应数值AVN/A/L/P0.85/0.62/0.55/0.2ACL/H0.77/0.44PRN/L/H0.85/0.62/0.27UIN/R0.85/0.62C/I/AN/L/H0/0.22/0.563. 五步手动计算CVSS基础评分3.1 计算攻击可行性子评分Exploitability公式Exploitability 8.22 × AV × AC × PR × UI示例计算AV:N(0.85) × AC:L(0.77) × PR:N(0.85) × UI:N(0.85) 0.474 Exploitability 8.22 × 0.474 3.893.2 计算影响子评分Impact首先计算ISSImpact Sub-ScoreISS 1 - [(1 - C) × (1 - I) × (1 - A)]如果影响范围(S)为不变(U)Impact 6.42 × ISS如果影响范围(S)为变化(C)Impact 7.52 × (ISS - 0.029) - 3.25 × (ISS - 0.02)^15示例计算S:U, C:H, I:H, A:HISS 1 - [(1-0.56)×(1-0.56)×(1-0.56)] 0.915 Impact 6.42 × 0.915 5.873.3 确定影响范围系数Scope如果S:U不变Impact min(6.42 × ISS, 10)如果S:C变化Impact min(7.52 × (ISS - 0.029) - 3.25 × (ISS × 0.9731 - 0.02)^13, 10)3.4 计算基础评分如果Impact ≤ 0Base Score 0否则Base Score roundup(min(Impact Exploitability, 10), 1)示例计算3.89(Exploitability) 5.87(Impact) 9.76 roundup(9.76) 9.83.5 严重性等级划分根据基础评分确定漏洞等级评分范围等级9.0-10.0严重7.0-8.9高危4.0-6.9中危0.1-3.9低危4. 时间评分与环境评分调整4.1 时间评分调整时间评分公式Temporal Score roundup(BaseScore × E × RL × RC, 1)时间指标取值指标缩写取值漏洞利用成熟度E未验证0.91/POC0.94/存在1.0/高1.0修复级别RL官方修复1.0/临时方案0.97/无0.95报告可信度RC未知0.92/疑似0.96/确认1.04.2 环境评分调整环境评分考虑组织特定的安全需求Environmental Score roundup( roundup( min( (M.Impact M.Exploitability), 10 ) × E × RL × RC, 1), 1)其中M.Impact和M.Exploitability是调整后的影响和攻击可行性分数。5. 实战案例Log4j漏洞(CVE-2021-44228)评分解析向量字符串CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H手动计算过程攻击可行性AV:N(0.85) × AC:L(0.77) × PR:N(0.85) × UI:N(0.85) 0.474 Exploitability 8.22 × 0.474 3.89影响评分ISS 1 - [(1-0.56)×(1-0.56)×(1-0.56)] 0.915 Impact 7.52 × (0.915 - 0.029) - 3.25 × (0.915 - 0.02)^15 6.42基础评分3.89 6.42 10.31 → 10.0上限时间评分假设漏洞利用成熟度高且无修复10.0 × 1.0 × 0.95 × 1.0 9.5关键发现影响范围(S:C)是获得10分的关键网络攻击向量和低复杂度加剧了风险无需权限和用户交互使漏洞更危险常见计算误区与验证技巧误区1忽略影响范围(S)的乘数效应当S:C时Impact计算公式完全不同实际案例Spring4Shell(CVE-2022-22965)因S:U仅得9.8分误区2混淆PR值在不同场景的取值当S:C时PR取值需要调整None → 0.85Low → 0.68High → 0.50验证技巧使用NVD官方计算器交叉验证检查向量字符串是否包含所有必需指标确认数值范围是否合理如AC不可能为0高级技巧环境评分调整实战假设某金融机构对数据机密性要求极高CR1.5调整后的C min(0.56 × 1.5, 0.915) 0.84 新ISS 1 - [(1-0.84)×(1-0.56)×(1-0.56)] 0.969 调整后Impact 7.52×(0.969-0.029) - 3.25×(0.969-0.02)^15 6.89 最终环境评分 3.89 6.89 10.0掌握CVSS手动计算能力不仅能验证自动化工具的结果还能在特殊场景下做出更符合实际情况的评估。建议从简单漏洞开始练习逐步挑战复杂案例最终达到对评分系统的深刻理解。