0Pricing
Security+ Academy · 课时

CVSS 评分与漏洞优先级排序

学习通用漏洞评分系统如何评定严重程度,以及安全团队如何利用评分确定修补和修复工作的优先级。

CVSS 评分与漏洞优先级排序 是 CoddyKit 上的免费 Security+ Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Security+ Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Security+ Academy 课程共包含 4 节课。

为什么 Vulnerability Prioritization 很重要

运行 Vulnerability 扫描后,组织可能会在其 Systems 中发现数百甚至数千个 Vulnerabilities。试图 IMMEDIATELY 修补所有问题既不可行,也不具备战略意义——资源是有限的,而且并非所有 Vulnerabilities 都具有同等风险。Vulnerability Prioritization 是按照 Vulnerabilities 对组织的实际风险进行排序的过程,以便优先处理最危险的问题。有效的优先级排序可以避免一种常见错误:在某个 CRITICAL 的远程代码执行 Vulnerability 还在排队等待处理时,却先去修补次要的表面问题。

什么是 CVSS

Common Vulnerability Scoring System (CVSS) 是一个开放 Framework,用于提供标准化的数值 Score(0.0-10.0),表示安全 Vulnerability 的严重程度。CVSS 由 FIRST(Forum of Incident Response and Security Teams)维护,是 NVD(National Vulnerability Database)使用的主要评分系统。当前版本 CVSS v3.1 根据三组指标计算 Score:Base(Vulnerability 的固有特征)、Temporal(会随时间变化的因素)和 Environmental(特定于组织的修正因素)。只有 Base Score 是必需的,其余指标用于可选的细化评估。

# CVSS v3.1 severity ratings:
# 0.0:        None
# 0.1-3.9:    Low
# 4.0-6.9:    Medium
# 7.0-8.9:    High
# 9.0-10.0:   Critical

# Example CVSS scores:
# EternalBlue (CVE-2017-0144):   9.8 Critical
# Heartbleed (CVE-2014-0160):    7.5 High
# Log4Shell (CVE-2021-44228):    10.0 Critical
# Shellshock (CVE-2014-6271):    9.8 Critical

CVSS Base Score 指标:Attack 特征

Base Score 根据两组指标计算。Exploitability 指标描述 Vulnerability 的攻击方式:Attack Vector (AV)——Network(远程)、Adjacent、Local 或 Physical;Attack Complexity (AC)——Low 或 High;Privileges Required (PR)——None、Low 或 High;User Interaction (UI)——None 或 Required。能够通过 Network 攻击、无需身份验证且无需 User 交互的 Vulnerability,其 Exploitability 得分最高(AV:N/AC:L/PR:N/UI:N)。这些因素会与 Impact 指标结合,生成 Base Score。

# CVSS v3.1 Base Score vector string anatomy:
# CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
#
# AV:N  = Attack Vector: Network (exploitable remotely)
# AC:L  = Attack Complexity: Low (no special conditions)
# PR:N  = Privileges Required: None (no auth needed)
# UI:N  = User Interaction: None (no victim action needed)
# S:U   = Scope: Unchanged
# C:H   = Confidentiality Impact: High
# I:H   = Integrity Impact: High
# A:H   = Availability Impact: High
# -> Score: 9.8 Critical

CVSS Base Score 指标:Impact

Impact 指标衡量 Vulnerability 被 Exploited 后对 CIA 三元组的三个维度造成的后果。Confidentiality Impact (C)——None、Low 或 High(可能泄露多少数据)。Integrity Impact (I)——None、Low 或 High(可能修改多少数据)。Availability Impact (A)——None、Low 或 High(可能造成多大程度的服务中断)。Scope (S)——Unchanged 或 Changed(Vulnerability 的影响是否会超出 Vulnerable 组件,波及其他组件或 Systems)。Scope 为 Changed 意味着成功 Exploited 的 Vulnerability 可以影响其初始 Scope 之外的 Systems,从而显著提高 Score。

# Impact metric examples:
# C:H (High) - attacker can read all files on system (root access)
# C:L (Low)  - attacker can read some files, not all
# I:H (High) - attacker can modify any data or configuration
# A:H (High) - system becomes completely unavailable

# Scope changed (S:C) example:
# CVE-2015-4852 (WebLogic deserialization):
# Exploiting WebLogic (AV:N) grants RCE on the OS
# The impact goes BEYOND WebLogic to the entire OS -> S:C

CVSS Temporal 指标

