- +1
一個邏輯錯誤損失或超10億美元,微軟藍屏事件帶來哪些教訓

當?shù)貢r間2024年7月19日,澳大利亞悉尼一家超市的自助結(jié)賬終端,微軟“藍屏”致澳大利亞自助結(jié)賬機“宕機”。視覺中國 圖
網(wǎng)絡安全公司CrowdStrike造成的微軟大規(guī)模藍屏事件的余波仍在持續(xù)。
當?shù)貢r間7月21日,CrowdStrike發(fā)表最新聲明稱,該公司正在盡快恢復所有受此前技術(shù)故障影響的系統(tǒng),大約850萬臺受影響的微軟Windows設備中,已有相當數(shù)量的設備恢復正常運行。CrowdStrike對技術(shù)故障造成的影響致歉,并稱公司正在推動加速修復進程,并將持續(xù)提供更新信息。
根據(jù)微軟此前的報告,因CrowdStrike公司升級安全軟件而引發(fā)的大規(guī)模宕機事件影響了全球大約850萬臺安裝微軟Windows操作系統(tǒng)的設備,是所有Windows系統(tǒng)設備總數(shù)的不到1%。這一數(shù)字意味著,本次藍屏事件可能是有史以來最大的IT故障。上一次出現(xiàn)這類大規(guī)模的全球性事件還是在2017年,當時,被稱為“WannaCry”的“蠕蟲式”勒索軟件影響了總計150個國家內(nèi)的約30萬臺計算機。
微軟強調(diào),這一事件突顯出了CrowdStrike等網(wǎng)絡安全公司在發(fā)送更新之前對其進行質(zhì)量控制檢查的重要性。微軟網(wǎng)絡安全主管戴維·韋斯頓(David Weston)表示:“這也提醒我們,對于整個科技生態(tài)系統(tǒng)中的所有人來說,利用現(xiàn)有機制優(yōu)先進行安全部署和災難恢復是多么重要。”
美國網(wǎng)絡安全和基礎(chǔ)設施安全局(CISA)局長珍·伊斯特利(Jen Easterly)于20日發(fā)表評論,將這起事件稱為“一起嚴重影響全球關(guān)鍵基礎(chǔ)設施運行的重大事件”,并稱“這是一個嚴重的錯誤”。
對于該事故在中國造成的影響范圍,網(wǎng)絡安全公司奇安信21日發(fā)布的分析報告指出,估計國內(nèi)的CrowdStrike軟件裝機量在萬級,相關(guān)單位數(shù)在百級,用戶主要集中在北上廣深等發(fā)達地區(qū),受影響的主要是外企、外企在華分支機構(gòu)及合資企業(yè)。
另外,藍屏事件對于全球航空的影響依然顯著。在19日當天,航班追蹤網(wǎng)站FlightAware.com發(fā)布的數(shù)據(jù)顯示,在本次事件發(fā)生后的第三天,截至21日晚間,當天已有超過1500架次美國境內(nèi)、飛往以及飛離美國的航班被取消,其中達美航空和聯(lián)合航空被取消的航班最多,還有超過7400架次美國航班遭遇延誤。
7月19日,微軟(Nasdaq:MSFT)收于每股437.11美元,跌0.74%,總市值3.25萬億美元。CrowdStrike(Nasdaq:CRWD)收于每股304.96美元,跌11.1%,總市值742.2億美元。
故障起因是一個邏輯錯誤
在后續(xù)復盤中,人們才發(fā)現(xiàn),引發(fā)如此大規(guī)模IT故障的起因僅是一次殺毒軟件常規(guī)更新中的一段錯誤代碼。
在故障發(fā)生的7月19日,CrowdStrike于晚間發(fā)布了修復程序。隨后,公司CEO喬治·庫爾茨在一份道歉聲明中稱CrowdStrike已經(jīng)“運行正常”。不過,盡管有一些受影響的計算機能夠自動下載軟件更新、運行修復程序,另一些還是需要IT人員手動重啟并修復,意味著該故障的完全恢復仍需要一段時間。
奇安信安全專家汪列軍對澎湃新聞記者表示,由于CrowdStrike本次更新屬于檢測規(guī)則更新,在驅(qū)動啟動時就會默認下載,所以用戶很難阻止系統(tǒng)崩潰。雖然該問題的修復措施很簡單,但比較耗人工:“需要每臺機器都進入安全模式,然后把相關(guān)的驅(qū)動刪掉,啟動文件名或者目錄改名。”
一天后的7月20日,CrowdStrike發(fā)布了事故的詳細分析報告,稱此事是由旗下網(wǎng)安產(chǎn)品Falcon平臺更新中一個邏輯錯誤引起的:“特定的更新旨在檢測惡意軟件使用的新的惡意命名管道,命名管道是Windows系統(tǒng)中用于進程間通信的通信通道。然而,這次更新無意中含有一個邏輯錯誤,結(jié)果導致操作系統(tǒng)崩潰。”
專門研究操作系統(tǒng)威脅的網(wǎng)絡安全研究員Patrick Wardle也指出,電腦病毒特征碼中的錯誤代碼或是一切背后的“罪魁禍首”:“對于網(wǎng)絡安全產(chǎn)品來說,更新特征碼是司空見慣的事。它們會持續(xù)監(jiān)測新的惡意軟件,以確保客戶免于遭受最新威脅。”
谷歌原高級軟件工程師扎克·沃瑞斯(Zach Vorhies)在X平臺上給出了更詳細的解釋。沃瑞斯猜測,這起故障背后的技術(shù)細節(jié)應該是一個很典型的Null Pointer Dereference,也就是空指針引用故障。在C++語言中,地址0x0通常被用來表示一個無法被訪問的空指針Null。而當CrowdStrike的程序試圖訪問這個地址時,導致了系統(tǒng)崩潰:“C++程序員在傳遞對象時本應通過‘檢查null’來預防這個問題。”
全球損失或超10億美元
雖然專家普遍認為現(xiàn)在要判斷本次事件造成的具體損失還為時尚早,但美國研究機構(gòu)安德森經(jīng)濟集團(Anderson Economic Group)的首席執(zhí)行官帕特里克·安德森(Patrick Anderson)表示,這些損失可能輕易超過10億美元。
安德森指出,今年6月,為美國汽車經(jīng)銷商提供軟件的主要供應商CDK Global遭受了持續(xù)約三周的黑客攻擊,導致數(shù)千家汽車經(jīng)銷商的業(yè)務陷入停滯,損失已經(jīng)達到了10億美元。與之相比,“(微軟)這次停運影響了更多的消費者和企業(yè),從暫時不便到嚴重中斷,造成了一些無法輕易彌補的支出”。
安德森補充說,對于航空公司來說,損失可能特別顯著,因為航班取消會導致大量收入損失,還有遇到重大延誤的航班帶來的超額勞動支出和燃料成本。
要弄清楚這些損失由誰來承擔,可能需要很長的時間。盡管CrowdStrike在全球網(wǎng)絡安全領(lǐng)域占據(jù)主導地位,其每年的收入僅略低于40億美元。有專家指出,CrowdStrike的客戶合同中可能會有法律保護條件,以使其免于承擔責任。
7月21日,CrowdStrike在官網(wǎng)上線了全新的“修復和指南中心(Remediation and Guidance Hub)”,收集了與本次錯誤更新相關(guān)的詳細信息。同時,頁面還提供了有關(guān)Bitlocker密鑰恢復流程的鏈接,以及來自第三方廠商應對故障的應對指南。
對于本次事件帶來的經(jīng)驗教訓,汪列軍認為,從微軟的角度來看,以Windows操作系統(tǒng)的架構(gòu),這類故障確實比較難防范,但公司可以做的是加強各種驅(qū)動程序的安全性檢查,以及增加修復機制:“比如說在幾次啟動失敗后,讓機器自動進入安全模式,至少在不加載其他外部驅(qū)動的情況下能先啟動起來,這個是可以做的。”
而從CrowdStrike的角度來看,本次事件中最大的問題是在于推送更新的方式。汪列軍表示,這體現(xiàn)出了灰度測試的重要性:“哪怕是對一個環(huán)境或是一類客戶先推送,肯定能發(fā)現(xiàn)大量崩潰的問題。”





- 報料熱線: 021-962866
- 報料郵箱: news@thepaper.cn
互聯(lián)網(wǎng)新聞信息服務許可證:31120170006
增值電信業(yè)務經(jīng)營許可證:滬B2-2017116
? 2014-2025 上海東方報業(yè)有限公司