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