返回档案库

案例库 · 软件与 IT · 技术决策 · 2024

一次糟糕的 CrowdStrike 更新让 850 万台 Windows 电脑蓝屏——史上最大的 IT 故障

2024 年 7 月 19 日,一个有缺陷的 Falcon 传感器配置文件,让全球 850 万台 Windows 电脑崩溃,航班停飞,医院、银行和零售商被迫停摆。

CrowdStrike · 微软 · 2024-07-19

怎么回事

2024 年 7 月 19 日,网络安全公司 CrowdStrike 向它的 Falcon 传感器软件推送了一次例行配置更新,这款软件在企业电脑里深入 Windows 内核层运行。这次更新改了一个文件——负责筛查命名管道的 Channel File 291——它含有一个会导致越界内存读取的缺陷。传感器没有优雅地失败,而是触发了一个无效缺页错误,把 Windows 直接送进蓝屏死机和重启循环。

由于 Falcon 传感器以高权限运行在如此多的企业系统上,故障几乎瞬间扩散。微软后来估计,约 850 万台 Windows 设备受到影响——不到所有 Windows 电脑的百分之一,却占了运行企业的那些电脑的很大比例。航空公司停飞了数千个航班,医院退回到纸笔,银行、广播公司、零售商和政府服务在世界各地纷纷瘫痪。CrowdStrike 有逾 2.4 万家客户,其中包括约六成的财富 500 强企业。

CrowdStrike 在大约一小时内回滚了有缺陷的文件,CEO 乔治·库尔茨确认这是一次意外,而非攻击。但已经崩溃的电脑无法自动下载修复:IT 人员得把每一台重启进安全模式,手动删除那个坏文件,而在使用 BitLocker 磁盘加密的电脑上,这个过程还要更复杂。完全恢复花了好几天。全球经济损失估计达数十亿美元,使其成为信息技术史上最大的一次故障。

为什么会这样

  • 这次内容更新在一次性推向全部装机量之前,没有得到充分验证,也没有分阶段或金丝雀发布。
  • 传感器运行在内核层,所以它的一个 bug 会让整个操作系统崩溃,而不是被隔离。
  • CrowdStrike 的软件没给客户推迟或分阶段接收内容更新的办法,所以每台电脑都立刻装上了那个坏文件。
  • 恢复需要逐台手动干预,所以即便修复已经存在,故障还是持续了很久。
代价850 万台电脑瘫痪;损失逾 50 亿美元灾难级

教训

运行在内核层的软件,能搞垮它本该保护的那台机器。先发给一小批金丝雀用户,把内容更新当代码一样验证,让一次糟糕的更新顶多是失败,而不是致命。

后来呢

CrowdStrike 道了歉,赔偿了受影响的客户,并彻底改革了测试和分阶段发布内容更新的方式,加入了金丝雀发布组,让客户掌控发布时机。这一事件重新引发了争论:让单一一款内核级安全产品运行在全球关键基础设施上有多脆弱,以及微软决定授予这类软件深入 Windows 内核的权限是否妥当。受创最重的达美航空报告了数亿美元的损失。“CrowdStrike 故障”成了一个代名词,形容一次糟糕的更新如何让世界停摆。

资料来源

发现哪里写错了?告诉我们。

Comments · 0

    登录 后就能评论。

    类似的案例

    这家公司栽倒的地方,别处有人漂亮地解开过。 第二意见 →