2024 年 7 月 19 日,網路安全公司 CrowdStrike 向其 Falcon 感測器軟體推送了一次例行設定更新,該軟體在企業機器的 Windows 核心層深處運行。此次更新修改了一個檔案——負責篩選具名管道的 Channel File 291——該檔案含有缺陷,導致越界記憶體讀取。感測器並未優雅地失敗,而是觸發了無效分頁錯誤,使 Windows 崩潰並進入藍屏死機與開機迴圈。

由於 Falcon 感測器在眾多企業系統上以高權限運行,故障幾乎瞬間蔓延。微軟後來估計約有 850 萬台 Windows 裝置受到影響——不到所有 Windows 機器的百分之一,但在運行企業的機器中所占比例極大。航空公司停飛數千架航班,醫院退回紙本作業,銀行、廣播機構、零售商與政府服務在全球各地癱瘓。CrowdStrike 擁有超過 24,000 家客戶,其中包括約 60% 的《財富》500 強企業。

CrowdStrike 在大約一小時內還原了有問題的檔案,執行長 George Kurtz 確認這是意外,而非攻擊。但已經當機的機器無法自動下載修復程式:IT 人員必須將每台機器重新開機進入安全模式,並手動刪除該不良檔案,而在使用 BitLocker 磁碟加密的機器上,這一過程更加複雜。完全復原耗時數日。全球財務損失估計達數十億美元,使其成為資訊科技史上最大規模的中斷事件。

該檔案在一小時內被還原,但當機的機器需要手動以安全模式修復,因此復原耗時數日,損失超過 50 億美元。

該內容更新在向整個已安裝基礎一次性推送之前,未經充分驗證,也沒有分階段或金絲雀式部署。

感測器在核心層運行,因此其中的錯誤導致整個作業系統崩潰,而非被隔離控制。

CrowdStrike 的軟體未讓客戶有辦法延遲或分階段接收內容更新,因此每台機器都立即接收了不良檔案。

復原需要逐台機器手動介入,因此即使修復程式早已存在,中斷仍持續很久。

在核心層運行的軟體可能拖垮它所保護的機器。應先向小型金絲雀群組推送,像驗證程式碼一樣驗證內容更新,並讓不良更新安全失敗——而非致命失敗。

CrowdStrike 道歉、賠償受影響客戶,並徹底改革其測試與分階段推送內容更新的方式,加入金絲雀環與客戶對推送時機的控制權。此事件重新點燃了關於讓單一核心層安全產品運行於全球關鍵基礎設施的脆弱性,以及關於微軟決定在 Windows 上授予此類軟體深度核心存取權的辯論。受創最嚴重的達美航空(Delta Air Lines)報告了數億美元的損失。「CrowdStrike 中斷」成為一個不良更新如何讓世界停擺的代名詞。

追溯依據

參考來源

  1. CrowdStrike — Channel File 291 Incident Root Cause Analysis (August 2024) crowdstrike.com
  2. 2024 CrowdStrike incident — Wikipedia en.wikipedia.org