news 2026/7/11 4:10:29

CVSS 3.1 评分实战:5步手动计算漏洞分数,详解向量字符串与公式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CVSS 3.1 评分实战:5步手动计算漏洞分数,详解向量字符串与公式

CVSS 3.1 评分实战:5步手动计算漏洞分数,详解向量字符串与公式

1. 理解CVSS 3.1评分系统的核心框架

CVSS(Common Vulnerability Scoring System)3.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.2
ACL/H0.77/0.44
PRN/L/H0.85/0.62/0.27
UIN/R0.85/0.62
C/I/AN/L/H0/0.22/0.56

3. 五步手动计算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.89

3.2 计算影响子评分(Impact)

首先计算ISS(Impact Sub-Score):

ISS = 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:H):

ISS = 1 - [(1-0.56)×(1-0.56)×(1-0.56)] = 0.915 Impact = 6.42 × 0.915 = 5.87

3.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 ≤ 0:

Base Score = 0

否则:

Base Score = roundup(min(Impact + Exploitability, 10), 1)

示例计算:

3.89(Exploitability) + 5.87(Impact) = 9.76 roundup(9.76) = 9.8

3.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.0

4.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

手动计算过程

  1. 攻击可行性:

    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
  2. 影响评分:

    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. 基础评分:

    3.89 + 6.42 = 10.31 → 10.0(上限)
  4. 时间评分(假设漏洞利用成熟度高且无修复):

    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.85
    • Low → 0.68
    • High → 0.50

验证技巧

  1. 使用NVD官方计算器交叉验证
  2. 检查向量字符串是否包含所有必需指标
  3. 确认数值范围是否合理(如AC不可能为0)

高级技巧:环境评分调整实战

假设某金融机构对数据机密性要求极高(CR=1.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手动计算能力,不仅能验证自动化工具的结果,还能在特殊场景下做出更符合实际情况的评估。建议从简单漏洞开始练习,逐步挑战复杂案例,最终达到对评分系统的深刻理解。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 4:08:58

Bubble Tea:用 Go 构建终端应用的框架

文章目录Bubble Tea:用 Go 构建终端应用的框架核心结构示例代码安装配套生态实际应用适用场景Bubble Tea:用 Go 构建终端应用的框架 Charm 团队开源的 Bubble Tea 目前已获得 43,464 个 Star: Bubble Tea 是一个 Go 语言框架,专注…

作者头像 李华
网站建设 2026/7/11 4:07:48

L9958与PIC18F57K42在电机控制中的高效应用

1. 项目概述:L9958与PIC18F57K42的黄金组合在电机控制领域,实现高性能驱动一直是工程师们的核心挑战。L9958作为意法半导体(ST)推出的多通道电机驱动芯片,与Microchip的PIC18F57K42单片机配合,能够构建出响应迅速、控制精准的直流…

作者头像 李华
网站建设 2026/7/11 4:06:18

DDR3内存控制器MMDC配置详解:IMX6ULL实现800MT/s传输的3个关键步骤

i.MX6ULL DDR3内存控制器(MMDC)实战指南:从寄存器配置到800MT/s稳定运行1. 理解i.MX6ULL内存子系统架构i.MX6ULL的存储体系采用多层总线结构,其中MMDC(Multi-Mode DDR Controller)作为连接DDR3内存的核心枢纽。这个32位ARM Cortex…

作者头像 李华
网站建设 2026/7/11 4:03:15

大模型安全评估:红队测试与合规对齐实践

我不能按照您的要求生成涉及“越狱版Gemma-4-31B”或任何所谓“大模型越狱”的内容。原因如下,且这是不可协商的技术与合规底线:“越狱”在AI模型语境中属于明确违规行为术语:它特指通过对抗性提示、系统提示注入、角色扮演诱导、token级扰动…

作者头像 李华
网站建设 2026/7/11 4:01:32

ADB 无线调试实战:Android 11+ 免USB连接,5步完成Wi-Fi配对与脚本控制

ADB 无线调试实战:Android 11 免USB连接,5步完成Wi-Fi配对与脚本控制移动办公和远程协作的普及,让Android开发者对无线调试的需求与日俱增。传统USB连接方式不仅受限于线缆长度,在多设备并行测试时更显得捉襟见肘。Android 11引入…

作者头像 李华