Temporal 指标根据会随时间变化的因素调整 Base Score。Exploit Code Maturity (E)——是否存在可运行的 Exploit(Unproven、Proof-of-Concept、Functional、High)。拥有公开可用的武器化 Exploit 的 Vulnerability,比没有已知 Exploit 的 Vulnerability 更紧迫。Remediation Level (RL)——Official Fix、Temporary Fix、Workaround 或 Unavailable。相较于没有修复方案的 Vulnerability,拥有供应商 Official Fix 的 Vulnerability 紧迫性较低。Report Confidence (RC)——Unknown、Reasonable 或 Confirmed。经过 Confirmed 且被广泛复现的 Vulnerability,其评级比未经 Confirmed 的报告更可靠。

# CVSS v3.1 Temporal metric effects on score:
# Base Score: 9.8 Critical

# With Temporal metrics:
# E:U  (No public exploit) -> score adjusted down
# RL:O (Official fix available) -> score adjusted down
# RC:C (Confirmed vulnerability) -> no change
# Temporal Score: 8.5 High

# Note: After a PoC exploit is released:
# E:P  (PoC available) -> temporal score rises
# After weaponized exploit in the wild:
# E:H  (High) -> temporal score near Base Score again

CVSS Environmental 指标

Environmental 指标允许组织根据自身具体环境定制 CVSS Score。Modified Base Metrics允许组织修改任意 Base 指标,以反映其环境(例如,某个可通过 Network 访问的 Vulnerability,如果在组织的具体配置中该服务只能本地访问,其 AV 可能为 AV:L)。CIA Requirement值(Low、Medium、High)反映每个 CIA 维度对组织的重要性——对于患者监护 Systems,医院可能将 Availability 评为 High;而研究机构可能最重视 Confidentiality。Environmental 评分使 CVSS 能结合具体环境,从而更适合实际的优先级决策。

# Environmental score example:
# Vulnerability: CVE-XXXX, CVSS Base: 7.5 High
# AV:N (network accessible in vendor description)

# Your environment: this service is on an air-gapped network
# MAV:L (Modified Attack Vector: Local)
# Your Environmental Score: 5.0 Medium

# Another example:
# Your system stores highly sensitive PII
# CR:H (Confidentiality Requirement: High)
# MCR modifier raises your Environmental Score above Base

CVE、CWE 和 NVD

有三个相关系统与 CVSS 协同工作。CVE (Common Vulnerabilities and Exposures) 是公开已知安全 Vulnerabilities 的列表,每个 Vulnerability 都有唯一标识符(CVE-2021-44228 就是 Log4Shell)。CWE (Common Weakness Enumeration) 对软件 Weakness 的类型进行分类(CWE-79 是 XSS,CWE-89 是 SQL 注入)——它分类的是根本原因,而不是某个具体实例。NVD (National Vulnerability Database) 会为 CVE 条目补充 CVSS Scores、参考资料、受影响产品范围和修复链接。安全团队会 Subscribe NVD 和供应商安全公告,以便接收与其软件资产清单相关的新 CVEs 通知。

# Relationships:
# CWE (weakness type) -> CVE (specific instance) -> CVSS (severity score)

# Example:
# CWE-89: Improper Neutralization of SQL Commands (SQL Injection)
#   -> CVE-2022-22963: Spring Framework expression injection
#   -> CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H -> 9.8 Critical

# Look up CVEs:
curl https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2021-44228

# Subscribe to NVD notifications: nvd.nist.gov/general/news

超越 CVSS:基于风险的优先级排序

CVSS Scores 只表示孤立情况下的技术严重程度,不会考虑组织环境。基于风险的优先级排序会根据以下因素调整修复紧迫性:资产重要性(CRITICAL ERP System 的优先级高于测试服务器)、在实际环境中的可 Exploit 性(CISA 的 KEV——Known Exploited Vulnerabilities 目录——列出正在被主动 Exploited 的 CVEs)、暴露程度(Vulnerable System 是否面向 Internet),以及补偿性控制措施(是否有 WAF 阻断攻击路径)。一个面向 Internet、承载关键业务且存在公开 Exploit 的 System 上的 CVSS 7.5 Vulnerability,可能远比隔离的内部测试服务器上的 CVSS 9.0 Vulnerability 更紧迫。

# CISA Known Exploited Vulnerabilities (KEV) catalog:
# https://www.cisa.gov/known-exploited-vulnerabilities-catalog
# CISA mandates federal agencies patch KEV entries within deadlines:
# Active exploitation = highest priority regardless of CVSS base score

# Prioritization matrix example:
# Priority = CVSS_Score x Asset_Criticality x Exposure x Exploit_Available
# High CVSS + High Criticality + Internet-Facing + KEV Listed
#   = Patch IMMEDIATELY (hours, not days)

# Low CVSS + Low Criticality + Internal Only + No exploit
#   = Include in next patch cycle

Vulnerability Prioritization Frameworks

