侵權(quán)投訴
訂閱
糾錯
加入自媒體

軟件供應(yīng)鏈安全如此重要,但為什么難以解決?

軟件供應(yīng)鏈安全如今已經(jīng)成了一個世界性難題。從2021年底Apache Log4j“核彈級”風(fēng)險(xiǎn)爆發(fā),時(shí)至今日影響仍然存在,保障軟件供應(yīng)鏈安全已成為業(yè)界關(guān)注焦點(diǎn)。

但近2年時(shí)間過去了,軟件供應(yīng)鏈安全問題似乎并沒有得以緩解,安全事件層出不窮,開源漏洞風(fēng)險(xiǎn)與日俱增。

Venafi對來自全球不同企業(yè)的1000位CIO調(diào)研顯示,其中82%的人表示他們的組織容易受到針對軟件供應(yīng)鏈的網(wǎng)絡(luò)攻擊。

奇安信《2023中國軟件供應(yīng)鏈安全分析報(bào)告》顯示,開源項(xiàng)目維護(hù)者對安全問題的重視度和修復(fù)積極性較低。

同時(shí),不活躍(超過一年未更新發(fā)布過版本)的開源軟件,一旦出現(xiàn)安全漏洞,難以得到及時(shí)修復(fù)。

為什么人人都知道軟件供應(yīng)鏈安全問題很重要,卻難以解決?

軟件供應(yīng)鏈安全與開源息息相關(guān)

要搞清楚軟件供應(yīng)鏈安全的癥結(jié),先得厘清其涵義。

基于中國信通院的定義,軟件供應(yīng)鏈安全是指“軟件供應(yīng)鏈上軟件設(shè)計(jì)與開發(fā)的各個階段中來自本身的編碼過程、工具、設(shè)備或供應(yīng)鏈上游的代碼、模塊和服務(wù)的安全,以及軟件交付渠道及使用過程安全的總和。”

這里是把軟件供應(yīng)鏈安全分為了兩部分:一是軟件自身的供應(yīng)鏈安全,二是軟件供應(yīng)鏈交界面的安全管理。

軟件自身的供應(yīng)鏈,可以簡單理解為應(yīng)用的代碼來源,應(yīng)用的代碼來源主要有兩個部分:一個是產(chǎn)品研發(fā)自己寫的代碼,另一個就是引入的第三方的開源組件代碼。針對這兩者的安全檢測也是我們常說的開發(fā)安全。

軟件供應(yīng)鏈交接界面,針對的是開源軟件或者商業(yè)采購第三方軟件。

這部分的供應(yīng)鏈安全管理,主要是在交付和使用過程中進(jìn)行相關(guān)的準(zhǔn)入檢測,并形成標(biāo)準(zhǔn)化可溯源的軟件物料清單。

事實(shí)上,軟件供應(yīng)鏈的安全的重要性提升和開源的大趨勢是息息相關(guān)的。

軟件開源化的趨勢是一個累積的過程,十幾年的時(shí)間經(jīng)歷了一個量變到質(zhì)變的階段,現(xiàn)在全球的開發(fā)者都在依賴開源組件來做應(yīng)用的研發(fā),絕大多數(shù)現(xiàn)代代碼庫都包含開源組件。

但是開源的繁榮本身就建立在一系列自由許可協(xié)議和免責(zé)條款上——其中也包括風(fēng)險(xiǎn)免責(zé),“使用者風(fēng)險(xiǎn)自負(fù)”是開源社區(qū)的共識。

近年來,開源軟件自身的安全狀況持續(xù)下滑,企業(yè)軟件開發(fā)中因使用開源軟件而引入安全風(fēng)險(xiǎn)的狀況更加糟糕,例如:危險(xiǎn)開源組件的使用、自研代碼缺陷漏洞引入、容器鏡像漏洞引入等,這些風(fēng)險(xiǎn)導(dǎo)致軟件系統(tǒng)的整體安全防護(hù)難度越來越大。

因此,開源軟件供應(yīng)鏈安全風(fēng)險(xiǎn)治理任重道遠(yuǎn)。

直面軟件供應(yīng)鏈安全治理挑戰(zhàn)

盡管業(yè)界已經(jīng)普遍認(rèn)識到軟件供應(yīng)鏈安全的重要性,但治理起來依然面臨重重挑戰(zhàn)。

