飛象網(wǎng)訊 軟件供應(yīng)鏈環(huán)節(jié)多且復(fù)雜。網(wǎng)絡(luò)不法分子可能只需攻擊其中某個(gè)有缺陷的環(huán)節(jié),就能造成大規(guī)模的破壞。他們可以通過(guò)多種途徑攻擊軟件供應(yīng)鏈,比如通過(guò)攻擊網(wǎng)站建設(shè)者、開(kāi)源組件或第三方數(shù)據(jù)存儲(chǔ)等。
近幾個(gè)月,Log4Shell漏洞風(fēng)波未平,Spring4Shell漏洞風(fēng)險(xiǎn)又起。這兩個(gè)零日漏洞都反映了不安全的開(kāi)源組件可能對(duì)業(yè)務(wù)產(chǎn)生影響。Log4j2是支持企業(yè)應(yīng)用日志功能的開(kāi)源組件;Spring Core Framework是Java軟件開(kāi)發(fā)中最常用的框架之一。大多數(shù)企業(yè)級(jí)應(yīng)用,包括我們常用的購(gòu)物網(wǎng)站、社交媒體等,都有很大幾率用到這些組件。一旦遭遇攻擊,影響范圍甚廣。
新思科技(Synopsys)發(fā)布的《2021年開(kāi)源安全和風(fēng)險(xiǎn)分析》報(bào)告(OSSRA)曾指出,開(kāi)源和第三方軟件的使用持續(xù)快速增長(zhǎng)。這意味著開(kāi)發(fā)團(tuán)隊(duì)在企業(yè)軟件開(kāi)發(fā)生命周期(SDLC)中一般會(huì)以某種形式引入開(kāi)源組件。
新思科技中國(guó)區(qū)軟件應(yīng)用安全技術(shù)總監(jiān)楊國(guó)梁指出:“如果您的團(tuán)隊(duì)是軟件提供商,那么對(duì)開(kāi)源的使用以及構(gòu)建應(yīng)用程序所依賴(lài)的第三方和商業(yè)組件,將使您成為供應(yīng)鏈的一部分。不過(guò),需要注意的是,這條供應(yīng)鏈并不是只有您的團(tuán)隊(duì),它不限于開(kāi)發(fā)和交付環(huán)節(jié),而是一直延伸到應(yīng)用程序的最終用戶(hù)。供應(yīng)鏈包含與應(yīng)用程序相關(guān)或在其編寫(xiě)、開(kāi)發(fā)和部署中使用到的所有組件和服務(wù)。由此可見(jiàn),供應(yīng)鏈還包括由開(kāi)發(fā)團(tuán)隊(duì)創(chuàng)建的專(zhuān)有代碼和組件、軟件使用的 API 和云服務(wù),以及用于構(gòu)建該軟件并將其交付給最終用戶(hù)的基礎(chǔ)架構(gòu)!
從根本上講,確保軟件供應(yīng)鏈安全必須考慮如何保護(hù)應(yīng)用遠(yuǎn)離上游風(fēng)險(xiǎn),以及如何防止企業(yè)產(chǎn)生下游風(fēng)險(xiǎn)。為了幫助您輕松便捷地開(kāi)始解決供應(yīng)鏈安全問(wèn)題,新思科技?xì)w納了有助于安全活動(dòng)取得成功的六個(gè)考慮因素。
1. 您使用的開(kāi)源軟件是否安全?
很難說(shuō)開(kāi)源軟件和閉源代碼哪一個(gè)帶來(lái)的風(fēng)險(xiǎn)更多,然而如果不能對(duì)開(kāi)源組件進(jìn)行充分防護(hù),就會(huì)給企業(yè)的整體安全帶來(lái)巨大風(fēng)險(xiǎn)。開(kāi)發(fā)人員很可能在其創(chuàng)建的所有應(yīng)用程序中都使用開(kāi)源組件。新思科技2021年OSSRA報(bào)告證明了這一事實(shí):98%的被掃描代碼庫(kù)中包含開(kāi)源組件。
開(kāi)源很可能被采用在每個(gè)項(xiàng)目,但通常不會(huì)引起注意。合作的軟件供應(yīng)商也是如此;他們的開(kāi)發(fā)人員也會(huì)有意或無(wú)意地將開(kāi)源引入到其項(xiàng)目中。雖然這本質(zhì)上并不是一件壞事,但也確實(shí)為上游風(fēng)險(xiǎn)打開(kāi)了敞口。您有責(zé)任跟蹤供應(yīng)鏈中的開(kāi)源組件、許可證和漏洞及其相關(guān)風(fēng)險(xiǎn)。鑒于這項(xiàng)工作規(guī)模很大,因此,僅依賴(lài)人工是行不通的,而且維護(hù)也極其費(fèi)時(shí)費(fèi)力。
除安全風(fēng)險(xiǎn)外,企業(yè)或組織還必須考慮法律風(fēng)險(xiǎn)。與安全風(fēng)險(xiǎn)相比,許可證違規(guī)和沖突等原因而產(chǎn)生的法律影響通常不太受到關(guān)注,但很容易演變成并購(gòu)、供應(yīng)商糾紛和分銷(xiāo)問(wèn)題。供應(yīng)鏈漏洞產(chǎn)生的法律風(fēng)險(xiǎn)會(huì)對(duì)軟件供應(yīng)商或分銷(xiāo)商的聲譽(yù)和財(cái)務(wù)安全構(gòu)成威脅。
另外,當(dāng)開(kāi)發(fā)團(tuán)隊(duì)使用過(guò)時(shí)的組件、近期未更新的組件、或因開(kāi)發(fā)社區(qū)人手不足而未能對(duì)代碼進(jìn)行積極維護(hù)的項(xiàng)目組件時(shí),就可能引入運(yùn)營(yíng)風(fēng)險(xiǎn)。除了帶來(lái)代碼質(zhì)量、可靠性和可維護(hù)性問(wèn)題外,運(yùn)營(yíng)風(fēng)險(xiǎn)也是引發(fā)安全風(fēng)險(xiǎn)的途徑。
2. 您編寫(xiě)的代碼是否安全?
由于大部分的應(yīng)用代碼都是開(kāi)源代碼,因此,總體攻擊面的一大部分都是針對(duì)開(kāi)源組件的,這點(diǎn)不足為奇。然而,確保您的開(kāi)發(fā)人員編寫(xiě)的代碼能夠有效地保護(hù)敏感數(shù)據(jù)和系統(tǒng)免受網(wǎng)絡(luò)攻擊仍然至關(guān)重要。
無(wú)意中編碼到應(yīng)用中的安全缺陷和漏洞為諸多攻擊打開(kāi)了大門(mén),例如緩沖區(qū)溢出、SQL注入和跨站腳本等。假如系統(tǒng)發(fā)生漏洞,這些安全缺陷會(huì)導(dǎo)致敏感數(shù)據(jù)容易暴露。攻擊者可以利用這些漏洞注入惡意代碼,然后伺機(jī)滲透操作系統(tǒng)以及運(yùn)行
該軟件的企業(yè)所維護(hù)的其它系統(tǒng)
3. 您能保護(hù)自己不被故意埋下的惡意代碼所傷害嗎?
權(quán)威獨(dú)立調(diào)研公司Forrester在2021年網(wǎng)絡(luò)安全事件預(yù)測(cè)中指出,三分之一的安全漏洞由內(nèi)部威脅引起。無(wú)論是心懷不滿(mǎn)的開(kāi)發(fā)人員創(chuàng)建后門(mén),還是黑客入侵系統(tǒng)并發(fā)起更大的攻擊,處心積慮埋下的惡意代碼都會(huì)給您構(gòu)建和運(yùn)行的軟件帶來(lái)重大風(fēng)險(xiǎn)。由于大多數(shù)的惡意代碼都是由熟悉軟件系統(tǒng)的人員植入,因此,易受攻擊的系統(tǒng)看起來(lái)可能完全正常,導(dǎo)致使用傳統(tǒng)工具難以識(shí)別出這些風(fēng)險(xiǎn)。
4. 您的開(kāi)發(fā)和交付基礎(chǔ)架構(gòu)是否安全?
數(shù)據(jù)存儲(chǔ)需求不斷增長(zhǎng),部署期限越來(lái)越短,而且快速可擴(kuò)展性變得空前重要。面對(duì)這種情況,軟件行業(yè)越來(lái)越依賴(lài)云技術(shù)為其應(yīng)用軟件提供動(dòng)力。這種云原生方法在某種程度上意味著采用能夠滿(mǎn)足可擴(kuò)展性和敏捷性需求的應(yīng)用部署方法。這正是容器化和基礎(chǔ)架構(gòu)即代碼 (IaC) 的用武之地。因此,企業(yè)需要很好地了解哪些軟件被打包到容器中,以及云平臺(tái)如何使用IaC來(lái)確保部署安全。
5. 您的應(yīng)用與其它系統(tǒng)進(jìn)行通信的API和協(xié)議是否安全?
API和協(xié)議允許您在應(yīng)用和用戶(hù)之間快速地傳輸數(shù)據(jù)和服務(wù)。盡管這些方法日益普及,但大多數(shù)企業(yè)都難以維護(hù)其所使用的API清單。因此,他們對(duì)哪些應(yīng)用和用戶(hù)可以訪(fǎng)問(wèn)哪些服務(wù)的控制力有限。
缺乏對(duì)API的可視性和控制會(huì)威脅到關(guān)鍵系統(tǒng)和敏感用戶(hù)信息的安全性。黑客會(huì)伺機(jī)利用固有缺陷來(lái)執(zhí)行破壞關(guān)鍵系統(tǒng)或發(fā)動(dòng)中間人攻擊(本質(zhì)上是竊聽(tīng))等行為,最終目標(biāo)是竊取密鑰、密碼、登錄憑據(jù)和賬戶(hù)詳情等信息,以便在供應(yīng)鏈的其它地方發(fā)起殺傷性更大的攻擊。
6. 您的軟件供應(yīng)鏈對(duì)客戶(hù)和其他利益相關(guān)者是否透明?
讓消費(fèi)者了解他們正在采購(gòu)的應(yīng)用中包含哪些組件,從而更加準(zhǔn)確及時(shí)地發(fā)現(xiàn)并消除安全與合規(guī)問(wèn)題。維護(hù)軟件物料清單(SBOM)也是供應(yīng)鏈安全計(jì)劃取得成功的最佳實(shí)踐和基石。如果沒(méi)有針對(duì)應(yīng)用中所含內(nèi)容的完整動(dòng)態(tài)視圖,您自己、供應(yīng)商和消費(fèi)者都將無(wú)法自信地確定所面臨的風(fēng)險(xiǎn)。
新思科技開(kāi)源專(zhuān)家王永雷總結(jié)道:“我們建議企業(yè)結(jié)合上面列出的問(wèn)題,檢查現(xiàn)有的安全活動(dòng)、政策和程序。這樣可以有助于找到供應(yīng)鏈安全計(jì)劃中需要關(guān)注的薄弱環(huán)節(jié)。雖然供應(yīng)鏈安全看似遙不可及,但理清其中的關(guān)聯(lián),將其分解為清晰簡(jiǎn)潔的考慮因素,能夠幫助您更快地構(gòu)建安全、可信的供應(yīng)鏈。當(dāng)然,這也需要借助Black Duck軟件組成分析等工具,創(chuàng)建和管理企業(yè)級(jí)的上下游軟件供應(yīng)鏈完整的SBOM,處理已識(shí)別出的薄弱環(huán)節(jié), 并消除潛在的風(fēng)險(xiǎn)!