Vulnerability Management

EPSS评分(漏洞预测评分系统)

漏洞预测评分系统(EPSS)是一个数据驱动的标准,用于估计特定软件漏洞在野外被利用的可能性。

EPSS评分(漏洞预测评分系统)

TL;DR: EPSS评分

漏洞预测评分系统(EPSS)是一种数据驱动的标准,用于估算特定软件漏洞在野外被利用的可能性。

此过程将帮助您:

  • 优先修复基于现实世界威胁数据的漏洞。
  • 减少警报疲劳,忽略攻击者实际上并未针对的高严重性漏洞。
  • 优化安全资源,专注于真正构成风险的5%漏洞。

EPSS的目标是告诉您漏洞被攻击的可能性,而不仅仅是攻击的破坏性。

什么是EPSS评分

EPSS评分是一个介于0到1(或0%到100%)之间的指标,表示特定漏洞(CVE)在未来30天内被利用的概率。

它由事件响应和安全团队论坛(FIRST)管理,该组织也管理CVSS。CVSS衡量漏洞的严重性(有多糟糕),而EPSS衡量威胁(发生的可能性)。

简单来说:

CVSS告诉你,“这个窗户坏了,而且是个大窗户。”EPSS告诉你,“有个窃贼正站在那个特定窗户外面。”

为什么EPSS很重要

安全团队被“关键”警报淹没。典型的企业扫描可能显示数千个CVSS评分为9.0或更高的漏洞。立即修复所有这些漏洞是不可能的。

那么为什么EPSS很重要:

**CVSS是不够的。**研究表明,所有已发布的CVE中,只有不到5%在野外被利用。如果仅根据CVSS严重性修复漏洞,那么你是在浪费时间修复没有人攻击的漏洞。

**现实世界的优先级。**EPSS使用当前的威胁情报。一个漏洞在纸面上可能看起来很危险(高CVSS),但如果没有利用代码存在且没有攻击者使用它,EPSS评分将会很低。

**效率。**通过筛选高EPSS评分,团队可以减少多达85%的修复积压,同时仍然解决最危险的威胁。

EPSS如何工作

EPSS不是一个静态数字。它是一个每天更新的机器学习模型。它分析大量数据以生成概率评分。

1. 数据收集

模型从多个来源摄取数据:

  • **CVE列表:**MITRE和NVD数据。
  • **利用代码:**在Metasploit或ExploitDB等工具中可用的利用脚本。
  • **野外活动:**来自防火墙、IDS和蜜罐的日志显示活跃攻击。
  • **暗网讨论:**黑客论坛上的讨论。

2. 概率计算

模型计算一个从0.00(0%)到1.00(100%)的评分。

  • 0.95表示该漏洞现在或即将被利用的概率为95%。
  • 0.01表示极不可能被利用。

3. 应用

安全工具摄取此评分以排序漏洞列表。与其按“严重性”排序,不如按“攻击概率”排序。

实践中的例子

想象一下您的扫描仪发现了两个漏洞。

漏洞 A:

  • CVSS: 9.8(严重)
  • EPSS: 0.02(2%)
  • 背景: 这是您使用的库中的一个理论溢出,但尚无人能够将其武器化。

漏洞 B:

  • CVSS: 7.5(高)
  • EPSS: 0.96(96%)
  • 背景: 这是 Log4j 漏洞或已知的 VPN 绕过漏洞,勒索软件团伙正在积极利用。

没有 EPSS: 您可能会先修复漏洞 A,因为 9.8 > 7.5。

使用 EPSS(使用 Plexicus):

  1. 您导航到 Plexicus 仪表板
  2. 您按 EPSS > 0.5 筛选发现。
  3. Plexicus 立即突出显示漏洞 B。
  4. 您首先修补漏洞 B,因为它是一个直接威胁。漏洞 A 进入待办事项。

结果: 您阻止了一个活跃的攻击向量,而不是修补一个理论上的漏洞。

谁使用 EPSS

  • 漏洞管理人员 - 决定本周推送哪些补丁到生产环境。
  • 威胁情报分析师 - 了解当前的威胁态势。
  • CISO - 根据风险而不是恐惧来证明预算和资源分配的合理性。
  • DevSecOps 团队 - 自动化仅对重要漏洞进行构建中断。

何时应用 EPSS

EPSS 应在漏洞管理的 分类和修复 阶段使用。

  • 在分类期间 - 当你有500个关键漏洞但只有时间修复50个时。
  • 在政策中 - 设置规则,如“在24小时内修补任何EPSS > 50%的漏洞。”
  • 在报告中 - 向领导展示你正在减少“可利用风险”,而不仅仅是关闭票据。

EPSS工具的关键功能

集成EPSS的工具通常提供:

  • 双重评分: 并排显示CVSS和EPSS。
  • 动态优先级: 随着EPSS分数变化,每日重新排序漏洞。
  • 风险接受: 安全地将低EPSS漏洞标记为“接受风险”一段时间。
  • 丰富的上下文: 将分数链接到特定的漏洞家族(例如,“被勒索软件组X使用”)。

示例工具:漏洞管理平台和Plexicus ASPM,使用EPSS过滤掉代码扫描中的噪音。

EPSS的最佳实践

  • 结合CVSS和EPSS: 不要忽视CVSS。优先级的“圣杯”是高CVSS + 高EPSS
  • 设置阈值: 定义对你的组织来说“高”意味着什么。许多团队从EPSS > 0.1(10%)开始优先,因为平均分数非常低。
  • 自动化: 使用API将EPSS分数导入你的票务系统(Jira)。
  • 每日审查: EPSS分数会变化。今天得分为0.01的漏洞,如果在Twitter上发布了概念验证(PoC),明天可能会跃升至0.80。

相关术语

FAQ: EPSS评分

1. 什么是好的EPSS评分?

没有“好的”评分,但越低越安全。大多数漏洞的评分都非常低(低于0.05)。如果评分超过0.10(10%),则属于威胁的顶级百分位,应予以调查。评分超过0.50则是紧急情况。

2. EPSS是否取代CVSS?

不。CVSS衡量严重性(影响)。EPSS衡量概率(威胁)。两者都需要。低严重性但高概率的漏洞虽然烦人但可控。高严重性且高概率的漏洞则是危机。

3. EPSS多久更新一次?

模型经过重新训练,评分由FIRST.org每日更新。

4. 为什么我的关键漏洞显示低EPSS评分?

因为可能很难利用。可能需要物理访问服务器,或者漏洞代码复杂且不稳定。攻击者更喜欢简单的目标。

5. 我可以将EPSS用于内部应用程序吗?

EPSS是为CVE(公共漏洞)计算的。它不会为自定义代码漏洞生成评分(例如您私有应用中的特定逻辑漏洞),除非该漏洞已映射到已知的CVE库。

Ready to validate what matters?

Ready to validate what matters?

Plexicus is Proof-Driven AppSec: validated findings, contextual understanding, and reviewed remediation — anchored in evidence, scoped with you.

Qualification

Check whether AI Swarm Pentest fits your environment.

Share the minimum context. We will review the scope and tell you the next commercial step.

Before submitting — verify you fit

Teams with fewer than 50 developers: start a 14-day Trial instead of booking a demo. Start a 14-day Trial →

0 / 280

No commitment. If you don't fit, we'll tell you.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorised target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)