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

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

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

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

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

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

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

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

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

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

基于中國信通院的定義,軟件供應(yīng)鏈安全是指“軟件供應(yīng)鏈上軟件設(shè)計與開發(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)化可溯源的軟件物料清單。

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

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

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

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

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

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

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

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

一是檢測門檻高。

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

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

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

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

三是攻擊影響范圍廣。

第三方開源組件的使用,間接擴大了軟件的受攻擊面,針對上游供應(yīng)鏈環(huán)節(jié)的漏洞挖掘和惡意利用,能夠快速覆蓋大量的下游軟件,同時相關(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)險檢測的手段。

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

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

Linux基金會最近的一項調(diào)查發(fā)現(xiàn),SBOM的意識度很高,目前有47%的IT供應(yīng)商、服務(wù)提供商和受監(jiān)管的行業(yè)在使用SBOM,88%的受訪者預(yù)計將在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īng)用程序掃描保護(hù)(RASP)工具,以及明智地使用滲透測試,可以幫助企業(yè)測試他們自己的內(nèi)部代碼,并提供對第三方代碼的進(jìn)一步檢查,以作為應(yīng)對風(fēng)險的后盾。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

結(jié)語

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

 相關(guān)閱讀

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

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

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

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

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

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

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

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

發(fā)表評論

0條評論,0人參與

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

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

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

暫無評論

暫無評論

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

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