CISA Vulnrichment 项目是 CISA 通过其 ADP(授权数据发布者)容器对公开 CVE 记录进行丰富化处理的公共仓库。在该项目阶段,CISA 正在评估新的和近期的 CVE,并添加关键的 SSVC 决策点。评分完成后,一些较高风险的 CVE 还将在可能的情况下获得 CWE 和/或 CVSS 数据点的丰富化。
该 CVE 数据的生产者和消费者应已熟悉当前的 CVE 记录格式,并可通过常规方式访问这些数据,包括 GitHub API 和 CVE Services API。请注意,Vulnrichment 的结果正通过最近(2024 年)启动的 ADP 计划推送回 CVE 语料库。如果下游消费者已经在消费实时 CVE 数据,则无需 fork 并跟踪此 GitHub 仓库。
该项目正在积极开发中,请关注此 README.md 以获取更新。
首先,CISA 将对每个 CVE 进行 SSVC 评分流程。
接下来,对于那些被评为“Total Technical Impact”、“Automatable”,或“Exploitation”值为“Proof of Concept”或“Active Exploitation”的 CVE,将进行进一步分析。CISA 将确定是否有足够的信息来断言特定的 CWE 标识符和/或 CVSS 评分。在某些情况下,即使漏洞在这些决策点上未被评为高风险,CISA 也会提供这些指标。
对于那些尚未由原始 CNA 填充这些字段的 CVE,当有足够的支持证据时,CISA 将把这些值填充到关联的 ADP 容器中。CISA 绝不会在 CVE 记录中覆盖原始 CNA 容器中原始 CNA 的数据。
这些流程图说明了 Vulnrichment 流程。请注意,流程图中的细节可能会随着 Vulnrichment 流程的完善而发生变化。
让我们花点时间查看一些 CVE 记录,了解您可以从 CISA ADP 获得的每种 vulnrichment。
以下作为示例的所有 CVE 均是从符合所示标准的 CVE 中随机选择的。
每个由 CISA ADP 分析的 CVE 都将列出三个 SSVC 决策点。对于这些示例,我们将查看 CVE-2024-34974、CVE-2024-25522 和 CVE-2024-35057。我们还将查看 CVE-2024-33666,这是一个低风险 SSVC 评分。
CVE-2024-25522 在第 47 行的 Exploit 具有“poc”值,表明在分析时有公开的概念验证可用:
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
]
CVE-2024-34974 在第 50 行的“Automatable”具有“yes”值,表明攻击者通常可以随意利用此漏洞,而无需担心侦察、武器化、投递或利用防护技术。
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
]
CVE-2024-35057 在第 59 行的“Technical Impact”具有“total”值,表明利用此漏洞通常将使攻击者获得对受影响软件的完全控制。
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
]
对于在 KEV 上的 CVE,CISA ADP 将添加一个 KEV 块。对于不在 KEV 上的 CVE,则不会进行更新。
CVE-2024-4947 就是这样一个 CVE,其 KEV 块从第 153 行开始:
"other": {
"type": "kev",
"content": {
"dateAdded": "2024-05-20",
"reference": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2024-4947"
}
}
CVE-2024-3477 是一个示例 CVE,其原始 CNA 未提供 CWE,而 CISA 分析师能够根据可用漏洞信息的上下文确定一个。该指标从第 49 行的 problemTypes 节点下开始:
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"type": "CWE",
"cweId": "CWE-352",
"description": "CWE-352 Cross-Site Request Forgery (CSRF)"
}
]
}
]
CVE-2024-0043 是一个示例 CVE,CISA 为其添加了 CVSS 计算,从第 30 行开始。同样,这是基于分析时可用漏洞信息的上下文。
"cvssV3_1": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.8,
"attackVector": "LOCAL",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
}
请注意,自 2024 年 12 月 10 日起,CISA 将不再向丰富化数据集添加 CPE 字符串。先前丰富化的数据可能仍包含 CPE 信息。此处关于 CPE 字符串的说明仅出于历史目的。
CVE-2024-1347 是一个示例 CVE,CISA 为其添加了 CPE 字符串,从第 61 行开始。
"cpes": [
"cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:*"
]
CVE-2024-2905 是一个示例 CVE,当 CISA 执行 SSVC 分类步骤时,它已经具有 CWE、CVSS 和 CPE 指标(见此处),并且它不在 KEV 上,因此无需再添加任何内容。干得好,Red Hat CNA!
由于 CISA ADP 致力于鼓励 CNA 做正确的事并提供自己的 CWE、CVSS 和 CPE 数据,如果 CVE 条目在 CISA ADP 做出评估后更新以包含这些数据,CISA ADP 将从 CVE 条目中删除自己的评估。这种方法将减少 CVE 记录中的重复(和冲突)数据。在极少数情况下,如果原始 CNA 和 CISA ADP 都提供了 CWE、CVSS 或 CPE 数据,这应被视为 CISA ADP 容器中的错误,原始 CNA 的数据应优先。
SSVC 数据的编码方式与生成该数据的决策树所使用的 SSVC 版本的 schema 保持一致。目前,CISA 使用的是 CISA Coordinator 树。
SSVC 数据中的 version 字段遵循 major.minor.patch 约定,其中 major.minor 表示 SSVC 版本,patch 表示决策树版本。对于当前的 CISA 决策树,这导致版本号为 2.0.3:SSVC 版本 2.0,CISA Coordinator 树版本 3。
为使决策树符合 SSVC 更新而进行的更新将导致版本字符串发生变化。我们敦促消费此数据的用户在解码 SSVC 评分时注意版本,以确定如何验证和处理 JSON 数据。
我们希望听到您——IT 网络安全专业社区——关于 Vulnrichment 和 ADP 的意见!如果您发现问题,请随时在 Issues 中提出,或者更好的是,打开一个包含您建议修复的拉取请求。请注意,如果您对 CNA 容器中的数据有疑问,我们鼓励您直接向负责的 CNA 提出该问题。