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

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

如今,軟件供應(yīng)鏈攻擊已成為突破業(yè)務(wù)防線的新路徑之一。在近幾年的重大安全事件、實戰(zhàn)攻防演練中,已頻現(xiàn)軟件供應(yīng)鏈攻擊的身影。

2020年12月,基礎(chǔ)網(wǎng)絡(luò)管理軟件供應(yīng)商SolarWinds遭遇軟件供應(yīng)鏈攻擊,受到攻擊的不僅是SolarWinds服務(wù)的多家科技公司,還有其服務(wù)的大量制造業(yè)公司。隨著時間的推移,此次供應(yīng)鏈攻擊事件波及范圍極大,包括政府部門、關(guān)鍵基礎(chǔ)設(shè)施以及多家全球500強(qiáng)企業(yè)。

事故發(fā)生后的1個月,SolarWinds的股價下跌了50%。2021年12月,Apache開源項目Log4j爆出核彈級漏洞,攻擊者僅需一段代碼就可以遠(yuǎn)程控制目標(biāo)服務(wù)器。

由于Log4j被廣泛地應(yīng)用在中間件、開發(fā)框架、Web應(yīng)用中,而這些中間件和開發(fā)框架作為軟件基礎(chǔ)又被其他軟件系統(tǒng)使用,因此Log4j被極其廣泛的應(yīng)用在各大軟件系統(tǒng)里面。利用此漏洞進(jìn)行軟件供應(yīng)鏈攻擊造成的嚴(yán)重性、影響面,堪稱2021年之最。

除此之外,Linux“臟管道”事件、周下載量超過700萬次的JavaScript流行庫ua-parser 賬戶遭接管、影響多家大廠的依賴混淆、PHP源代碼事件等供應(yīng)鏈安全事件頻發(fā)。

據(jù)Sonatype公司的調(diào)查,供應(yīng)鏈攻擊行為比去年增加了430%。這盆冷水讓大多數(shù)開發(fā)人員意識到,他們的軟件供應(yīng)鏈有嚴(yán)重的安全問題。

過去幾十年,大大小的公司都把注意力聚焦在軟件構(gòu)建和各自的生產(chǎn)環(huán)境上,雖然在基礎(chǔ)設(shè)施方面做得非常好,但攻擊者卻到了更簡單的方法,即從敞開的供應(yīng)鏈大門中進(jìn)入。

事實上,軟件供應(yīng)鏈安全風(fēng)險防控并不容易,最大的挑戰(zhàn)就在于供應(yīng)鏈的復(fù)雜性。那么,軟件供應(yīng)鏈安全治理到底該如何做?

軟件供應(yīng)鏈安全的復(fù)雜性

所謂軟件供應(yīng)鏈攻擊,顧名思義,指的就是針對軟件供應(yīng)鏈所發(fā)動的網(wǎng)絡(luò)攻擊,攻擊者會先攻擊軟件供應(yīng)鏈中安全防護(hù)相對薄弱的部分,然后再利用軟件供應(yīng)鏈之間的相互連接(如軟件供應(yīng)、開源應(yīng)用)等,將風(fēng)險擴(kuò)大至上下游企業(yè),對大量的供應(yīng)商和最終用戶帶來巨大影響。

與其它攻擊形式相比,軟件供應(yīng)鏈攻擊往往會產(chǎn)生“牽一發(fā)而動全身”的效果。因此,僅僅對軟件供應(yīng)鏈某個單一環(huán)節(jié)進(jìn)行安全防護(hù)是遠(yuǎn)遠(yuǎn)不夠的,需要從其供應(yīng)過程和軟件自身安全出發(fā)。

根據(jù)軟件供應(yīng)鏈的特點,軟件供應(yīng)鏈的業(yè)務(wù)流程可以抽象成開發(fā)、交付以及應(yīng)用三個環(huán)節(jié)。

開發(fā)環(huán)節(jié)

主要是指軟件開發(fā)商的編程人員根據(jù)用戶(含定制用戶)的需求,進(jìn)行編程并完成軟件包提供的過程。該過程主要涉及用戶需求、編程語言、開發(fā)環(huán)境、開發(fā)框架、測試和封包等。

