新智元报道
编辑:Aeneas 好困
绝了,外媒刚刚发现:这次造成微软蓝屏灾难的 CrowdStrike CEO,在 Windows XP 时代就曾搞崩过全球的设备。同样是一次更新,同样让设备断网,同样要人工修复。两次导致全球 IT 灾难,此君可以「名垂青史」了。
微软全球蓝屏事件,破案了!
一个由「C-00000291*.sys」配置文件触发的系统逻辑错误,瞬间就破坏掉全世界约 10 亿台计算机,并在随后引发所有的二阶、三阶效应。
就如 AI 大神 Karpathy 所言,技术领域还存在着的单点瞬时故障,都将对人类社会造成巨大隐患。
而这次造成全球 TI 灾难的始作俑者、CrowdStrike CEO,竟被外媒扒出已有前科——
2010 年在 McAfee 用一个更新搞崩全球设备的,竟然也是他!
逻辑错误,触发全球大崩溃
故障发生的第一时间,就有网友向大家发出警告——停止所有 CrowdStrike 更新!停止所有 CrowdStrike 更新!
对于事件起因,Objective-See 基金会创始人 Patrick Wardle 也在第一时间就做了一番详细调查。
首先,他查看了故障位置——mov r9d,[r8]。其中 R8 属于未映射的地址。
这个位置取自指针数组(保存在 RAX 中),索引 RDX(0x14 * 0x8)保存了一个无效的内存地址。
其他的「驱动程序」(例如「C-00000291-...32.sys」)似乎是混淆的数据,并且被「CSAgent.sys」进行了x-ref'd操作。
因此,或许是这种无效(配置/签名)的数据,触发了 CSAgent.sys 中的故障。
通过调试,可以更容易地判断这一点。
显然,事故中最重要的悬而未决的问题就是,这个「C-00000291-...xxx.sys」文件究竟是什么?
CSAgent.sys 一旦引用它们,就立马崩溃了;而只要删除它们,就可以修复崩溃。
在 VT 上,他还对 CSAgent.sys 以及来自单个故障转储的数据进行了逆向分析。
最后,Wardle 分享出了 CSAgent.sys 的几个版本(+idb),以及各种「C-....sys」文件(包括他认为已经包含了「修复」的最新文件)。
他表示,由于自己没有任何 Windows 系统或虚拟机,所以希望网友们能继续挖掘。
就在昨天,恶意软件专家 Malware Utkonos 有了更多细节的发现——
37c78ba2eac468941a80f4e12aa390a00cb22337fbf87a94c59cee05473d1c66 这个地址处,似乎有一个针对 0xaaaaaaaa 的文件魔法检查。
这个模式,也是「通道文件」(Channel Files)的前四个字节。全部为 NULL 的文件,就可能会导致该 cmp 失败。
可以看到,rcx 中与 0xaaaaaaaa 进行比较的值,由 ExAllocatePoolWithTagPriority 分配在顶部。那里正是接收 ZwReadFile 读取的数据的缓冲区。
这个值会在之后用 cmp 传递给函数(Utkonos 在图中将这些函数命名为内部的 wdm.h 函数调用)。
通过合理性检查可发现:0xaaaaaaaa 字节模式仅在此处检查的「通道文件」偏移 0 处出现过一次。
以下就是执行类似 cmp 的地址。
可以看到,只有 0xaaaaaaaa 看起来不同。
CrowdStrike 官方解释
很快,CrowdStrike 在官博放出的解释,对于网友们疑惑的问题进行了澄清——
2024 年 7 月 19 日 04:09 UTC,CrowdStrike 在持续运营中向 Windows 系统发布了一次传感器配置更新,这也是 Falcon 平台保护机制的一部分。 这次配置更新触发了一个逻辑错误,导致受影响的系统出现崩溃和蓝屏(BSOD)。 导致系统崩溃的更新已于 2024 年 7 月 19 日 05:27 UTC 得到修复。
报告地址:https://www.crowdstrike.com/blog/falcon-update-for-windows-hosts-technical-details/
其中技术细节如下——
在 Windows 系统中,通道文件位于以下目录:C:\Windows\System32\drivers\CrowdStrike\,并且文件名以「C-」开头。每个通道文件都有一个唯一编号作为标识。
此次事件中受影响的通道文件为 291,文件名以「C-00000291-」开头,以 .sys 扩展名结尾。虽然通道文件以 SYS 扩展名结尾,但它们不是内核驱动程序.
通道文件 291 会影响 Falcon 如何评估 Windows 系统上的命名管道执行。这些命名管道用于 Windows 中正常进程间或系统间通信的机制。
周五的更新,本意是针对网络攻击中常见的 C2 框架中所使用的新发现的恶意命名管道,但实际上却触发了系统的逻辑错误,导致崩溃。
不过,这与通道文件 291 或任何其他通道文件中的空字节问题无关。
此事已被网友用 Suno 做成歌曲
要想恢复,就必须在安全模式下启动机器,并且以本地管理员身份登录并删除内容——这是不可能自动化的。
因此,这次瘫痪的打击面才会这么大,并且难以恢复。
上次也是他
虽然 CrowdStrike 承认了自己的错误,并在周五发布了道歉声明和解决方案。
但他们尚未解释清楚,这个破坏性的更新是如何在未经过测试和其他安全措施的情况下发布的。
自然,众多批评的声音开始集中到事件的核心人物:CrowdStrike 的首席执行官 George Kurtz。
科技行业分析师 Anshel Sag 指出,这已经不是库尔茨第一次在重大 IT 事件中扮演重要角色了。
熟悉的配方,熟悉的味道
2010 年 4 月 21 日,杀毒软件 McAfee 发布了一次面向企业客户的软件更新。
获得更新后的软件会删除一个 Windows 系统的关键文件,导致全球数百万台电脑崩溃并反复重启。
和 CrowdStrike 的错误类似,McAfee 的问题也需要手动修复(设备断网离线)。
而 Kurtz,正是当时 McAfee 的首席技术官。
2012 年,Kurtz 创立了 CrowdStrike,并一直担任首席执行官至今。
2010 年,发生了什么?
2010 年 4 月 21 日早上 6 点,McAfee 向企业客户发布了一个「有问题」的病毒定义更新。
然后,这些自动更新的 Windows XP 电脑,会直接陷入「无限重启」的循环中,直到技术支持人员到场手动修复。
背后的原因其实很简单——杀毒软件在收到新的定义之后,会将一个常规的 Windows 二进制文件「svchost.exe」识别为病毒「W32/Wecorl.a」,并予以销毁。
一位大学 IT 人员报告称,他的网络上有 1200 台电脑因此瘫痪。
另一封来自美国企业的电子邮件称,他们有「数百名用户」受到了影响:
这个问题影响了大量用户,而简单地替换 svchost.exe 并不能解决问题。你必须启动到安全模式,然后安装 extra.dat 文件,再手动运行 vsca 控制台。之后,你还需要删除隔离的文件。每个用户至少有两个文件被隔离,有些用户多达 15 个。不幸的是,使用这种方法,你无法确定你恢复的文件中哪些是重要的系统文件,哪些是病毒文件。
此外,还有一份来自澳大利亚的报告称,该国最大的超市连锁店有 10% 的收银机瘫痪,导致 14 到 18 家商店被迫关闭。
这件事在当时的影响之大,让众人纷纷惊叹:「即便是专注于开发病毒的黑客,估计都做不出能像 McAfee 今天这样能迅速『端掉』这么多机器的恶意软件。」
以下是 SANS Internet Storm Center 对这次事件的描述:
McAfee 版本为 5958 的「DAT」文件,正在导致大量 Windows XP SP3 出现问题。受影响的系统将进入重启循环并失去所有网络连接。这个有问题的 DAT 文件可能会感染单个工作站以及连接到域的工作站。 使用「ePolicyOrchestrator」来更新病毒定义文件,似乎加速了这个有问题的 DAT 文件的传播。ePolicyOrchestrator 通常用于在企业中更新「DAT」文件,但由于受影响的系统会失去网络连接,它无法撤销这个有问题的签名。
Svchost.exe 是 Windows 系统中最重要的文件之一,它承载了几乎所有系统功能的服务。如果没有 Svchost.exe,Windows 根本无法启动。
两起事件虽然相隔 14 年,但却有着同样的疑惑——这样的更新是如何从测试实验室流出并进入生产服务器的。理论上,这类问题应该在测试初期就被发现并解决了才对。
何许人也?
George Kurtz 在新泽西州的 Parsippany-Troy Hills 长大,就读于 Parsippany 高中。
Kurtz 表示,自己在四年级时就开始在 Commodore 电脑上编写电子游戏程序。高中时,建立了早期的网络交流平台——公告板系统。
他毕业于西东大学,获得会计学学位。
随后他创办了 Foundstone,并曾担任 McAfee 的首席技术官。
目前,George Kurtz 在与 Dmitri Alperovitch 共同创立的网络安全公司 CrowdStrike,担任首席执行官。
除了商业成就外,他还是一名赛车手。
Price Waterhouse(普华永道)和 Foundstone
大学毕业后,Kurtz 在 Price Waterhouse 开始了他的职业生涯,担任注册会计师(CPA)。
1993 年,Price Waterhouse 让 Kurtz 成为其新成立的安全组的首批员工之一。
1999 年,他与 Stuart McClure 和 Joel Scambray 共同撰写了《Hacking Exposed》,这是一本针对网络管理员的网络安全书籍。该书销量超过 60 万册,并被翻译成 30 多种语言。
同年晚些时候,他创办了一家网络安全公司 Foundstone,这是最早专门从事安全咨询的公司之一。Foundstone 专注于漏洞管理软件和服务,并发展出了一个广受认可的事件响应业务,许多财富 100 强公司都是其客户。
McAfee
McAfee 在 2004 年 8 月以 8600 万美元收购了 Foundstone,Kurtz 因此成为 McAfee 的高级副总裁兼风险管理总经理。在任期内,他帮助制定了公司的安全风险管理策略。
2009 年 10 月,McAfee 任命他为全球首席技术官和执行副总裁。
随着时间的推移,Kurtz 对现有的安全技术运行缓慢感到沮丧,因为他认为这些技术没有跟上新威胁的发展速度。
有一次,他在飞机上看到邻座乘客等待 15 分钟才让 McAfee 软件在笔记本电脑上加载完毕,这一事件成为他创立 CrowdStrike 的灵感之一。
CrowdStrike
2011 年 11 月,Kurtz 加入私募股权公司 Warburg Pincus,担任「驻企企业家」(entrepreneur-in-residence),并开始着手他的下一个项目 CrowdStrike。
2012 年 2 月,他与前 Foundstone 的首席财务官 Gregg Marston 和 Dmitri Alperovitch 联手,正式成立了 CrowdStrike。
CrowdStrike 将重点从反恶意软件和防病毒产品(McAfee 的网络安全方法)转移到识别黑客使用的技术,以便发现即将到来的威胁。并开发了一种「云优先」(cloud-first)模式,以减少客户计算机上的软件负担。
2017 年 5 月,CrowdStrike 估值超过 10 亿美元。2019 年,公司在纳斯达克首次公开募股 6.12 亿美元,估值达到 66 亿美元。
2020 年 7 月,IDC 报告将 CrowdStrike 评为增长最快的端点安全软件供应商。
2024 年,Kurtz 仍然是 CrowdStrike 的总裁兼首席执行官。
果然,世界就是个巨大的草台班子。
参考资料:
https://x.com/MalwareUtkonos/status/1814777806145847310
https://www.businessinsider.com/crowdstrike-ceo-george-kurtz-tech-outage-microsoft-mcafee-2024-7
https://www.crowdstrike.com/blog/falcon-update-for-windows-hosts-technical-details/
https://www.zdnet.com/article/defective-mcafee-update-causes-worldwide-meltdown-of-xp-pcs/