CrowdStrike更新風(fēng)波:從熒幕笑料到現(xiàn)實(shí)危機(jī)
在美劇《太空部隊(duì)》第二季之中,有這樣一幕:一顆衛(wèi)星失去了控制,朝著地球快速撞來,地面控制站急需解算衛(wèi)星數(shù)據(jù),用以攔截衛(wèi)星避免一場災(zāi)難,但是就在這千鈞一發(fā)之際,win10電腦因?yàn)橄到y(tǒng)自動升級沒辦法用了······
在電視劇之中,這一幕本就是為了調(diào)侃win 10系統(tǒng)不合時宜的更新和其超長的更新時間,但是你可能不會想到,美國許多看似不可思議的橋段不是腦洞大開,而是真的有現(xiàn)實(shí)基礎(chǔ)的。這不,在上周(7月19日),微軟就因推送了一個系統(tǒng)更新,引發(fā)了全球Windows電腦集體藍(lán)屏罷工。
一時間,連鎖反應(yīng)迅速蔓延至各行各業(yè),從金融交易到航空運(yùn)輸,無一幸免。此次事件中,達(dá)美航空、聯(lián)合航空和美國航空等多家航空公司航班被迫取消,倫敦證券交易所的新聞發(fā)布受到影響,日本的列車行駛位置信息丟失,澳大利亞的銀行和政府網(wǎng)絡(luò)癱瘓······
眾所周知,Windows系統(tǒng)的“藍(lán)屏崩潰”,并不是真正的崩潰,是一種系統(tǒng)的保護(hù)機(jī)制。當(dāng)系統(tǒng)檢測到潛在的嚴(yán)重錯誤時,它會自動觸發(fā)藍(lán)屏以防止問題進(jìn)一步惡化。如果沒有這種機(jī)制,一個小錯誤可能會逐漸累積,最終導(dǎo)致系統(tǒng)數(shù)據(jù)遭受嚴(yán)重破壞。實(shí)際上,由Windows系統(tǒng)本身引發(fā)的藍(lán)屏情況相對較少;更多的時候,藍(lán)屏是由各種驅(qū)動程序的問題所引起的,特別是那些采用不當(dāng)或惡意編程技巧(如內(nèi)核HOOK或過濾驅(qū)動)的驅(qū)動程序。此外,不符合微軟編程規(guī)范的軟件或存在BUG的應(yīng)用程序,例如常見的中斷請求級別(IRQL)錯誤或違反PatchGuard保護(hù)機(jī)制的情況,同樣可能觸發(fā)藍(lán)屏。
因此,本次事件之中,我們不應(yīng)該把矛頭指向微軟的Windows,在本次大范圍藍(lán)屏的事件中,罪魁禍?zhǔn)拙褪?。那么,這個CrowdStrike到底是何方神圣呢?居然能以一己之力造成如此巨大的混亂?
對于CrowdStrike,如果您是在外企或者海外工作對于這個名字一定算不陌生。CrowdStrike是一家領(lǐng)先的網(wǎng)絡(luò)安全技術(shù)和解決方案提供商,專注于提供基于云計(jì)算的端點(diǎn)保護(hù)平臺。該公司成立于2011年,總部位于美國加利福尼亞州的Irvine,并在世界各地設(shè)有辦公室。CrowdStrike的核心產(chǎn)品是Falcon平臺,這是一個高度先進(jìn)的安全平臺,利用人工智能(AI)和機(jī)器學(xué)習(xí)(ML)技術(shù)來檢測、預(yù)防和響應(yīng)各種網(wǎng)絡(luò)威脅。Falcon平臺的獨(dú)特之處在于它的輕量級代理,可以在幾乎任何設(shè)備上運(yùn)行,包括傳統(tǒng)的個人電腦、服務(wù)器、移動設(shè)備,甚至是物聯(lián)網(wǎng)(IoT)設(shè)備。這個代理能夠收集和分析終端上的數(shù)據(jù),然后使用云端的AI和ML模型進(jìn)行威脅檢測。由于所有的處理和分析都在云端完成,因此不會占用本地設(shè)備的大量計(jì)算資源,也不會顯著影響性能。
確實(shí),在這次“藍(lán)屏事件”中,CrowdStrike的“先進(jìn)”和“安全”沒有體驗(yàn)出來,但是確確實(shí)實(shí)讓我們看到了其真的“可以在幾乎任何設(shè)備上運(yùn)行”,讓它有了能干出如此“狠活兒”的平臺。那么為什么區(qū)區(qū)一個殺毒軟件就能讓W(xué)indows藍(lán)屏呢?一個殺毒軟件,最重要的工作肯定就是殺毒了,因此,殺毒軟件往往有著其他軟件所沒有的權(quán)限。而且由于它一直奮戰(zhàn)在病毒一線,所以其自身也一定有相當(dāng)高的自我保護(hù)機(jī)制,為了做到上述的兩個能力,某些殺毒軟件會把自己的關(guān)鍵程序?qū)戇M(jìn)系統(tǒng)驅(qū)動層,也就是Windows系統(tǒng)中的system32/divers之中。而這個system文件自然是Windows系統(tǒng)之中的關(guān)鍵部分,而好巧不巧,這次CrowdStrike推送的更新就在這個部分出現(xiàn)了一個“小問題”。
2024 年 7 月 19 日星期五,CrowdStrike 公司的 Falcon sensor 安全軟件升級。該產(chǎn)品的驅(qū)動程序 csagent.sys 出現(xiàn)空指針異常,導(dǎo)致 Windows 藍(lán)屏死機(jī)。也就是說,是因?yàn)槌绦驎袛嗟刂肥欠袷?,如果是0就會跳過指令,用來避免異常的崩潰藍(lán)屏。但是,在CrowdStrike的代碼中,忘記了判斷指針是否真的是有效指針,直接訪問了一個空指針,直接導(dǎo)致系統(tǒng)運(yùn)行不下去,進(jìn)而導(dǎo)致了這次的系統(tǒng)崩潰。
如果說這一點(diǎn)代碼錯誤是誰都難以避免的“小失誤”,那么沒有進(jìn)行灰度更新,這CrowdStrike推都推卸不掉的責(zé)任了。什么是灰度更新呢?灰度更新是一種軟件發(fā)布策略,它允許開發(fā)者在全面推出新版本之前,先向一小部分用戶推送更新。這樣做的目的是在有限的范圍內(nèi)測試新版本軟件的性能、穩(wěn)定性和安全性,同時收集用戶反饋,以便在正式推出之前發(fā)現(xiàn)并修復(fù)潛在的問題。這種重要的系統(tǒng)底層更新,居然沒有先小范圍的推送測試,這是CrowdStrike最讓人難以理解的部分,同時也是CrowdStrike必須為本次事件負(fù)責(zé)的直接原因。
那么,可能也有讀者還會有一個問題?為什么這次受影響的都是外企或是外國,為什么我國沒有受到波及呢?首先,有一點(diǎn)是我國的公共設(shè)施中的電腦一般不會采用外國的殺毒軟件,因此CrowdStrike的在國內(nèi)的市占率很少;其次,在我國的公共設(shè)施之中,安卓系統(tǒng)因其成本更低,被大量使用,而Windows只有少數(shù)系統(tǒng),如火車站、醫(yī)院會使用;最后,在我國,使用Windows的公共設(shè)施設(shè)備基本上都不會聯(lián)網(wǎng),就算需要更新也是內(nèi)部統(tǒng)一評估之后再更新。這一套操作下來,就讓我國幾乎完美的避免了這次藍(lán)屏危機(jī)。
最后,此次CrowdStrike引發(fā)的大規(guī)模藍(lán)屏事件再次提醒我們,漏洞無處不在,而這些漏洞一旦被觸發(fā),可能會帶來難以預(yù)料的后果。而灰度更新的重要性就體現(xiàn)在這里,一切的軟件產(chǎn)品都應(yīng)該重視灰度更新。因此,無論是技術(shù)開發(fā)者還是用戶,都需要保持警惕,并采取一切適當(dāng)?shù)拇胧﹣肀Wo(hù)自己免受潛在風(fēng)險的影響。未來,隨著技術(shù)的不斷進(jìn)步和安全威脅的日益復(fù)雜化,加強(qiáng)國際合作、提升應(yīng)急響應(yīng)能力和推動技術(shù)創(chuàng)新將是保障全球信息安全的關(guān)鍵所在。而對于像CrowdStrike這樣的技術(shù)公司來說,除了需要不斷改進(jìn)其產(chǎn)品和服務(wù)之外,更應(yīng)該將用戶體驗(yàn)放在首位,避免此類事件再次發(fā)生。
評論