在這個階段,尚未有統(tǒng)一的、經(jīng)過安全檢驗的發(fā)布渠道,多數(shù)工具未經(jīng)檢測直接發(fā)布;工具及庫通常由商業(yè)公司或個人開發(fā),因代碼復(fù)雜,編程人員往往依據(jù)將易用性作為選擇開發(fā)配套的唯一標(biāo)準(zhǔn),缺乏安全的意識。

因此,在開發(fā)階段存在被病毒污染的可能,導(dǎo)致開發(fā)出的功能模塊默認(rèn)感染病毒。同時,在進(jìn)行源代碼打包或開發(fā)過程中,對功能模塊進(jìn)行后門留存,給程序的開發(fā)環(huán)境以及后續(xù)的使用環(huán)境,都帶來了安全隱患。

此外,程序開發(fā)環(huán)境一般屬于核心區(qū)域,一旦編程人員下載了不安全的工具,則可能直接導(dǎo)致整體編程環(huán)境出現(xiàn)重大安全隱患,所有從該環(huán)境出入的代碼,都可能存在泄密、篡改等風(fēng)險。在軟件測試環(huán)節(jié)也是如此。

如果進(jìn)行源代碼測試、封包的工具存在惡意代碼感染,則可能感染整體測試環(huán)境;測試人員不具備安全意識,測試電腦在不安全的環(huán)境進(jìn)行操作,則帶來次生感染。

交付環(huán)節(jié)

主要是指開發(fā)商或者推廣商通過互聯(lián)網(wǎng)網(wǎng)站、在線商城、社交工具、在線網(wǎng)盤或者通過存儲介質(zhì),將開發(fā)或定制的軟件交付給最終用戶。

在發(fā)布渠道方面,目前主流的軟件發(fā)布渠道缺乏有效的監(jiān)管,各應(yīng)用發(fā)布商缺乏對軟件發(fā)布的安全審核;從應(yīng)用在上傳至渠道用于下載的傳輸途徑、存儲、發(fā)布等環(huán)節(jié),易發(fā)生多維度的篡改行為,導(dǎo)致渠道風(fēng)險的發(fā)生;非官方發(fā)布平臺直接發(fā)布或被篡改并植入惡意代碼,造成感染。

在發(fā)布下載方面,軟件廠商出于推廣需要,多數(shù)軟件往往會對自有軟件進(jìn)行捆綁安裝,已形成了完整的灰色產(chǎn)業(yè)鏈,缺乏對捆綁軟件的審核機(jī)制。同時,常見如域名劫持(DNS)、內(nèi)容分發(fā)系統(tǒng)(CDN)緩存節(jié)點篡改等,導(dǎo)致用戶在不知情的情況下,下載存在惡意代碼或后門的軟件。

應(yīng)用環(huán)節(jié)

主要是指最終用戶使用該軟件產(chǎn)品,包括下載、安裝、注冊、付費、使用、故障修復(fù)、升級、卸載等全部過程。

在安裝方面,安裝源自身可能存在隱患,安裝時往往會配套一個腳本安裝工具代為執(zhí)行,但是安裝工具的出現(xiàn)無疑會增加整體使用供應(yīng)鏈的安全。

在升級方面,升級包是對原軟件進(jìn)行升級的代碼包,未經(jīng)認(rèn)證的升級包存在一定的安全風(fēng)險;官方廠商以及第三方非認(rèn)證組織往往會通過自身渠道進(jìn)行補(bǔ)丁包發(fā)布,終端用戶多數(shù)不會進(jìn)行分辨,下載即安裝。

在卸載方面,官方應(yīng)用往往會將卸載工具內(nèi)嵌至應(yīng)用中,但是對于部分應(yīng)用由于其卸載不便,且容易殘留,提供的第三方卸載工具,也會存在安全隱患。

軟件供應(yīng)鏈安全

治理框架的推進(jìn)

