Cyberkern
理解安全漏洞

零日攻击是如何发生的?

零日攻击会在公开修复发布之前利用漏洞。通过前后对照,可以看清临时访问限制的作用,以及如何确认修复确实生效。

编辑:Cyberkern来源核查:

这里的“零日”指什么?

本说明沿用 GTIG 报告的界定:攻击发生时,修复补丁尚未公开提供。NIST 的定义强调此前未知的漏洞。这并不意味着世界上绝对没有人知道该缺陷。 [1] [2]

修复发布前,与修复生效后

示意应用,并非客户案例。本图展示一种可能的过程,不代表能够发现所有未知漏洞。

CYBERKERN / ZERO-DAY攻击不会等待更新。

零日攻击:公开修复尚未发布,漏洞就已遭到利用。

攻击发生,修复尚未发布

请求到达存在漏洞的功能,此时还没有可用的对应更新。

修复已运行,并经核验

新版本已投入运行。针对性检查确认了受影响功能的修复效果。

这里只展示一条攻击路径。此前的攻击及其他访问路径仍须单独调查。

为什么仅安装更新还不够
  1. 缺陷已经存在

    应用正常处理日常业务,但某个功能中同时存在安全缺陷。没有触发告警,并不能证明这个功能没有漏洞。

  2. 一条可到达的路径

    特殊请求到达受影响功能。限制图中的访问后,这条路径会在访问控制处中断。应用中的缺陷仍然存在;其他路径尚未检查。

  3. 已知不等于已修复

    示例中,厂商先获知漏洞,之后才发布修正后的更新包。厂商知情与更新可用是两个不同状态。单凭一则安全公告,不能认定每个部署都受到影响。

  4. 安装包不是运行进程

    安装更新包后,本例中正在运行的实例仍暂时使用旧代码。只有另行激活后,新版本才投入运行。其他产品可能需要不同的激活步骤。

  5. 验证具体的修复效果

    检查实际运行版本以及受影响功能。证据仅对应这个版本和这项验证,不代表可以抵御所有攻击。如果前面的攻击已经成功,事件调查仍是另一项未完成的工作。

解除警报前的三个问题

  • 受影响的版本和功能是否实际在用?通过什么路径可以访问?
  • 安装的是哪个更新包?每个运行实例实际使用的又是哪个版本?
  • 哪项验证证明修复生效?还缺少哪些证据?是否需要另行调查可能已经发生的事件?

从安全公告到明确的检查任务

告警是启动核查的理由。应先明确系统、相关功能以及获准测试的路径,记录初始状态,并将临时措施与长期修复分开。

NIST 的补丁管理涵盖优先排序、安装与验证。这里的图示将这种区分转化为示例,而非适用于所有产品的安装指南。

外部安全分析有助于梳理公开可访问的系统和配置问题。检查特定应用功能及其可利用性,需要约定相应的渗透测试范围。这不意味着能够发现全部零日漏洞。 [3]

参考来源

  1. NIST CSRC · zero-day attack (glossary)
  2. Google Threat Intelligence Group · A 2024 Zero-Day Exploitation Analysis, scope and definition (April 2025)
  3. NIST SP 800-40 Rev. 4 · Enterprise Patch Management Planning (April 2022)
相关评估

渗透测试与攻击模拟

查看服务范围

联系

请勿发送登录凭据或机密信息。

* 必填项