日前,约有 850 万台 Windows 设备在启动过程中遭遇蓝屏死机(BSoD)问题,影响到全球众多银行、航空公司、广电企业、超市乃至各类组织机构。网络安全供应商 CrowdStrike 的更新故障导致受影响的 PC 和服务器离线,设备进入无限重启的循环且始终无法正常运行。此问题并非由微软所引发,而是由第三方 CrowdStrike 软件所造成。目前,这款软件被全球许多企业广泛用于 Windows PC 和服务器的安全保护。
1 蓝屏全球蔓延,至今仍未完全恢复
故障发生最开始,澳大利亚的银行、航空公司和广电企业率先发出警报,表示大量 Windows 设备遭遇离线。而随着欧洲企业陆续开门营业,问题也在迅速蔓延。英国广播公司 Sky News 就在长达几个小时的上午时段内无法播放早间新闻简报,只能通过提示消息称对“此次广播中断”道歉。欧洲最大的航空公司之一瑞安航空也表示,该公司遇到了“第三方”IT 问题并影响到了航班起飞。
受影响的 Windows 设备在启动时会卡在蓝屏中无法继续。
美国联邦航空管理局(FAA)表示,受到通信问题影响,他们正在向达美航空、联合航空和美国航空等航空企业提供协助。空管局发言人 Jeannie Shiffer 在采访声明中解释称,“空管局正在密切关注此次影响到美国航空企业 IT 系统的技术问题。已经有多家航空公司请求空管局协助其机队停飞,直至问题得到解决。”
柏林机场也警告称,受到“技术问题”影响,航班可能会延误。阿拉斯加的多处 911 紧急呼叫中心同样受到此问题影响。受 IT 系统中断冲击,印度一家航空公司甚至开始使用手写登机牌。
CrowdStrike 公司 CEO George Kurtz 在 X 上的帖子中指出:“CrowdStrike 正积极与 Windows 主机上个别内容更新中发现的缺陷,与受影响客户开展合作。Mac 与 Linux 主机不会受到影响,且此次事件不属于安全威胁或者网络攻击。”
CrowdStrike 方面还表示,问题已经确定,修复方案也已到位,只是设备的修复流程对 IT 管理员们来说比较麻烦。其根本原因似乎是 CrowdStrike 用于保护 Windows 机器的内核级驱动程序未能正确更新。虽然 CrowdStrike 在“Windows 主机上广泛报告蓝屏死机”后确定了问题所在并恢复了错误更新,但对于已经受到影响的设备似乎并不奏效。
在一篇 Reddit 帖子中,数百名 IT 管理员分享了普遍存在的问题,解决方法包括将受影响的 Windows 机器以安全模式启动、前往 CrowdStriek 目录并删除系统文件。但对于某些云端服务器,甚至是那些远程部署并使用 Windows 系统的笔记本电脑,这种操作方式显然难以实现。
一位 Reddit 发帖者表示,“我们整个公司都陷入了瘫痪”,另一位发帖者则提到,他们 70% 的笔记本电脑都无法正常开机、始终卡在启动循环当中。还有一位 Reddit 用户用黑色幽默的方式高呼“星期五快乐”。看来对于全球 IT 管理员来说,这都将是漫长的一天。
屋漏偏逢连夜雨,微软的 Microsoft 365 应用和服务似乎同样发生问题并导致中断。据称引发问题的根本原因,是“我们 Azure 后端工作负载的部分配置发生了变更”。
随着故障不断蔓延,George Kurtz 于上周五在 NBC 的“今日”节目中表示,公司对受到影响的人“深表歉意”。
但这个问题显然不是 Control+Alt+Delete 可以快速解决的:Kurtz 警告说,尽管已经部署了修复程序,但“可能还需要一段时间”才能让所有系统恢复正常运行。
据 InfoQ 了解到,在此故障发生了 3 天后的今天,全球仍有不少 IT 系统处于瘫痪状态。
2 微软奇葩解决方案:关机重启 15 次即可
就在全世界仍疲于应对这波堪称有史以来最严重的 IT 故障之一的同时,由 CrowdStrike 更新失败造成的微软操作系统蓝屏死机正在继续扩大影响范围。面对严峻挑战,到底该如何应对?微软给出的答案却与讽刺喜剧《IT 狂人》中的桥段如出一辙——反复关机重启 15 次即可解决问题。
不少 IT 人员在 Reddit 和 Hacker News 等技术社区平台上吐槽,这种解决给了却又仿佛没给。
一位网友表示:“在看到微软给出的解决发方案后,是不是只有我一个人回想到了很多年以前我们的父亲母亲不断地敲打老式 CRT 电视机的侧面,让它显示图像的时光?”
更有网友调侃,“如果多次重启无法解决您的问题,微软建议检查您是否已插入电源。”
也有网友表示,之所以发生这种情况,是因为 CrowdStrike 内部各部门严重孤立、安全团队和系统工程团队之间沟通不畅导致的。在规模较小的公司,同一个人身兼数职,这种情况不太可能发生,除非他们能力极其低下。
有人对此事故表示了同情,但也认为 CrowdStrike 的 IT 人员对于重大更新缺少敬畏心:
“这凸显了推出更新的责任有多么艰巨。当我们推出产品更新时,我基本上都在发抖,尤其是因为 iOS/Android 部署基本上不可能调试。在桌面上我们可以让人们删除一个文件来修复 bug,但在移动设备上连这点都几乎办不到。
我不知道 CrowdStrike 是否在测试中马虎了。但很有可能,他们只是在配置过于完美的系统上进行了测试,当它进入现实世界时,它就爆炸了,也许他们的推出没有循序渐进。
我对此深表同情,但也感到失望。让你的代码成为世界上许多系统的核心驱动程序,这是最令人敬畏的责任。”
另一位网友也上述观点表示赞同:
“确实如此。我已经因为更新而在许多小问题上受了不少苦,现在我非常不愿意安装任何更新。这可能太保守了,但明智的中间立场又在哪里呢?
有一件事是肯定的:把所有鸡蛋放在一个篮子里可以节省成本,但你以后也会为此付出高昂的代价。”
就像以往每次 IT 系统瘫痪时,外界在分析原因时的关注点不只局限在 IT 部门身上一样,此次故障有网友认为是高层决策者的管理失败造成的。
“这甚至不只是一次技术事故,一般来说,这是糟糕的管理层导致的。很多管理者为了降本提效而采用外包的形式,但他们又不知道到底哪家外包公司更可靠,于是他们总是看着其他公司、抄袭他们,以为他们做得很好。他们就像坐在教室后面的差生一样,互相抄袭,以为自己很聪明,但却没有人聪明得能够意识到他们所抄袭的都是废话。”
那么,遭到全球声讨的“蓝屏死机”究竟是怎么回事?
早在 1993 年,微软第一次在 Windows 3.0 用户面前展示了蓝屏死机(也称 BSOD)设计。从技术角度来讲,蓝屏死机的正式名称应该叫作停止错误,具体指那些会导致 Windows 操作系统陷入崩溃的严重错误。
Action 1 公司联合创始人 Mike Walters 表示,蓝屏死机问题“通常代表出现了内核层级的冲突或者 bug,这类 bug 特别难以诊断和修复,因为其运行在操作系统的最深处,发生在与硬件的具体交互过程当中。”过去,Windows 系统曾经因内存故障以及设备过热等问题诱发过这类停止错误。
微软于 2021 年 7 月在 Windows 11 系统中将蓝屏死机的颜色更改为黑屏,但在同年年底又重新将设计恢复为用户们熟悉的蓝色。
弗吉尼亚大学数据科学学院技术史学家兼副教授马尔·希克斯表示,蓝屏死机已经成为一种文化标志,让几乎所有计算机用户都感到恐惧。
希克斯说:“几乎任何人,无论其计算机水平如何,都知道当你看到传统老式的蓝屏死机时,一定有事情发生了非常严重的问题。”
蓝屏死机只是事件的结果,本轮全球 IT 中断的根源在于 CrowdStrike 更新故障。CrowdStrike 自身的官方修复建议是手动以安全模式启动计算设备,并通过命令行操作来解决问题。微软方面同样给出了用户支持建议,为受到 CrowdStrike bug 影响的 Azure 虚拟机用户提供了官方解决方案。
微软建议反复关机重启,最多 15 次。
微软表示,其“注意到在多次手动重启虚拟机之后,部分 Azure 虚拟机可通过 CrowdStrike Falcon 代理成功完成更新”。因此建议客户尝试以下操作:
-
使用 Azure 门户——尝试在受影响的虚拟机上执行“重启”操作。
-
使用 Azure CLI 或者 Azure Shell。
-
请注意,在某些情况下可能需要进行多次重启。
Walters 同时警告称,“用户通常不需要多次重启,除非还存在其他潜在问题。有时候,如果系统已经多年没有重启,那么重启后可能会在启动阶段引发特定问题。由于重启不正确,数据库在启动后可能无法正常工作,进而导致其他问题。”
对于未受到 CrowdStrike 问题影响、但仍然面对蓝屏死机问题的用户,微软则提供了以下建议:
“这些错误可能是由硬件和软件问题所引发。如果您在蓝屏错误之前向 PC 添加了新硬件,请关闭 PC、移除该硬件,而后尝试重新启动。如果您在重新启动时遇到问题,可以尝试在安全模式下启动 PC。您还可以尝试使用 Windows Update 以获取最新更新、从其他来源处获取帮助,或者将 Windows 还原至较早的时间点。”
参考链接:
https://www.theverge.com/2024/7/19/24201717/windows-bsod-crowdstrike-outage-issue
https://abc7chicago.com/post/more-1000-us-flights-canceled-day-straight-airlines/15077947/