為了應(yīng)對不斷升級的軟件供應(yīng)鏈安全威脅,業(yè)界已經(jīng)在逐步推出軟件供應(yīng)鏈安全框架。

最為知名的莫過于Google的軟件供應(yīng)鏈安全框架SLSA,用于確保整個軟件供應(yīng)鏈中軟件工件完整性的端到端框架。

SLSA以Google內(nèi)部的“Borg二進(jìn)制授權(quán)”(BAB)為主導(dǎo)——Google八年來一直使用這一流程來驗證代碼出處和實現(xiàn)代碼身份。

SLSA希望鎖定軟件開發(fā)鏈中的所有內(nèi)容,從開發(fā)人員到源代碼、開發(fā)平臺和CI/CD系統(tǒng)、以及包存儲庫和依賴項。

CNCF基金會托管的in-toto項目,也是一個通過收集和驗證相關(guān)數(shù)據(jù)來保護(hù)軟件供應(yīng)鏈的框架。

它通過使庫能夠收集關(guān)于軟件供應(yīng)鏈行為的信息,并允許軟件消費者和項目經(jīng)理發(fā)布關(guān)于軟件供應(yīng)鏈實踐的政策來做到這一點,這些政策可以在部署或安裝軟件之前進(jìn)行驗證。

簡而言之,它有助于捕獲軟件供應(yīng)鏈中發(fā)生的事情,并確保它按照定義的策略發(fā)生。

在國內(nèi),中國信通院也在助力企業(yè)針對軟件全生命周期進(jìn)行安全管控,以全鏈路安全保障為目標(biāo),建立了一系列軟件供應(yīng)鏈安全標(biāo)準(zhǔn)體系,并落地評估測試。

中國信通院認(rèn)為,針對軟件供應(yīng)鏈安全保障流程,可劃分為軟件供應(yīng)鏈入口(對內(nèi)引入)、自身(自研應(yīng)用)、出口(對外供給)三大階段,應(yīng)從軟件來源、軟件安全合規(guī)、軟件資產(chǎn)管理、服務(wù)支持、安全應(yīng)急響應(yīng)多個維度,對軟件供應(yīng)鏈安全保障能力進(jìn)行規(guī)范,搭建軟件供應(yīng)鏈安全模型。

在落地實踐方面,中國信通院已牽頭制定了研運(yùn)安全工具標(biāo)準(zhǔn)體系,包括:靜態(tài)應(yīng)用程序安全測試工具(SAST)、交互式應(yīng)用程序安全測試工具(IAST)、軟件組成分析工具(SCA)、應(yīng)用運(yùn)行時自我保護(hù)系統(tǒng)(RASP)、軟件物料清單建設(shè)總體框架(SBOM)等多項標(biāo)準(zhǔn)。

事實上,要做好軟件供應(yīng)鏈安全,不僅要在安全技術(shù)及工具上對軟件全生命周期的每個階段進(jìn)行安全防護(hù),形成開發(fā)運(yùn)營安全閉環(huán),還要從組織文化、安全開發(fā)流程等多角度考慮,不斷優(yōu)化流程實踐,以建立更安全的環(huán)境。

       軟件供應(yīng)鏈安全的全球性政策

軟件供應(yīng)鏈安全是一個全球性問題,究其根本,是由于軟件行業(yè)全球化、市場化、模塊化的特點。為了防止諸如SolarWinds、Log4j等事件的再次發(fā)生,全球多國法規(guī)都在提升對供應(yīng)鏈安全的管控要求。

近期,美國和歐盟都發(fā)布了新的供應(yīng)鏈安全相關(guān)要求法案,要求廠商評估供應(yīng)鏈數(shù)字化產(chǎn)品的安全性。

美國和歐盟在各自的法案都提到了軟件安全檢測,軟件物料清單(SBOM)等內(nèi)容,這意味著通過強(qiáng)制性的網(wǎng)絡(luò)安全法規(guī)要求,企業(yè)必須通過披露SBOM、源代碼安全檢測等手段提升數(shù)字化產(chǎn)品安全性,才能繼續(xù)正常地銷售提供數(shù)字化產(chǎn)品。

