Crowdstrike藍屏事件自查結果:錯在流程而非人
本周三,CrowdStrike發布了導致全球大規模系統崩潰的初步事件評估報告(PIR)。
此前業界傳聞該公司潛入了類似SolarWinds供應鏈攻擊的“特工”,但初步調查結果顯示是CrowdStrike的更新工具和流程存在漏洞,但CrowdStrike否認自己在該事件中存在“不負責任”的行為。
CrowdStrike解釋稱,事件的導火索是一次為收集某C2框架新威脅技術遙測數據進行的內容配置更新。由于內容驗證器的一個錯誤,未能檢查出模版實例中包含有問題的內容數據。(雖然CrowdStrike沒有具體說明是何種C2框架,但一些研究人員認為此更新試圖檢測的是Cobalt Strike的新Named Pipe功能。)
測試流程存在嚴重漏洞
CrowdStrike藍屏事件內部調查受到業界的廣泛關注,因為人們不明白CrowdStrike為何會犯下如此低級的測試流程錯誤。
報告指出,事件的根源是CrowdStrike內容更新器的漏洞,對快速響應內容的漏洞簽名更新檢測不太嚴格,導致錯誤配置通過了驗證(同時又沒有進行必要的穩定性測試),癱瘓了全球數百萬臺Windows系統。
CrowdStrike使用其傳感器內容配置系統創建模板實例來描述要檢測的威脅行為,并通過更新進程間通信(IPC)模板類型的配置數據(存儲在通道文件中),使Falcon傳感器能夠檢測到主機設備上的最新可疑行為。
這些IPC模板實例通過CrowdStrike稱為“快速響應內容”的定期內容更新進行交付,以便在不需要完整更新傳感器的情況下,通過簡單更改配置數據來調整傳感器的檢測能力。
令人吃驚的是,雖然曝出測試工具和流程漏洞,但CrowdStrike辯稱在災難發生之前,該公司已經采取了“負責任”的行動。CrowdStrike的理由是該公司僅僅對一個已經測試并投入生產環境的組件進行了“小的”配置更新,但組件本身經過了充分嚴格的測試。
據CrowdStrike介紹,導致災難性事件的錯誤配置所使用的IPC模板類型及其相應的模板實例通過了完整的壓力測試,包括資源利用率、系統性能影響、事件量和對手系統交互等。內容驗證器檢查并批準了2024年3月5日、4月8日和4月24日推送的三個獨立實例,未發現問題。
然而,7月19日部署的兩個新IPC模板實例中包含一個錯誤配置,由于內容驗證器的漏洞而未被發現。由于對之前測試和成功部署的(通道文件291的)IPC模板類型的信任,更新未經過額外驗證,因此未在推送至運行Falcon 7.11及更高版本的在線主機之前被發現,導致全球大規模IT停機。
盡管CrowdStrike在發現錯誤后立即撤回了更新,但為時已晚。約850萬臺Windows系統在內容解釋器處理新的配置更新時發生越界內存讀取并崩潰。
整改:增加五種附加測試
為了防止類似事件再次發生,CrowdStrike正在更新流程中增加多個附加測試,具體包括:
- 本地開發人員測試:確保每個更新在部署前都經過開發人員的本地測試。
- 內容更新和回滾測試:在推出之前進行全面的內容更新和回滾測試。
- 壓力測試、模糊測試和故障注入:通過多種測試方法確保更新的穩定性。
- 穩定性測試:評估更新對系統穩定性的影響。
- 內容接口測試:驗證內容接口的正確性和安全性。
此外,CrowdStrike還將對內容驗證器增加額外的驗證檢查,并改進內容解釋器中的錯誤處理機制,以避免類似錯誤導致Windows機器無法運行。
在快速響應內容部署方面,CrowdStrike計劃進行以下更改(尤其值得注意的變化是將更新時間和地點的控制權交給客戶):
- 實施交錯部署策略,從小型金絲雀部署開始,然后逐漸擴展。
- 改進部署期間對傳感器和系統性能的監控,使用反饋來指導分階段推出。
- 為客戶提供對快速響應內容更新交付的更多控制權限,允許客戶選擇何時何地部署更新。
- 通過發布說明提供內容更新詳情,客戶可以訂閱以獲取及時信息。
最后,CrowdStrike承諾將在未來發布更詳細的事件原因分析報告,內部調查完成后將公布更多細節。