威胁情报 (Pro)

DefectDojo Pro 通过专用威胁情报——利用可用性、已知利用情况以及威胁行为者活动——来丰富您的发现项,并将其纳入优先级与风险的计算中。这远远超出了 EPSS 和 CISA KEV 标记所能提供的信息。

您将获得什么

每个带有 CVE 的发现项都会在每晚与一个精心整理的情报源进行匹配,该情报源整合自 CISA KEV、Metasploit、Exploit-DB、Nuclei 模板以及公开的概念验证(PoC)跟踪数据。当存在利用证据时,该发现项会显示一张威胁情报卡片:

  • 一个利用成熟度徽章——无 → PoC → 武器化 → 野外活跃利用
  • 一个威胁评分(0-100)
  • 可链接到原始凭证的证据标签——KEV 条目(附带其登记日期)、用于勒索软件、Metasploit 模块、Exploit-DB 条目、Nuclei 模板,以及公开的概念验证代码仓库
  • 一行通俗易懂的说明,解释该发现项的优先级为上升

除了该卡片之外,这些情报还会作用于整个应用程序的多个界面:

  • 发现项列表中的利用成熟度列——可排序和筛选(例如,“仅显示武器化或活跃利用”)
  • 优先级布局仪表板上的**“紧急且正在被主动利用”**图块,统计存在野外利用行为的活动紧急风险发现项——点击即可打开对应的已筛选发现项列表
  • 当现有发现项的 CVE 获得新的利用证据时(例如被列入 CISA KEV 或获得 Metasploit 模块),会触发一个通知事件(threat_intel_alert)。仅在证据升级时触发——证据悄然过期时不会发出通知。

这如何改变评分方式

优先级引擎此前已经综合了严重程度、业务背景以及由 EPSS + KEV 构成的"外部评分"。威胁情报对这一外部评分进行了泛化:每一种利用证据都会在 EPSS 量表上充当一个下限值。

EvidencePriority floor (EPSS-equivalent)
主动利用 + 勒索软件/已命名威胁行为者45%
位于 CISA KEV 用于勒索软件30%
位于 KEV 或在野外被利用20%
武器化的公开利用工具(Metasploit / Exploit-DB)15%
存在 Nuclei 检测模板12%
仅存在公开概念验证8%
无利用证据无变化

发现项的外部评分取其 EPSS 推导值与上述最高证据下限中的较大者——因此威胁情报只会提高评分,绝不会降低评分,而 EPSS 已经超过下限的发现项则不受影响。优先级引擎设置中您熟悉的按产品类型划分的外部评分系数,会按照它一贯用于缩放 EPSS/KEV 的方式,同样缩放这一贡献。

主动利用风险下限

上表提高的是优先级,但提高幅度与发现项的基础严重程度成比例。这会带来一个值得明确说明的后果:一个携带正在被野外利用的 CVE 的低严重程度发现项,只会获得较小的绝对提升幅度,仍可能落在较低的风险区间中。大多数团队认为这是不合理的——“正在被主动利用"绝不应该被归入"低"这一档。

因此还有第二条分类规则。当威胁情报报告存在野外主动利用时,无论加权计算本身得出的结果如何,该发现项的优先级都会被提升至至少达到您所配置的风险区间。该功能出厂时设置为需要处理;每种产品类型都可以在优先级引擎设置的主动利用风险下限中,将其提高至紧急、降低,或清除以关闭该下限功能。

该下限只会向上调整——它绝不会把发现项往下调,而对于本身评分已经更高的发现项也不会产生影响。由于它作用于优先级,风险区间和风险评分会随之自动派生,因此每一个列表、筛选器、图表和 SLA 计算所看到的都是同一个一致的数值。

没有 CVE 的发现项

威胁情报是按 CVE 进行匹配的。许多发现项——大多数 SAST 结果、密钥泄露、错误配置、自定义规则——都没有 CVE,而且目前任何地方都不存在针对这些漏洞实例的威胁情报(这一点适用于所有供应商,而不仅仅是 DefectDojo)。这些发现项:

  • 会保持其当前的优先级和风险不变——该功能绝不会降低评分
  • 仍会依据引擎的其他所有输入(严重程度、业务关键性、暴露程度等)进行优先级排序
  • 会在卡片上显示"暂无可用的威胁情报——该发现项没有可匹配的 CVE”,这与"有 CVE 但目前尚无已知利用方式"的发现项有所区别

一个需要如实说明的后果是:在一个混合队列中,随着带有 CVE 的发现项不断获得利用证据,没有 CVE 的发现项即便自身评分未变,其相对排名也会随之下降。

信任与评分稳定性

  • 已签名的情报。 每份每晚更新的数据包都经过 DefectDojo 的加密签名;您的实例会拒绝任何被篡改或未签名的数据。物理隔离(air-gapped)实例通过离线验证步骤导入同一份已签名的数据包。
  • 评分不会反复波动。 证据升级会在其出现的当晚生效。如果某个来源撤销了证据,评分会在一个稳定窗口期内(默认 14 天)保持不变——数据源的一次小故障不会让您的队列出现反复,而真正的降级会在窗口期结束后悄然生效。
  • 支持物理隔离环境。 每日数据包(包括 EPSS 数据)可以离线传输和导入,因此隔离环境的实例也能获得相同的信息增强。

自托管部署

DefectDojo Cloud 实例无需任何配置。自托管实例有三种选择:

  • 已连接(默认)。 实例每晚通过 HTTPS 从 intel.defectdojo.com 获取已签名的数据包。这是一个 DefectDojo 其他功能都不会用到的目标地址,因此通常需要显式放行:对该主机开放出站 443 端口,在 Kubernetes 上还需将其加入您的出站(egress)网络策略。请注意,该获取操作运行在 Celery worker 上,而不是 Web pod 上,因此代理设置也必须能够覆盖到该工作负载。
  • 内部镜像。DD_THREAT_INTEL_BUNDLE_URL(以及对应的摘要和签名 URL)指向您网络内部由您自行同步的位置。签名验证依然会执行,因此镜像无法篡改数据。
  • 物理隔离。 手动传输数据包及其签名,并使用 manage.py load_threat_intel_bundle --file <bundle> 进行导入。签名会在导入时进行验证。

如果实例无法访问该情报源,该功能会采取失败关闭(fail closed)的方式:本次运行会被记录为失败,而您现有的评分和证据将保持原样不变。除了情报的新鲜度之外,不会有任何其他功能受到影响。

启用该功能

该功能默认处于关闭状态。管理员可以直接启用它,也可以先以影子模式运行——该模式会计算出可能产生的评分,但不会对任何线上数据进行实际更改,并会生成一份漂移报告,准确显示哪些发现项会发生变动——然后再正式启用。如需了解在大型实例上推荐的推广方式,请联系支持团队或参阅运维手册。