美國白宮在9月14日發(fā)布了題為《通過安全的軟件開發(fā)實踐增強(qiáng)軟件供應(yīng)鏈的安全性》的備忘錄,要求供應(yīng)商產(chǎn)品需提供安全自我證明。自我證明是指開發(fā)人員必須提供以證明其符合安全軟件開發(fā)框架的文檔。

此外,美國政府還發(fā)布了《ICT供應(yīng)鏈風(fēng)險管理標(biāo)準(zhǔn)》(NIST SP800-161)、商用信息技術(shù)軟件及固件審查項目(VET)等,清楚界定了軟件供應(yīng)鏈中涉及存儲、檢索、修改、傳輸以及服務(wù)的相關(guān)標(biāo)準(zhǔn)與要求,在一定程度上規(guī)避了軟件供應(yīng)鏈面臨的諸多風(fēng)險。

歐盟在9月15日發(fā)布了題為《網(wǎng)絡(luò)彈性法案》(Cyber Resilience Act)的草案,旨在為聯(lián)網(wǎng)設(shè)備制定通用網(wǎng)絡(luò)安全標(biāo)準(zhǔn)。法案要求所有出口歐洲的數(shù)字化產(chǎn)品都必須提供安全保障、軟件物料清單SBOM、漏洞報告機(jī)制,以及提供安全補(bǔ)丁和更新。

違反規(guī)定的公司將面臨最高1500萬歐元或全球營收2.5%的罰款。在中國,近年來先后頒布的《中華人民共和國網(wǎng)絡(luò)安全法》、《網(wǎng)絡(luò)安全審查辦法》、《中華人民共和國國民經(jīng)濟(jì)和社會發(fā)展第十四個五年規(guī)劃和 2035 年遠(yuǎn)景目標(biāo)綱要》、《關(guān)鍵信息基礎(chǔ)設(shè)施安全保護(hù)條例》等政策法規(guī),都強(qiáng)調(diào)加強(qiáng)軟件供應(yīng)鏈的安全保障。

在標(biāo)準(zhǔn)制定方面,我國出臺了供應(yīng)鏈安全管理國家標(biāo)準(zhǔn)《信息安全技術(shù)ICT供應(yīng)鏈安全風(fēng)險管理指南》(GB/T 36637-2018),從產(chǎn)品全生命周期的角度開展風(fēng)險分析及管理,以實現(xiàn)供應(yīng)鏈的完整性、保密性、可用性和可控性安全目標(biāo)。

全國信息安全標(biāo)準(zhǔn)化技術(shù)委員會歸口的國家標(biāo)準(zhǔn)《信息安全技術(shù)軟件供應(yīng)鏈安全要求》已形成標(biāo)準(zhǔn)征求意見稿,規(guī)定了信息技術(shù)產(chǎn)品供應(yīng)方和需求方應(yīng)滿足的供應(yīng)鏈基本安全要求。

盡管國內(nèi)對軟件供應(yīng)鏈安全的重視認(rèn)知稍微滯后于國外,但隨著國內(nèi)技術(shù)的發(fā)展和安全意識覺醒,很快就能追趕上來。

結(jié)語

開源技術(shù)應(yīng)用、國際形勢復(fù)雜、軟件供應(yīng)鏈的多樣化,供應(yīng)鏈各個環(huán)節(jié)的攻擊急劇上升,已然成為網(wǎng)絡(luò)主要的安全成脅。想要做好軟件供應(yīng)鏈安全治理,需要打好“團(tuán)體賽”,由整個開源生態(tài)角色在供應(yīng)鏈的各個環(huán)節(jié),建立一系列的安全準(zhǔn)則和最佳實踐,切實保障整個網(wǎng)絡(luò)空間的安全。

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

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


       原文標(biāo)題 : 軟件供應(yīng)鏈安全治理需打好“團(tuán)體賽”

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

發(fā)表評論

0條評論,0人參與

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

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

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

暫無評論

暫無評論

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

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