零日攻击
约 4 分钟阅读
最后更新: 2026-08-24
什么是零日攻击
零日攻击 (Zero-Day Attack) 是指在软件漏洞的修复补丁尚未提供的阶段,利用该漏洞发起的攻击。开发方没有时间准备修复,这一状态即被称为零日,打补丁这一基本防御手段也因此无法成立。
把相关的三种说法区分开来会更容易理解。开发方尚未掌握、或者修复尚未提供的缺陷本身是零日漏洞;为利用该缺陷而编写的攻击代码是零日利用程序 (exploit);实际针对目标实施的行为则是零日攻击。新闻报道中这三者几乎被当作同义词使用,但在讨论对策的场合加以区分,讨论就不容易跑偏。
零日漏洞会经由多条途径流转:正规的漏洞奖励计划 (bug bounty)、从事收购的中介机构,以及非公开的交易市场。其中无需用户操作即可远程生效的漏洞价格最高,单价可达数百万美元规模。能够承担这一价位的主体有限,因此零日集中出现在有国家参与的网络攻击和高级持续性威胁 (APT) 之中。
从漏洞管理的角度看,零日与已知漏洞属于不同类别的威胁,需要采用不同的应对方式。
零日攻击的生命周期
- 发现漏洞:攻击者或者安全研究人员发现开发方尚未掌握的缺陷。
- 开发利用程序:编写针对该缺陷的攻击代码。成功与否取决于目标的版本和配置,因此这一步需要时间和技术。
- 实施攻击:使用利用程序对目标发起攻击。此时补丁并不存在,目标方往往只能看到原因不明的异常现象。
- 掌握并披露漏洞:开发方通过攻击被检测到或研究人员的报告掌握该缺陷,并推进修复的准备与披露。
- 提供补丁:开发方制作并分发修复程序。
- 部署补丁:用户在自己的环境中完成部署。在部署结束之前,攻击仍在继续。
容易被忽略的是,危险程度并不会随着这六个阶段单调下降。补丁一旦公开,就会有人分析修复内容并据此编写攻击代码,因此披露之后攻击总量反而会上升。零日阶段被瞄准的只是有限的组织,而披露之后仍未处理的环境,则会暴露在不挑选目标的自动化攻击之下。与其用“因为是零日所以防不住”来总结,不如记录从披露到完成部署花了多少天,这更有助于减少下一次的损失。
实际案例
- Log4Shell (2021 年):Java 日志库 Log4j 中的漏洞 (CVE-2021-44228)。2021 年 11 月 24 日以非公开方式报告给开发方,包含修复的版本于 12 月 6 日发布,漏洞于 12 月 9 日公开披露。而 Cloudflare 报告了可追溯到披露前 8 天即 12 月 1 日的利用痕迹。美国 CISA 局长将影响范围形容为数亿台设备,供应链依赖关系的深度扩大了损害。
- Microsoft Exchange Server (2021 年):组合 4 个零日漏洞 (CVE-2021-26855 等) 入侵自行运维的 Exchange 服务器的攻击。Microsoft 认定这是以中国为据点的国家支持型组织 (Hafnium) 所为。利用行为自 2021 年 1 月上旬起被观测到,补丁于 3 月 2 日发布。据报道美国约有 3 万家组织受到影响,披露之后部署迟缓的环境仍持续被瞄准。
- Stuxnet (2010 年):组合 Windows 的 4 个零日漏洞,对伊朗纳坦兹核设施的离心机造成物理损坏的恶意软件。据认为约有 1,000 台离心机因此无法使用。相关国家从未正式承认参与开发,但这一事件被视为证明网络攻击可以延伸到设备破坏的案例。
这三个案例的共同点在于,起初被瞄准的目标范围有限,最终影响却相当广泛。零日这一入口的稀缺程度与实际损害的广度并不匹配,这正是该威胁的棘手之处。
零日攻击的防御策略
面对没有补丁可用的攻击,不应指望靠单一产品完全拦下,而是通过多层防御 (Defense in Depth) 构建即使被入侵也不让损害扩大的形态,这才是现实的防备。
- WAF 与虚拟补丁:Web 应用防火墙不仅能拦截已知的攻击模式,也能从请求形态偏离预期这一点上进行阻断。作为等到补丁提供之前的缓冲,也会采取只阻断相关通信的虚拟补丁运维方式。不过攻击的写法一旦变化就可能被绕过,因此它不能替代根本性的修复。
- 网络分段:限定被入侵时的损害范围。隔离重要系统,使横向移动 (lateral movement) 变得困难。
- 最小权限原则:只给用户和进程必要的最小权限。即使漏洞被利用,也能收窄攻击者可以触及的范围。
- EDR (Endpoint Detection and Response):监控终端侧的行为,从陌生进程的启动、可疑通信等异常中捕捉入侵迹象。以与已知特征比对为主的对策容易漏掉的攻击同样会留下痕迹,因此 EDR 把检测的着眼点从被利用了哪个缺陷转向正在被做什么。
- 渗透测试:以攻击者的视角检验自己的组织,提前找出可能被利用的路径。
- 管理披露后的部署速度:零日攻击本身无法完全防住,但从披露到完成补丁部署的时间可以由自己缩短。掌握哪台设备装了哪些软件以及部署进展如何,是从披露后的大范围攻击中脱身的条件。
- 完善事件响应计划:以完全预防不可能为前提,事先确定检测、遏制、恢复的步骤和联络路径。
常见误解
- 零日攻击与普通人无关
- 当浏览器或操作系统存在零日漏洞时,普通用户也会受到影响。像 Log4Shell 这样广泛使用的库的漏洞,可能通过您使用的服务间接影响您。
- 杀毒软件能防止零日攻击
- 传统杀毒软件基于签名 (已知恶意软件的模式) 进行检测,无法应对未知攻击。需要具备行为检测和沙箱功能的下一代 EDR。