CrowdStrike最近在Windows系统上的失误无疑将在技术失败的历史上占据显著位置。7月19日,这家网络安全巨头完成了无数黑客梦寐以求的事情——用一个失败的更新让全球数百万Windows系统瘫痪。
作为一名资深技术记者,我见过不少软件故障。说实话,我在1988年作为系统管理员时,还亲历了网络故障的鼻祖——莫里斯蠕虫。即便如此,我仍然对这次失误的规模和影响感到惊讶。CrowdStrike,一家市值超过700亿美元、被无数组织信赖以保护其数字资产的公司,无意中成为了历史上最大的IT中断之一的源头。
这次失误的后果是惊人的——数千次航班取消,医疗服务中断,911系统下线。这是一个鲜明的提醒,我们的数字基础设施已经变得多么紧密相连,以及它对一个故障点的脆弱性。
让我们来分析导致这场灾难的一系列错误。
最初,微软允许CrowdStrike的Falcon安全软件在Windows内核的最底层运行。任何在这个底层的问题都可能引起蓝屏死机。与此同时,据报道微软想把责任推给欧盟委员会——没错——因为要求它允许第三方软件供应商获得这种级别的访问权限。
我认为,有了微软所有的开发人员和律师,他们应该能够想出一个更好、合法的方法来避免这种混乱,并让软件公司公平竞争。这不是什么高深莫测的事情。
微软不想承担任何责任,但它应该承担一些。我们太长时间以来,把太多重要的IT基础设施依赖于Windows。当这个基础设施出现问题时,很多经济活动也会受到影响。
回到CrowdStrike,该公司声称一个常规传感器配置更新中的“逻辑错误”导致了崩溃。但对于CrowdStrike这样水平的公司来说,这样一个基本错误是不可原谅的。这不是什么罕见的边缘情况——这是其核心功能的关键故障。
这甚至不是代码问题。这不是软件更新本身。问题的根源是一个名为通道文件的Falcon配置文件。一个简单的文件,本应包含更新安全设置的数据,最终却引起了一连串的蓝屏死机。
如此灾难性的bug是如何通过质量保证的?CrowdStrike承认:“由于内容验证器中的一个bug,两个模板实例中的一个通过了验证,尽管包含有问题的内容数据[并且]被部署到生产环境中。”当你的软件深入到数百万Windows系统中时,你的测试应该是无懈可击的。显然,CrowdStrike的测试协议需要大规模的改革。
我们现在也知道,正如安全专家Kevin Beaumont在Mastodon上指出的:“关键的教训——通道更新目前是全球即时部署的。”我总是同时将重大补丁发送给我的所有客户,然后等着看接下来会发生什么。不是每个人吗?这些人是谁,为什么有人让他们做安全工作?
有一个简单的概念叫做金丝雀测试。你可能听说过。就像煤矿里的金丝雀一样,你首先通过在金丝雀——或一小群用户——上测试来测试一个新的空间或程序是否安全,然后,如果一切顺利,再让其他人进来。
让我们不要忘记,CrowdStrike最初的反应是缓慢和不充分的。用户在关键基础设施摇摇欲坠时四处寻找答案。即使在今天,几乎一周后,我仍然有朋友在他们的达美航空航班上遇到麻烦。
这对我们技术行业的其他人来说是一个清醒的警钟。当我们急于保护我们的系统免受外部威胁时,我们不能忽视自我伤害的可能性。严格的测试、故障安全机制和对关键系统的适度谦卑是必不可少的。
最终,CrowdStrike的Windows灾难是墨菲定律在行动的典型例子——任何可能出错的事情都会出错。这是一个痛苦的教训,但也是一个我们都应该从中学习的教训。毕竟,在网络安全领域,你的下一个大威胁可能只是一个更新的距离。
原文始发于微信公众号(独眼情报):CrowdStrike 符合墨菲定律:任何可能出错的事情都会出错
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论