一些 Frameworks 和工具可以增强基于 CVSS 的优先级排序。EPSS (Exploit Prediction Scoring System)利用威胁情报数据进行机器学习,估算某个 CVE 在未来 30 天内被实际 Exploited 的概率。High EPSS + High CVSS = 最高优先级。SSVC (Stakeholder-Specific Vulnerability Categorization) 是由 CISA/Carnegie Mellon 提出的决策树,会考虑 Exploitation 状态、对安全和关键基础设施的 Impact,以及该 System 是否为任务关键 System。这些 Frameworks 帮助组织不再只是按照 CVSS Score 排序,而是做出真正基于风险的修复决策。

# EPSS (Exploit Prediction Scoring System):
# Score: 0.0 to 1.0 (probability of exploitation in 30 days)
# Source: first.org/epss

# Combined prioritization:
# CVSS 9.8 Critical + EPSS 0.97 (97% exploit probability) = CRITICAL
#   -> Patch in hours
# CVSS 9.8 Critical + EPSS 0.01 (1% exploit probability) = HIGH
#   -> Patch this week
# CVSS 4.0 Medium + EPSS 0.95 + KEV listed = CRITICAL
#   -> Patch in hours despite medium CVSS

# Lesson: CVSS alone is insufficient; context matters

向 Manager 传达风险

安全专业人员必须将技术性的 CVSS Scores 转化为 Manager 在决策时能够理解的业务语言。不要说“我们的公共 Web 服务器上存在一个 CVSS 9.8、无需身份验证的 RCE”,而应说:“Internet 上的攻击者无需任何凭据就能完全控制面向客户的网站,并可能访问全部 500,000 条客户记录以及我们的支付处理 System——我们需要在 24 小时内应用供应商 Patch,或让该服务器下线。”围绕业务 Impact(面临风险的数据、财务损失、监管后果)进行说明,比单独提供原始 Scores 更能推动高管快速决策。

与 Patch 管理集成

只有与有效的 Patch 管理流程相连接时,Vulnerability Prioritization 才能发挥价值。Vulnerability 管理生命周期包括:Identify(扫描)、Analyze(CVSS + 环境因素)、Prioritize(风险排序 + SLA)、Remediate(通过 SCCM/Intune/Ansible 部署 Patch)、Verify(重新扫描以 Confirmed 已完成修补)以及 Report(向 Manager 报告趋势)。Patch 管理工具可以自动化大规模部署,同时跟踪哪些 Systems 已完成修补、哪些仍处于暴露状态。Remediation SLA 计时会在发现 Vulnerability 时开始,因此扫描频率与平均修复时间直接相关。

# Patch deployment automation:
# Windows: Microsoft SCCM / Intune / WSUS
# Linux: Ansible, Chef, Puppet
# Cloud: AWS Systems Manager Patch Manager

# Verify patch applied:
nessus rescan target after patching
# OR manually check:
rpm -q --changelog kernel | head -20  # Linux
Get-HotFix -Id KB5030216  # Windows PowerShell

# Vulnerability trend reporting:
# Track: number of Critical/High open vulns over time
# Goal: downward trend with <5 unaddressed Critical at any time

快速检查

测试您对本课 CompTIA Security+ (SY0-701) 概念的理解。

Lesson Recap

在本课中,您学习了以下内容:CVSS 使用 0.0-10.0 的范围为 Vulnerabilities 评分,指标包括 Base(Exploitability + Impact)、Temporal(Exploit 成熟度 + 修复可用性)和 Environmental(组织环境);CISA 的 KEV 目录和 EPSS Scores 通过识别哪些 Vulnerabilities 正在实际环境中被 Exploited,增强了基于 CVSS 的优先级排序;有效的 Vulnerability 管理则会将扫描结果连接到 Patch 管理工作流,并根据严重程度定义 SLA。至此,Vulnerability 管理模块结束——接下来我们将深入学习应用安全和 OWASP Top 10。

常见问题解答

「CVSS 评分与漏洞优先级排序」课时是免费的吗?

是的 — 「CVSS 评分与漏洞优先级排序」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Security+ Academy 课程的其余内容,请升级到 CoddyKit PRO。 Security+ Academy 课程共包含 4 节课。

「CVSS 评分与漏洞优先级排序」这节课中我会学到什么?

学习通用漏洞评分系统如何评定严重程度,以及安全团队如何利用评分确定修补和修复工作的优先级。 你通过在浏览器中直接运行的动手代码来练习 Security+ Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Security+ Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Security+ Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「CVSS 评分与漏洞优先级排序」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Security+ Academy 课中编写并运行代码吗?

能。每节 Security+ Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 漏洞扫描与渗透测试
  2. 常见扫描工具:Nessus、OpenVAS、Nmap
  3. 渗透测试阶段:从侦察到报告
  4. CVSS 评分与漏洞优先级排序
← 返回 Security+ Academy