作者 | Steven J. Vaughan-Nichols
編譯 | 星璇
出品 | 51CTO技術(shù)棧(微信號:blog51cto)
坐在Linux桌面前,背后是嗡嗡作響的Linux服務(wù)器,CrowdStrike的崩潰并沒有直接影響到我。但就像地球上幾乎所有人一樣,間接影響卻是另一回事。
同事們被困在機場。事發(fā)48小時后,同事們?nèi)栽诓煌5匦迯?fù)一個又一個出故障的Windows系統(tǒng),而朋友們也不得不使用現(xiàn)金購買雜貨。
這一切本不必發(fā)生。
“這提醒我們,我們正生活在一個日益數(shù)字化的世界中,軟件幾乎支撐著我們生活的方方面面——從交通和緊急服務(wù)到銀行、零售,甚至食品服務(wù),”新思科技軟件完整性集團總經(jīng)理Jason Schmitt在一份新聞稿中指出,“軟件問題可能導(dǎo)致嚴重的業(yè)務(wù)問題,在某些情況下,還會影響到消費者視為理所當然的許多必需品。”
讓我重申一遍:這一切本不必發(fā)生。讓我來總結(jié)一下教訓。
1.單一文化是有害的
無論是在愛爾蘭大饑荒時期、導(dǎo)致我的祖先來到美國的土豆,還是在美國南部棉鈴蟲出現(xiàn)之前的棉花,或是Windows系統(tǒng),每當所有人都依賴一個單一系統(tǒng)時,你就是在自找麻煩。
據(jù)微軟統(tǒng)計,只有850萬臺Windows設(shè)備受到影響,這不到所有Windows設(shè)備的百分之一。但這些數(shù)字并沒有說明全部情況。
根據(jù)商業(yè)數(shù)據(jù)分析公司6sense.com的統(tǒng)計,CrowdStrike是排名第一的企業(yè)端點安全公司,擁有超過3,500名客戶。這聽起來可能不多,但這其中包括了四分之一使用端點安全服務(wù)的公司。這些往往是大型企業(yè)。因此,雖然從陷入無限重啟的系統(tǒng)數(shù)量來看,受影響的規(guī)模很小,但其影響卻是巨大的。
“此次中斷的規(guī)模凸顯了過度依賴單一系統(tǒng)或提供商所帶來的風險,”云計算公司Civo的首席執(zhí)行官Mark Boost在向新聞媒體發(fā)布的一份聲明中表示,“這令人警醒地提醒我們,規(guī)模和聲譽并不能保證不受重大技術(shù)問題或安全漏洞的影響。即使是最大、最成熟的公司也必須保持警惕,不斷更新和保障其系統(tǒng)安全。”
2.糟糕的代碼是危險之源
根據(jù)NeoSync(一家開發(fā)工具公司)首席執(zhí)行官Evis Drenova在X上提出的流行理論,導(dǎo)致其Falcon Sensor程序發(fā)生災(zāi)難性安全更新的根本原因是其C++代碼中的空指針錯誤。但CrowdStrike似乎否認了這一點。
知名谷歌漏洞研究員Tavis Ormandy也在X上發(fā)布推文表示不贊同。Ormandy以及Mac安全網(wǎng)站和工具套件Objective-See的創(chuàng)建者Patrick Wardle(他們也在X上對此事發(fā)表了看法)認為,問題出在邏輯錯誤上。
最終,我們將弄清楚到底哪里出了問題,但毫無疑問的是,這種糟糕的代碼絕不應(yīng)該被發(fā)送給客戶。
3.質(zhì)量保證是絕對必要的
這個問題始于CrowdStrike。該公司的質(zhì)量保證(QA)團隊是如何讓這次更新發(fā)布的,這個問題很可能很快就會導(dǎo)致許多人被解雇。
然而,他們并不是唯一應(yīng)該為這場災(zāi)難性的一步而受到指責的人。
在今年4月于西雅圖舉行的北美開源峰會上,微軟Linux平臺組的高級項目經(jīng)理Jack Aboutboul談到了“懶惰的系統(tǒng)管理員”問題。典型的懶惰管理員會安裝軟件,開啟自動更新,并處理最新的緊急問題。這沒問題……直到其中一個更新導(dǎo)致系統(tǒng)崩潰。
他們應(yīng)該在每次收到新補丁時進行測試。在演講中,Aboutboul討論的是Linux發(fā)行版的更新,但同樣的想法也適用于所有關(guān)鍵任務(wù)軟件。
Redwerk和QAwerk(均為軟件開發(fā)和QA機構(gòu))的創(chuàng)始人Konstantin Klyagin在一份新聞稿中指出,“自動化測試確保即使是微小的更改也不會引入新的錯誤。這對于像CrowdStrike這樣的大規(guī)模更新尤其重要,因為僅進行手動測試是不夠的。”
還有誰沒有這樣做呢?!看起來至少還有一些公司仍然沒有做到。
難道真的有那么多組織在這個基本步驟上失敗了嗎?一些人認為CrowdStrike應(yīng)該受到指責,因為這個安全數(shù)據(jù)補丁“是一個繞過客戶端分階段控制的渠道更新,并且無論客戶是否需要,都推送給了所有人。”
由于繞過了客戶端的推出控制,因此有更多的公司受到了損害。這讓我覺得很有可能,因為這么多企業(yè)都因此次失敗而遭受重創(chuàng)。再次強調(diào),問題依然是:“為什么有人會毫不猶豫地部署如此重要的補丁?”
4.分階段推出可以避免災(zāi)難
一個相關(guān)的生產(chǎn)問題是,許多組織同時將所有更新推送到其所有系統(tǒng)。這是一個非常基本的錯誤;它本不應(yīng)該發(fā)生,但事實就是這樣。
是的,分階段推出確實存在一些反對意見——當不同的團隊使用不同版本時,用戶可能會感到困惑。但是,對于不能容忍失敗的關(guān)鍵任務(wù)系統(tǒng),您需要對任何升級都采取極端謹慎的態(tài)度。
此外,分階段推出有很多方法。它們包括滾動更新、藍綠部署、金絲雀發(fā)布和A/B測試。選擇一種。讓它適合您的企業(yè),只是不要將所有升級都放在一個巨大的籃子里。
此外,如果出現(xiàn)問題,強大的回滾程序?qū)τ诨謴?fù)到穩(wěn)定版本至關(guān)重要。難道您不想只需按下一個按鈕就能回滾到正常工作的系統(tǒng)嗎?現(xiàn)在,成千上萬的IT員工一定希望如此。
5.災(zāi)難恢復(fù)和備份是必需的
這雖然是顯而易見的事情,但您必須制定災(zāi)難恢復(fù)計劃并擁有可靠的備份。
“我與幾位首席信息安全官(CISO)和首席安全官(CSO)交談過,他們正在考慮觸發(fā)從備份恢復(fù)協(xié)議,而不是手動將每臺計算機引導(dǎo)到安全模式,找到有問題的CrowdStrike文件,刪除它,然后重新啟動到正常的Windows系統(tǒng)中,”公共演講者兼安全專家Eric O’Neill在一份新聞稿中表示。“那些沒有投資于快速備份解決方案的公司陷入了兩難境地。”
確實如此。誠然,在當今的云計算時代,災(zāi)難恢復(fù)和備份已不像過去那樣簡單。但它們至關(guān)重要。而且,在這種情況下,傳統(tǒng)的災(zāi)難恢復(fù)方法和備份將發(fā)揮重大作用。
6.需要增強的監(jiān)控和事件響應(yīng)能力
此次全球性的中斷事件凸顯了高級監(jiān)控工具和強大事件響應(yīng)計劃的重要性。應(yīng)建立實時監(jiān)控和警報系統(tǒng),以便在問題發(fā)生時立即發(fā)現(xiàn)。IT團隊應(yīng)制定詳細的事件響應(yīng)計劃,并明確協(xié)議以快速識別、隔離和解決問題。這些計劃應(yīng)包括根本原因分析和事后審查,以不斷改進響應(yīng)策略。
但說起來容易做起來難。
Cockroach Labs的首席執(zhí)行官兼聯(lián)合創(chuàng)始人斯賓塞·金布爾(Spencer Kimball)在向新聞媒體發(fā)布的一份聲明中表示:“在當今數(shù)字時代應(yīng)對挑戰(zhàn),需要企業(yè)采取積極且實用的策略來減輕中斷并確保恢復(fù)能力。”
他補充道:“中斷問題并非我們能夠完全解決的問題。云環(huán)境只會變得越來越復(fù)雜和相互關(guān)聯(lián)。這種大規(guī)模的復(fù)雜性將繼續(xù)增加風險,特別是對于仍處于云采用初期階段的企業(yè)而言。連續(xù)監(jiān)控和警報對于在問題升級之前發(fā)現(xiàn)和解決問題至關(guān)重要。”
Hydrolix公司的副總裁安東尼·法爾科(Anthony Falco)在給The New Stack的一封電子郵件中也表達了類似的觀點。
法爾科說:“這次大規(guī)模中斷事件凸顯了公司面臨的新現(xiàn)實:當今推動業(yè)務(wù)的全球分布式軟件平臺是一個復(fù)雜的相互依賴網(wǎng)絡(luò),并非所有都受任何單一行為者的控制。‘一個微小的錯誤就可能讓全球業(yè)務(wù)陷入停滯。
“我們需要一種新的可觀察性方法——這種方法是實時的,并且能夠簡化從無數(shù)來源流入的海量數(shù)據(jù)的管理,以便在事件擴散之前進行檢測和緩解。”
7.為下一次做好準備
CrowdStrike/Windows事件是一個嚴峻的提醒,即即使是日常維護,如果管理不當也可能導(dǎo)致重大中斷。它凸顯了現(xiàn)代IT系統(tǒng)的相互關(guān)聯(lián)性,以及廣泛使用的軟件故障所帶來的深遠影響。
通過從此次事件中吸取教訓并實施強大的風險管理策略,IT團隊可以更好地為未來類似事件做好準備并減輕其影響。
我們需要做得更好。我們必須做得更好。我年紀大到足以經(jīng)歷過第一個重大而廣泛的安全問題——1988年的Morris蠕蟲病毒。那時,技術(shù)問題只困擾著從事技術(shù)工作的人。但那樣的日子早已一去不復(fù)返了。
參考鏈接:https://thenewstack.io/the-crowdstrike-disaster-lessons/