微软蓝屏事件背后,一个「草台班子」怎么酿成全球技术浩劫公众号新闻2024-07-23 11:07 上周五,全球多地不少用微软 PC 的打工人一开机发现,映入眼帘的不是熟悉的壁纸和桌面,而是满屏的蓝色,和一个哭脸。「重启大法」失效后,这个蓝屏很快被人们发上 X、微博、Reddit 等平台。大家随后发现,这不是个案,而是席卷全球的大事件,航班因此停飞,企业引起停工,酒店无法入住,甚至手术也因此停做。这次事件的一个后果是,CrowdStrike 安全公司被永远刻在了科技史的耻辱柱上,因为正是他们向约 29000 个企业用户推送的一个更新,导致了全球约 850 万台 Windows 设备的宕机。让人大跌眼镜的是,微软和 CrowdStrike 都无法统一修复这些设备,需要由人工一台台动手操作才能恢复。世界著名安全公司,或许也只是一个草台班子和以往那种普遍性的服务器大宕机不同,这次的宕机是设备内部问题引起的,由于 CrowdStrike 发布的更新有代码缺陷,并深入了 Windows 系统的内核,影响了系统驱动。并且更新是不可在线逆转的,即使 CrowdStrike 已经修复了更新中的错误,在之前就已经安装了更新的设备还是一启动就会变砖,就连微软也无法「远程施法」进行修复。由安全软件引起的系统崩溃问题其实屡见不鲜,比如 CrowdStrike 的 CEO George Kurtz,在他担任老牌安全软件公司 McAfee 的首席技术官时,该公司也曾推出过一个软件更新,会将 Windows XP 的一个系统文件删除,导致电脑无限重启,听起来和这次事件就有点相似。上周末最忙的人 George Kurtz,图源:NBC另一个著名杀毒软件卡巴斯基,和微软自己的安全平台 Windows Defender 也曾经在更新后引发过系统蓝屏故障,只是这些事件规模远不如 CrowdStrike 之大。杀毒软件成为「蓝屏惯犯」有一个非常重要的原因:2009 年,微软和欧盟达成公平竞争的协议,允许第三方安全软件也能够和 Windows Defender 一样访问 Windows 系统的内核,也就是系统非常底层和基础的部分。这种开放性能够让 CrowdStrike 这样的第三方杀毒软件能够提高更高的安全性,当然,也让 Bug 的发生变得非常致命。就像是当年 McAfee 能把内核中的系统文件当成病毒查杀了,或者像这次 CrowdStrike 推出的一个新的配置文件,因为后缀名和驱动程序一样,被系统错误当作了驱动运行,导致了系统崩溃。内核这种系统底层向第三方开放,本身就是有点争议的问题,苹果就坚决不向第三方开放 macOS 的内核。但这么多年来,开放内核总体上利大于弊。CrowdStrike 这次事件更让人觉得不安的是,这家拥有约 3 万家客户的公司难道完全不对软件更新进行测试吗?特别是这种可以说百分百复现的 bug,只要一测试基本都能发现,结果最后这个有问题的更新,来到了全球 850 万台 PC 设备上。前卡巴斯基安全公司的一名高管 Costin Raiu 表示,由于配置文件和驱动相关的文件非常重要,在卡巴斯基推出相关更新之前,都会经过数周以上的严格审查和测试,因此 CrowdStrike 这个事件,只能说明更新文件从未被测试过。而且,相关更新由于并非是大型更新,CrowdStrike 并未采取比较谨慎的「分批推送」方式,而是直接面向全部设备推送,理由是「保证我们的客户安全水平领先威胁环境」。想不到,这场可以称作是技术史上最大的浩劫,不是因为黑客入侵,而是因为一家像草台班子一样的安全公司。计算机系统比我们想象中更落后二十多年前,一条「千年虫」引起了大众的注意,指的是上世纪末一些计算机设备无法正确识别即将到来的 2000 年份,会将其识别为 1900 年,从而导致大量社会基础设施,甚至影响到国防问题。很多人将 CrowdStrike 事件视为「千年虫」后最大的技术故障,这两个事件似乎都有一个共通点,那就是看起来非常智能的计算机系统,其实非常脆弱,会出乎我们意料地因为一些问题而崩溃。被「千年虫」影响而将 2000 年显示为 1900 的一台设备当年,对「千年虫」的防治其实并不简单,很多系统需要去手动更改系统的日期编码,使其能够正确识别 2000 年,花费了大量的人力物力,这和 CrowdStrike 事件惊人地相似。二十年过去,计算机技术已经突飞猛进,然而在面对这种设备内部故障的问题上,我们发现应对方式竟然如此落后。不管是早期 CrowdStrike 给出的恢复操作方式,还是微软推出的修复工具,都绕不开大多数企业会部署的 BitLocker 磁盘加密,因此要修复这些设备,都需要管理员权限或者 BitLocker 密码,导致修复效率非常低下。就算不用权限和密码,两种修复方式基本都需要 IT 人员一台台修复和部署,微软的修复软件还需要创建一个 USB 驱动器来运行,一台台设备进行插入和恢复,简直不是 2024 年科技应有的「优雅」。讽刺的是,在美国各大航空公司因为蓝屏死伤一片时,西南航空因为使用的是远古系统 Windows 95 和 Windows 3.1 躲过一劫。这次事件,很多媒体都提到了这么一句话:To Err is Human; To Really Foul Things Up Requires a Computer人们只是犯错,要把事情搞砸还得看电脑虽然这句话有那么点反技术的意思在,但在这个事件中,我们真正意识到了这些维系着我们衣食住行的计算机系统,内部是如此不堪一击,并且一旦出错,修复的方式也极其落后和低效。即使「蓝色星期五」的主要责任确实在第三方厂商身上,也有观点认为,对于大众来说,微软作为系统提供商,也负有一定责任,并且微软开放了内核,却没有针对这种情况的应急措施。更重要的不是追责,而是全方位优化整个科技生态系统的各个方面。故障无法避免,并且波及的范围很可能越来越广,因此真正需要优化的是故障发生前和发生后的流程和措施。微软作为游戏规则的制定者和维护者,更有理由承担这种责任,例如收紧和限制系统内核的访问,和完善和优化系统修复的方式和自修复的能力,而不能仅仅只是指望第三方厂商不出错。文 | 苏伟鸿微信扫码关注该文公众号作者戳这里提交新闻线索和高质量文章给我们。来源: qq点击查看作者最近其他文章