騰訊安全開發(fā)安全專家劉天勇表示,從技術(shù)角度看,軟件供應(yīng)鏈安全的治理的難點(diǎn)可以分成三部分:

一是檢測門檻高。

開源組件的來源復(fù)雜,依靠單一的技術(shù)手段難以做到全面覆蓋。

市面上常見的開源組件檢測技術(shù)是基于源代碼的SCA分析,但基于源碼的SCA難以覆蓋軟件供應(yīng)鏈交接界面的第三方軟件成品。

二是修復(fù)成本高。

在企業(yè)開始做開源組件的風(fēng)險(xiǎn)治理的時(shí)候,存量業(yè)務(wù)往往會發(fā)現(xiàn)大量的漏洞,但這些業(yè)務(wù)大多數(shù)處于上線運(yùn)營的階段,修復(fù)的過程對研發(fā)資源是一個較大的消耗,同時(shí)對安全團(tuán)隊(duì)來說也是較大的推動阻力。

三是攻擊影響范圍廣。

第三方開源組件的使用,間接擴(kuò)大了軟件的受攻擊面,針對上游供應(yīng)鏈環(huán)節(jié)的漏洞挖掘和惡意利用,能夠快速覆蓋大量的下游軟件,同時(shí)相關(guān)的攻擊具有較高的隱蔽性,常用的安全檢測手段難以進(jìn)行全面的防御,目前軟件供應(yīng)鏈攻擊已經(jīng)成為攻防演練中非常常用的攻擊手段。

此外,供應(yīng)商對產(chǎn)品安全性的重視程度不足、開發(fā)人員安全開發(fā)能力有限等,導(dǎo)致第三方供應(yīng)商產(chǎn)品安全質(zhì)量參差不齊,也加大了軟件供應(yīng)鏈安全治理的難度。

那么,企業(yè)該如何應(yīng)對這些挑戰(zhàn)?在技術(shù)上是否有對應(yīng)的解決手段?

SCA和SBOM

當(dāng)前,SCA(Software Composition Analysis)是目前業(yè)界主要的解決開源組件風(fēng)險(xiǎn)檢測的手段。

SCA是一類工具的統(tǒng)稱,可以通過分析源代碼識別其中引用的開源組件信息(名稱、版本、校驗(yàn)值)、組件漏洞、開源協(xié)議等信息,從而幫助開發(fā)人員和安全人員快速對于企業(yè)代碼中的開源風(fēng)險(xiǎn)進(jìn)行識別。

隨著供應(yīng)鏈安全開始獲得更多關(guān)注,SCA工具內(nèi)置了對與跟蹤組件相關(guān)的漏洞和安全風(fēng)險(xiǎn)的更深入分析和管理,并成為企業(yè)生成SBOM和管理其開源使用的主要方法之一。

Linux基金會最近的一項(xiàng)調(diào)查發(fā)現(xiàn),SBOM的意識度很高,目前有47%的IT供應(yīng)商、服務(wù)提供商和受監(jiān)管的行業(yè)在使用SBOM,88%的受訪者預(yù)計(jì)將在2023年使用SBOM。

代碼掃描和滲透測試

保護(hù)軟件供應(yīng)鏈的核心是一個應(yīng)用程序安全問題,因此傳統(tǒng)的應(yīng)用程序安全代碼掃描工具將在這個解決方案堆棧中發(fā)揮重要作用。

靜態(tài)應(yīng)用程序安全測試(SAST)、動態(tài)應(yīng)用程序安全測試(DAST)、交互式應(yīng)用程序安全測試 (IAST)和運(yùn)行時(shí)應(yīng)用程序掃描保護(hù)(RASP)工具,以及明智地使用滲透測試,可以幫助企業(yè)測試他們自己的內(nèi)部代碼,并提供對第三方代碼的進(jìn)一步檢查,以作為應(yīng)對風(fēng)險(xiǎn)的后盾。

相比于SCA和SBOM產(chǎn)品依賴于已知的、先前發(fā)現(xiàn)的漏洞,徹底的應(yīng)用程序滲透評估可能會在檢查第三方庫和框架時(shí)識別出脆弱的代碼使用情況,而這些代碼以前可能在其他地方?jīng)]有報(bào)告過。

