軟件供應(yīng)鏈攻擊為開(kāi)發(fā)及運(yùn)維團(tuán)隊(duì)帶來(lái)哪些挑戰(zhàn)?
SolarWinds的攻擊給軟件開(kāi)發(fā)和DevOps團(tuán)隊(duì)以及使用軟件的公司帶來(lái)新的問(wèn)題和挑戰(zhàn)。
第一:如果復(fù)雜的網(wǎng)絡(luò)罪犯可以直接將惡意后門(mén)插入信譽(yù)良好的開(kāi)發(fā)人員的應(yīng)用程序代碼中,那么誰(shuí)來(lái)承擔(dān)直接信任軟件的后果?
第二:如果現(xiàn)在軟件團(tuán)隊(duì)的責(zé)任是發(fā)現(xiàn)他們開(kāi)發(fā)管道中復(fù)雜的、有條理的協(xié)作,那么最好和可靠的方法是什么?
最后,如果現(xiàn)在軟件需求方的工作也是監(jiān)視和檢測(cè)來(lái)自信譽(yù)良好的供應(yīng)商(如SolarWinds)的二進(jìn)制文件,那么在現(xiàn)有人員配備和技術(shù)限制的情況下,他們應(yīng)該如何去做?
這些安全問(wèn)題為DevOps、軟件開(kāi)發(fā)和信息安全社區(qū)增加了難度。SolarWinds 事件并非偶然,在攻擊發(fā)生之后的幾個(gè)月里,網(wǎng)絡(luò)犯罪分子不斷將軟件供應(yīng)鏈安全盲點(diǎn)作為目標(biāo)訪問(wèn)IT環(huán)境。
軟件供應(yīng)鏈安全漏洞
在 SolarWinds 軟件中植入的惡意軟件 SunBurst 暴露了開(kāi)發(fā)組織和軟件供應(yīng)鏈安全方面的缺陷。通過(guò)分析發(fā)現(xiàn),攻擊者在實(shí)際發(fā)起攻擊的前幾個(gè)月就獲得了對(duì)公司開(kāi)發(fā)環(huán)境的訪問(wèn)權(quán)限。同時(shí)他們仔細(xì)研究了底層源代碼并模仿 SolarWinds 的風(fēng)格和命名法,添加了惡意代碼,并通過(guò)公司構(gòu)建系統(tǒng)的妥協(xié)將其集成到 SolarWinds Orion 應(yīng)用程序中。
盡管經(jīng)過(guò)精心策劃和實(shí)施,SolarWinds 攻擊也并非萬(wàn)無(wú)一失。攻擊者留下了一些線(xiàn)索,比如他們?cè)黾拥腤indows原生函數(shù)、使用加密、壓縮等。攻擊者使用壓縮和Base64編碼對(duì)這些數(shù)據(jù)進(jìn)行了模糊化處理,這些編碼旨在愚弄尋找明文變體和其他可疑字符串的簡(jiǎn)單威脅搜索規(guī)則。植入代碼過(guò)程中反復(fù)出現(xiàn)的混淆足以讓仔細(xì)觀察的人警覺(jué)起來(lái),讓攻擊容易被發(fā)現(xiàn)。
問(wèn)題在于,很少有軟件開(kāi)發(fā)商擁有員工、專(zhuān)業(yè)知識(shí)或工具來(lái)梳理大量代碼庫(kù)以發(fā)現(xiàn)少數(shù)粗略的混淆字符串或在部署大型二進(jìn)制文件之前分析它們的異常行為。ReversingLab一項(xiàng)對(duì)300多名IT專(zhuān)業(yè)人員調(diào)查顯示,87%的受訪者知道軟件篡改可能導(dǎo)致企業(yè)安全漏洞。約40%的受訪者表示,CI/CD工具鏈暴露對(duì)其組織構(gòu)成風(fēng)險(xiǎn)。僅有三分之一(37%)的受訪者表示他們有辦法檢測(cè)到這種軟件篡改攻擊。
軟件開(kāi)發(fā)組織面臨的威脅在增長(zhǎng)
攻擊者意識(shí)到軟件開(kāi)發(fā)管道中的這一弱點(diǎn),這就是對(duì)開(kāi)發(fā)組織的威脅正在轉(zhuǎn)移的原因。僅在去年,我們就看到了一系列針對(duì)開(kāi)發(fā)基礎(chǔ)設(shè)施和軟件供應(yīng)鏈的攻擊。在 2021 年 4 月的一次事件中,攻擊者成功地將未經(jīng)審查的惡意代碼直接推送到 PHP 主分支,最終導(dǎo)致一個(gè)受感染的正式版本的 PHP 被推送到所有 PHP 網(wǎng)站。同月,另一公司發(fā)生了一起入侵事件,涉及未經(jīng)授權(quán)訪問(wèn)和修改該公司的Bash Uploader腳本。對(duì)該事件調(diào)查后發(fā)現(xiàn),未經(jīng)授權(quán)的第三方對(duì)該腳本中的一行代碼的更改使攻擊者(可能)能導(dǎo)出存儲(chǔ)在用戶(hù)持續(xù)集成 (CI) 環(huán)境中的信息。
開(kāi)發(fā)團(tuán)隊(duì)需要新工具
對(duì)于開(kāi)發(fā)組織來(lái)說(shuō),滿(mǎn)足軟件交付的截至期限和軟件供應(yīng)鏈安全之間存在橋梁。軟件開(kāi)發(fā)組織需要的是一種確保CI/CD管道和發(fā)布包安全的方法,確保他們的軟件構(gòu)建沒(méi)有代碼篡改和其他通過(guò)構(gòu)建系統(tǒng)引入的供應(yīng)鏈風(fēng)險(xiǎn)。包括通過(guò)監(jiān)視惡意軟件更改來(lái)檢測(cè)妥協(xié)的能力,并在軟件構(gòu)建過(guò)程中實(shí)施安全控制和故障條件,以確保可以放心地發(fā)布代碼;另一方面在編寫(xiě)代碼及引入第三方代碼及組件時(shí),使用靜態(tài)代碼檢測(cè)及開(kāi)源組件分析等工具檢測(cè)并修復(fù)代碼缺陷,以減少因代碼的問(wèn)題引入軟件安全缺陷。
在客戶(hù)一端,組織需要一種方法來(lái)檢測(cè)編譯二進(jìn)制文件中的惡意行為和未經(jīng)授權(quán)的軟件更改,然后再將其發(fā)布到生產(chǎn)環(huán)境中,同時(shí)還要監(jiān)控可能隱藏在編譯代碼中的安全缺陷或可利用軟件漏洞等風(fēng)險(xiǎn)。
來(lái)源:
https://devops.com/supply-chain-security-has-the-next-solarwinds-already-happened/