此外,共享機(jī)密掃描和管理也正在從一個獨(dú)立的工具類別快速轉(zhuǎn)變?yōu)橐粋功能,該功能正在融入軟件供應(yīng)鏈安全工具的各個方面。

這是因?yàn)樵陂_發(fā)和實(shí)際環(huán)境中,針對嵌入在源代碼、配置文件和基礎(chǔ)設(shè)施代碼中的機(jī)密數(shù)據(jù)的網(wǎng)絡(luò)攻擊活動仍然猖獗,因此迫切需要解決這個問題。

此外,依賴關(guān)系管理和分析、受信任的存儲庫和注冊中心、安全代碼簽名、CI/ CD管道安全性、第三方風(fēng)險(xiǎn)管理平臺、IaC安全和CNAPP,都是軟件供應(yīng)鏈安全治理要重點(diǎn)關(guān)注的對象。

正如Gartner公司的高級主管兼應(yīng)用安全分析師Dale Gardner所說:“當(dāng)人們關(guān)注供應(yīng)鏈安全時(shí),他們關(guān)注的是使用SCA、SBOM等工具,這些都是解決方案中非常重要的部分,但它們實(shí)際上只是一種不全面的解決方案。”

軟件供應(yīng)鏈安全治理并非純粹的技術(shù)問題

事實(shí)上,軟件供應(yīng)鏈安全問題是人、流程和知識的問題,而非純粹的技術(shù)問題。

在解決軟件研發(fā)過程的供應(yīng)鏈安全問題時(shí),需要貼合SDLC(軟件開發(fā)生命周期)考慮供應(yīng)鏈安全風(fēng)險(xiǎn)。

為此,Goolge提出了SLSA(Supply-chain Levels for Software Artifacts)框架,微軟提出了SCIM(Supply Chain Integrity Model)框架以及CNCF(云原生計(jì)算基金會)的軟件供應(yīng)鏈最佳實(shí)踐,三種框架都強(qiáng)調(diào)對于源代碼、第三方依賴、構(gòu)建系統(tǒng)、制品、發(fā)布、部署的安全性。

以SLSA框架為例,SLSA是一個標(biāo)準(zhǔn)清單和控制框架,用于緩解軟件項(xiàng)目中的代碼和軟件包的供應(yīng)鏈風(fēng)險(xiǎn)。

SLSA框架從三個方面評估軟件供應(yīng)鏈的安全等級,分別是源碼、構(gòu)建和依賴,并可劃分為4個級別:

Level 1:構(gòu)建過程是完全腳本化或自動化,且能夠基于結(jié)果識別來源源碼;

Level 2:使用有身份認(rèn)證能力的版本控制和托管服務(wù),確保構(gòu)建來源是可信的;

Level 3:源碼和構(gòu)建平臺符合可審計(jì)標(biāo)準(zhǔn),且有成品完整性保證;

Level 4:所有變更均有雙人評審,且有封閉的、可重復(fù)的構(gòu)建過程。

以Level 4等級要求為例,在軟件構(gòu)建過程中企業(yè)需要實(shí)踐以下4點(diǎn):可驗(yàn)證的版本控制、雙人評審、安全的自動化構(gòu)建流程/環(huán)境、可重復(fù)構(gòu)建的流程。

結(jié)語

軟件供應(yīng)鏈上每一個環(huán)節(jié)的安全問題,都有可能成為黑客攻擊的切入口。千里之堤毀于蟻穴,把住軟件供應(yīng)鏈每個關(guān)卡,莫讓小小漏洞成為洪水猛獸。

 相關(guān)閱讀

軟件供應(yīng)鏈安全治理需打好“團(tuán)體賽”

開源“新風(fēng)潮”

拉響警報(bào)!2023年三大網(wǎng)絡(luò)安全威脅不容忽視

網(wǎng)絡(luò)安全“廣闊天地大有作為”,還有這個短板亟需補(bǔ)齊

【科技云報(bào)道原創(chuàng)】

轉(zhuǎn)載請注明“科技云報(bào)道”并附本文鏈接

       原文標(biāo)題 : 軟件供應(yīng)鏈安全如此重要,但為什么難以解決?

聲明: 本文由入駐維科號的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報(bào)。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評論

暫無評論

安防 獵頭職位 更多
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號