開(kāi)源漏洞長(zhǎng)期普遍存在,軟件供應(yīng)鏈挑戰(zhàn)我國(guó)關(guān)基設(shè)施安全
近年來(lái),針對(duì)軟件供應(yīng)鏈的安全攻擊事件一直呈快速增長(zhǎng)態(tài)勢(shì),造成的危害越來(lái)越嚴(yán)重,防范軟件供應(yīng)鏈安全風(fēng)險(xiǎn),已經(jīng)迫在眉睫;開(kāi)源軟件漏洞頻現(xiàn):截至2020年底,CVE/NVD、CNNVD、CNVD等公開(kāi)漏洞庫(kù)中共收錄開(kāi)源軟件相關(guān)漏洞41342個(gè),其中高達(dá)13%(5366個(gè))為2020年度新增漏洞;研究發(fā)現(xiàn):近9成軟件項(xiàng)目存在已知開(kāi)源軟件漏洞;平均每個(gè)軟件項(xiàng)目存在66個(gè)已知開(kāi)源軟件漏洞;影響最廣的開(kāi)源軟件漏洞存在于44.3%的軟件項(xiàng)目中;15年前開(kāi)源軟件漏洞仍存在于多個(gè)軟件項(xiàng)目中。近期,安全實(shí)驗(yàn)室發(fā)布《2021年中國(guó)軟件供應(yīng)鏈安全綜合分析報(bào)告》。報(bào)告主要包括國(guó)內(nèi)企業(yè)自主開(kāi)發(fā)源代碼安全狀況分析、開(kāi)源軟件生態(tài)發(fā)展與安全狀況分析、國(guó)內(nèi)企業(yè)軟件開(kāi)發(fā)中開(kāi)源軟件應(yīng)用狀況分析、典型應(yīng)用系統(tǒng)供應(yīng)鏈安全風(fēng)險(xiǎn)實(shí)例分析、總結(jié)及建議等五個(gè)方面。
國(guó)內(nèi)企業(yè)自主開(kāi)發(fā)源代碼安全狀況
源代碼是軟件的原始形態(tài),位于軟件供應(yīng)鏈的源頭。源代碼安全是軟件供應(yīng)鏈安全的基礎(chǔ),其地位非常關(guān)鍵和重要。
2020年全年,奇安信代碼安全實(shí)驗(yàn)室對(duì)2001個(gè)國(guó)內(nèi)企業(yè)自主開(kāi)發(fā)的軟件項(xiàng)目源代碼進(jìn)行了安全缺陷檢測(cè),檢測(cè)的代碼總量為335011173行,共發(fā)現(xiàn)安全缺陷3387642個(gè),其中高危缺陷361812個(gè),整體缺陷密度為10.11個(gè)/千行,高危缺陷密度為1.08個(gè)/千行。
1、編程語(yǔ)言分布情況
在被檢測(cè)的2001個(gè)國(guó)內(nèi)企業(yè)自主開(kāi)發(fā)的軟件項(xiàng)目中,使用數(shù)量排名前3的編程語(yǔ)言為Java、PHP、C/C++,對(duì)應(yīng)的軟件項(xiàng)目數(shù)量分別為1492個(gè)、204個(gè)和97個(gè)??梢钥闯觯嚓P(guān)國(guó)內(nèi)企業(yè)在進(jìn)行軟件開(kāi)發(fā)時(shí)的首選語(yǔ)言是Java語(yǔ)言,占比高達(dá)75%。編程語(yǔ)言的總體分布情況如下圖所示。
圖片
2、典型安全缺陷檢出情況
輸入驗(yàn)證、路徑遍歷、跨站腳本、注入、NULL引用、資源管理、密碼管理、API誤用、配置管理、日志偽造等十類(lèi)安全缺陷是程序員在編寫(xiě)軟件代碼時(shí)經(jīng)常會(huì)出現(xiàn)的典型安全缺陷。
典型安全缺陷的檢出率可以體現(xiàn)出軟件源代碼的基本安全狀況(檢出率指含有某類(lèi)缺陷的軟件項(xiàng)目數(shù)占軟件項(xiàng)目總數(shù)的比例)。在被檢測(cè)的2001個(gè)軟件項(xiàng)目中,十類(lèi)典型安全缺陷的總體檢出率為77.8%,每類(lèi)典型缺陷的檢出率及排名如下表所示。
開(kāi)源軟件生態(tài)發(fā)展與安全狀況
Gartner表示,現(xiàn)代軟件大多數(shù)是被“組裝”出來(lái)的,不是被“開(kāi)發(fā)”出來(lái)的。根據(jù)知名研究機(jī)構(gòu)Forrester統(tǒng)計(jì),軟件開(kāi)發(fā)中,80~90%的代碼來(lái)自于開(kāi)源軟件。因此,現(xiàn)代軟件的源代碼絕大多數(shù)是混源代碼,由企業(yè)自主開(kāi)發(fā)的源代碼和開(kāi)源軟件代碼共同組成。開(kāi)源軟件是現(xiàn)代軟件開(kāi)發(fā)最基礎(chǔ)的原材料,與企業(yè)自主開(kāi)發(fā)的源代碼所處的軟件供應(yīng)鏈環(huán)節(jié)相同,也位于軟件供應(yīng)鏈的源頭,其代碼自身的安全狀況,會(huì)直接影響最終軟件的安全性。
報(bào)告從開(kāi)源軟件生態(tài)發(fā)展?fàn)顩r、開(kāi)源軟件源代碼安全狀況、開(kāi)源軟件公開(kāi)報(bào)告漏洞狀況、開(kāi)源軟件活躍度狀況等四個(gè)方面對(duì)2020年開(kāi)源軟件生態(tài)發(fā)展與安全狀況進(jìn)行綜合分析。
1、開(kāi)源軟件生態(tài)發(fā)展?fàn)顩r分析
據(jù)奇安信代碼安全實(shí)驗(yàn)室監(jiān)測(cè)和統(tǒng)計(jì),2019年底和2020年底,主流開(kāi)源軟件包生態(tài)系統(tǒng)中開(kāi)源項(xiàng)目總量分別為2841314個(gè)和3814194個(gè),一年間增長(zhǎng)了34.2%;截至2020年底,主流開(kāi)源軟件包生態(tài)系統(tǒng)中平均每個(gè)開(kāi)源項(xiàng)目有10.2個(gè)版本。可以看出,2020年開(kāi)源軟件生態(tài)更加繁榮,整體發(fā)展非常迅猛。
本報(bào)告中對(duì)八個(gè)典型的開(kāi)源軟件包生態(tài)系統(tǒng)進(jìn)行了進(jìn)一步的分析和比較,這八個(gè)包生態(tài)系統(tǒng)為Maven、NPM、Packagist、Pypi、Godoc、Nuget、Rubygems、Swift,具體分析如下。
NPM包生態(tài)項(xiàng)目數(shù)量最多,Godoc包生態(tài)增速最快。八個(gè)典型的開(kāi)源軟件包生態(tài)系統(tǒng)中開(kāi)源項(xiàng)目數(shù)量和增長(zhǎng)率情況如下圖所示,其中開(kāi)源項(xiàng)目數(shù)量最多的是NPM包生態(tài)系統(tǒng),截至2020年底,其開(kāi)源項(xiàng)目數(shù)量達(dá)到了1559835個(gè);開(kāi)源項(xiàng)目數(shù)量增速最快的是Godoc包生態(tài)系統(tǒng),2020年一年間的項(xiàng)目總量增速達(dá)到了36.2%。
Maven、Nuget、NPM包生態(tài)系統(tǒng)的開(kāi)源項(xiàng)目開(kāi)發(fā)者比較“勤奮”,開(kāi)源項(xiàng)目的平均版本數(shù)超過(guò)11個(gè)。截至2020年底,八個(gè)典型的開(kāi)源軟件包生態(tài)系統(tǒng)的開(kāi)源項(xiàng)目數(shù)量和版本數(shù)量如下表所示。其中,Maven包生態(tài)系統(tǒng)平均每個(gè)開(kāi)源項(xiàng)目有18.0個(gè)版本,Nuget包生態(tài)系統(tǒng)平均每個(gè)開(kāi)源項(xiàng)目有11.7個(gè)版本,NPM包生態(tài)系統(tǒng)平均每個(gè)開(kāi)源項(xiàng)目有11.0個(gè)版本。
2、開(kāi)源軟件源代碼安全狀況分析
奇安信代碼安全實(shí)驗(yàn)室于2015年初發(fā)起了“奇安信開(kāi)源項(xiàng)目檢測(cè)計(jì)劃”,該計(jì)劃是一項(xiàng)針對(duì)開(kāi)源軟件項(xiàng)目的公益性安全檢測(cè)計(jì)劃,旨在讓廣大開(kāi)發(fā)者關(guān)注和了解開(kāi)源軟件的安全問(wèn)題,提高軟件安全開(kāi)發(fā)意識(shí)和技能。
2020年全年,“奇安信開(kāi)源項(xiàng)目檢測(cè)計(jì)劃”對(duì)1364個(gè)開(kāi)源軟件項(xiàng)目的源代碼進(jìn)行了安全檢測(cè),代碼總量為124296804行,共發(fā)現(xiàn)安全缺陷1859129個(gè),其中高危缺陷117738個(gè)。2020年檢測(cè)的1364個(gè)開(kāi)源軟件項(xiàng)目整體缺陷密度為14.96個(gè)/千行,高危缺陷密度為0.95個(gè)/千行。
(1)編程語(yǔ)言分布情況
2020年檢測(cè)的1364個(gè)開(kāi)源項(xiàng)目中,一共涉及到7種編程語(yǔ)言,分別是Java、C/C++、Python、OC、Go、JavaScript、PHP,編程語(yǔ)言的分布情況如下圖所示。
(2)典型安全缺陷檢出情況
輸入驗(yàn)證、路徑遍歷、跨站腳本、注入、NULL引用、資源管理、密碼管理、API誤用、配置管理、日志偽造等十類(lèi)安全缺陷是程序員在編寫(xiě)軟件代碼時(shí)經(jīng)常會(huì)出現(xiàn)的典型安全缺陷。
典型安全缺陷的檢出率可以體現(xiàn)出軟件源代碼的基本安全狀況(檢出率指含有某類(lèi)缺陷的軟件項(xiàng)目數(shù)占軟件項(xiàng)目總數(shù)的比例)。在2020年檢測(cè)的1364個(gè)開(kāi)源軟件項(xiàng)目中,十類(lèi)典型安全缺陷的總體檢出率為56.3%,每類(lèi)典型缺陷的檢出率及排名如下表所示。
3、開(kāi)源軟件公開(kāi)報(bào)告漏洞狀況分析
據(jù)奇安信代碼安全實(shí)驗(yàn)室監(jiān)測(cè)與統(tǒng)計(jì),截至2020年底,CVE/NVD、CNNVD、CNVD等公開(kāi)漏洞庫(kù)中共收錄開(kāi)源軟件相關(guān)漏洞41342個(gè),其中5366個(gè)為2020年度新增漏洞。
(1)大型開(kāi)源項(xiàng)目漏洞總數(shù)及年度增長(zhǎng)TOP20
截至2020年底,歷史漏洞總數(shù)排名前20的大型開(kāi)源項(xiàng)目信息如下表所示。
2020年一年間,公開(kāi)報(bào)告漏洞數(shù)量增長(zhǎng)排名前20的大型開(kāi)源項(xiàng)目信息如下表所示。
(2)主流開(kāi)源軟件包生態(tài)系統(tǒng)漏洞總數(shù)及年度增長(zhǎng)TOP20
截至2020年底,主流開(kāi)源軟件包生態(tài)系統(tǒng)中歷史漏洞總數(shù)排名前20的開(kāi)源軟件信息如下表所示。
2020年一年間,主流開(kāi)源軟件包生態(tài)系統(tǒng)中公開(kāi)報(bào)告漏洞數(shù)量增長(zhǎng)排名前20的開(kāi)源軟件信息如下表所示
4、開(kāi)源軟件活躍度狀況分析
活躍度也是衡量開(kāi)源軟件安全性的一個(gè)重要維度。不活躍的開(kāi)源軟件,無(wú)論是更新頻率很低,或者被廢棄,一旦出現(xiàn)安全漏洞,難以得到及時(shí)的修復(fù),安全風(fēng)險(xiǎn)很高;活躍的開(kāi)源軟件中,如果其版本更新發(fā)布的頻率過(guò)高,同樣會(huì)增加使用者運(yùn)維的成本和安全風(fēng)險(xiǎn)。在選擇使用開(kāi)源軟件時(shí),應(yīng)該充分考慮這兩個(gè)因素。
本報(bào)告中分析了2020年主流開(kāi)源軟件包生態(tài)系統(tǒng)中開(kāi)源軟件的版本更新情況,可以一定程度上體現(xiàn)當(dāng)前開(kāi)源軟件活躍度的整體狀況。
(1)61.6%的開(kāi)源軟件項(xiàng)目處于不活躍狀態(tài)
我們將一年內(nèi)未更新發(fā)布過(guò)版本的開(kāi)源軟件項(xiàng)目定義為不活躍項(xiàng)目。2020年全年,主流開(kāi)源軟件包生態(tài)系統(tǒng)中不活躍的開(kāi)源軟件項(xiàng)目數(shù)量為2347794個(gè),占比達(dá)到61.6%。
本報(bào)告中對(duì)八個(gè)典型的開(kāi)源軟件包生態(tài)系統(tǒng)進(jìn)行了進(jìn)一步的分析和比較,這八個(gè)包生態(tài)系統(tǒng)為Maven、NPM、Packagist、Pypi、Godoc、Nuget、Rubygems、Swift,其中NPM的不活躍項(xiàng)目數(shù)量最多,達(dá)到1018533個(gè),Rubygems的不活躍項(xiàng)目比例最高,占比達(dá)到86.5%,具體數(shù)據(jù)見(jiàn)下表。
(2)13000多個(gè)開(kāi)源軟件一年內(nèi)更新發(fā)布超過(guò)100個(gè)版本
2020年全年,主流開(kāi)源軟件包生態(tài)系統(tǒng)中,更新發(fā)布100個(gè)以上版本的開(kāi)源項(xiàng)目有13411個(gè)。前述八個(gè)典型的開(kāi)源軟件包生態(tài)系統(tǒng)中,一年內(nèi)更新發(fā)布超過(guò)100個(gè)版本的項(xiàng)目數(shù)量見(jiàn)下表。
國(guó)內(nèi)軟件開(kāi)發(fā)中開(kāi)源軟件應(yīng)用狀況
現(xiàn)代軟件的源代碼絕大多數(shù)是混源代碼,由企業(yè)自主開(kāi)發(fā)的源代碼和開(kāi)源軟件代碼共同組成。本章內(nèi)容將針對(duì)國(guó)內(nèi)企業(yè)在進(jìn)行軟件開(kāi)發(fā)工作時(shí),使用開(kāi)源軟件的具體情況進(jìn)行分析。主要回答兩個(gè)問(wèn)題:一是國(guó)內(nèi)企業(yè)在軟件開(kāi)發(fā)中是否使用以及使用了多少開(kāi)源軟件?二是其使用的開(kāi)源軟件是否存在安全問(wèn)題?
2020年全年,奇安信代碼安全實(shí)驗(yàn)室對(duì)2557個(gè)國(guó)內(nèi)企業(yè)軟件項(xiàng)目中使用開(kāi)源軟件的情況進(jìn)行了分析,這些軟件項(xiàng)目的應(yīng)用領(lǐng)域涉及政府、金融、能源等重要行業(yè)。分析發(fā)現(xiàn),國(guó)內(nèi)企業(yè)在軟件開(kāi)發(fā)中普遍使用存在已知漏洞的開(kāi)源軟件,存在巨大的軟件供應(yīng)鏈安全風(fēng)險(xiǎn)。具體分析數(shù)據(jù)如下。
1、開(kāi)源軟件總體使用情況分析
(1)國(guó)內(nèi)企業(yè)軟件項(xiàng)目100%使用開(kāi)源軟件
在被分析的2557個(gè)國(guó)內(nèi)企業(yè)軟件項(xiàng)目中,無(wú)一例外,均使用了開(kāi)源軟件。最多的項(xiàng)目使用了3878個(gè)開(kāi)源軟件,平均每個(gè)項(xiàng)目使用126個(gè)開(kāi)源軟件。使用開(kāi)源軟件最多的5個(gè)項(xiàng)目情況如下表所示。
經(jīng)過(guò)后續(xù)的調(diào)研和訪談,我們還發(fā)現(xiàn),軟件項(xiàng)目中使用的開(kāi)源軟件數(shù)量大大超出了軟件項(xiàng)目管理者和程序員自身的認(rèn)知。由于開(kāi)源軟件之間的依賴(lài)關(guān)系錯(cuò)綜復(fù)雜,且軟件開(kāi)發(fā)中依賴(lài)包的管理通常通過(guò)包管理器程序自動(dòng)管理,軟件開(kāi)發(fā)者常常意識(shí)不到自己使用了數(shù)量巨大的開(kāi)源軟件,因此當(dāng)某個(gè)開(kāi)源軟件曝出安全漏洞時(shí),軟件開(kāi)發(fā)者常?!疤蓸尅倍蛔灾@中間隱含了巨大的軟件供應(yīng)鏈安全風(fēng)險(xiǎn)。
(2)流行開(kāi)源軟件被近1/4的軟件項(xiàng)目使用
一些流行開(kāi)源軟件會(huì)被很多軟件項(xiàng)目所使用,這些開(kāi)源軟件一旦出現(xiàn)安全漏洞,影響面將會(huì)非常巨大。對(duì)于大型企業(yè)來(lái)說(shuō),企業(yè)內(nèi)部可能就有數(shù)以百計(jì)的軟件開(kāi)發(fā)項(xiàng)目,更加需要對(duì)流行開(kāi)源軟件保持足夠的關(guān)注和重視,應(yīng)該做到對(duì)其在本單位內(nèi)的使用情況心中有數(shù)。經(jīng)統(tǒng)計(jì),在我們分析的2557個(gè)國(guó)內(nèi)企業(yè)軟件項(xiàng)目中,被使用最多的開(kāi)源軟件為Apache Commons Lang,被622個(gè)項(xiàng)目所使用,占比達(dá)24.3%。被使用最多的前5名開(kāi)源軟件如下表所示。
2、開(kāi)源軟件漏洞風(fēng)險(xiǎn)分析
(1)近9成軟件項(xiàng)目存在已知開(kāi)源軟件漏洞
分析發(fā)現(xiàn),在2557個(gè)國(guó)內(nèi)企業(yè)軟件項(xiàng)目中,存在已知開(kāi)源軟件漏洞的項(xiàng)目有2280個(gè),占比高達(dá)89.2%;存在已知高危開(kāi)源軟件漏洞的項(xiàng)目有2062個(gè),占比為80.6%;存在已知超危開(kāi)源軟件漏洞的項(xiàng)目有1802個(gè),占比為70.5%。
(2)平均每個(gè)軟件項(xiàng)目存在66個(gè)已知開(kāi)源軟件漏洞
在2557個(gè)國(guó)內(nèi)企業(yè)軟件項(xiàng)目中,共檢出168604個(gè)已知開(kāi)源軟件漏洞(涉及到4166個(gè)唯一CVE漏洞編號(hào)),平均每個(gè)軟件項(xiàng)目存在66個(gè)已知開(kāi)源軟件漏洞,最多的軟件項(xiàng)目存在1200個(gè)已知開(kāi)源軟件漏洞。存在已知開(kāi)源軟件漏洞數(shù)量排名前5的項(xiàng)目情況如下表所示。
(3)影響最廣的開(kāi)源軟件漏洞存在于44.3%的軟件項(xiàng)目中
從漏洞的影響度來(lái)分析,影響范圍最大的開(kāi)源軟件漏洞為CVE-2020-5421,影響了44.3%的軟件項(xiàng)目。影響度排名前5的開(kāi)源軟件漏洞情況如下表所示。
(4)15年前開(kāi)源軟件漏洞仍然存在于多個(gè)軟件項(xiàng)目中
分析發(fā)現(xiàn),部分軟件項(xiàng)目中存在十幾年前公開(kāi)的古老開(kāi)源軟件漏洞,最古老的漏洞是2005年11月公開(kāi)的CVE-2005-3510,仍然存在于31個(gè)項(xiàng)目中。部分古老開(kāi)源軟件漏洞的影響情況如下表所示。
3、開(kāi)源軟件運(yùn)維風(fēng)險(xiǎn)分析
開(kāi)源軟件運(yùn)維風(fēng)險(xiǎn)復(fù)雜多樣,本報(bào)告主要從老舊開(kāi)源軟件的使用和開(kāi)源軟件多版本的使用角度進(jìn)行分析。
(1)18年前的老舊開(kāi)源軟件版本仍在被使用
分析發(fā)現(xiàn),許多軟件項(xiàng)目中使用了十幾年前發(fā)布的開(kāi)源軟件版本,存在很大的運(yùn)維風(fēng)險(xiǎn)。被使用的老舊開(kāi)源軟件版本中,最老舊的一個(gè)是2003年3月3日發(fā)布的Apache Xalan 2.5.D1,已經(jīng)有18年之久,但仍然被7個(gè)軟件項(xiàng)目所使用。按老舊程度排名前5的開(kāi)源軟件如下表所示。
(2)開(kāi)源軟件各版本使用非常混亂
分析發(fā)現(xiàn),各個(gè)項(xiàng)目中開(kāi)源軟件使用的版本非?;靵y,并非使用的都是最新版本。Spring Data是被使用版本最多的開(kāi)源軟件,有162個(gè)版本在被使用。按照被使用版本的數(shù)量排序,排名前5的開(kāi)源軟件情況如下表所示。
總結(jié)及建議
軟件供應(yīng)鏈已經(jīng)成為網(wǎng)絡(luò)空間攻防對(duì)抗的焦點(diǎn),直接影響關(guān)鍵基礎(chǔ)設(shè)施和重要信息系統(tǒng)安全。為了應(yīng)對(duì)軟件供應(yīng)鏈安全挑戰(zhàn),美國(guó)總統(tǒng)拜登在2021年5月12日簽署了“加強(qiáng)國(guó)家網(wǎng)絡(luò)安全的行政命令”,明確提出要增強(qiáng)美國(guó)聯(lián)邦政府的軟件供應(yīng)鏈安全,要求向美國(guó)聯(lián)邦政府出售軟件的任何企業(yè),不僅要提供軟件本身,還必須提供軟件物料清單(SBOM),明確該軟件的組成成分。行政命令中還要求美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)在6個(gè)月內(nèi)發(fā)布軟件供應(yīng)鏈安全指南,并在1年內(nèi)發(fā)布最終指南。該行政命令被認(rèn)為是迄今為止美國(guó)聯(lián)邦政府為保護(hù)美國(guó)軟件供應(yīng)鏈安全采取的最強(qiáng)勁措施。
當(dāng)前,我國(guó)在軟件供應(yīng)鏈安全方面的基礎(chǔ)比較薄弱,亟需從國(guó)家、行業(yè)、機(jī)構(gòu)、企業(yè)各個(gè)層面建立軟件供應(yīng)鏈安全風(fēng)險(xiǎn)的發(fā)現(xiàn)能力、分析能力、處置能力、防護(hù)能力,整體提升軟件供應(yīng)鏈安全管理的水平。現(xiàn)代軟件的供應(yīng)鏈非常復(fù)雜,軟件供應(yīng)鏈安全管理是一個(gè)系統(tǒng)工程,需要長(zhǎng)期持續(xù)的建設(shè)?;谄姘残糯a安全實(shí)驗(yàn)室的研究和實(shí)踐,我們建議可從以下方面入手開(kāi)展軟件供應(yīng)鏈安全相關(guān)工作,并在此基礎(chǔ)之上不斷增強(qiáng)和完善。
1、對(duì)國(guó)家與行業(yè)監(jiān)管層面的建議:
制定軟件供應(yīng)鏈安全相關(guān)的政策要求、標(biāo)準(zhǔn)規(guī)范和實(shí)施指南,建立長(zhǎng)效工作機(jī)制。
建立國(guó)家級(jí)/行業(yè)級(jí)軟件供應(yīng)鏈安全風(fēng)險(xiǎn)分析平臺(tái),具備系統(tǒng)化、規(guī)?;能浖创a缺陷和后門(mén)分析、軟件漏洞分析、開(kāi)源軟件成分及風(fēng)險(xiǎn)分析等能力,為關(guān)鍵基礎(chǔ)設(shè)施、重要信息系統(tǒng)用戶(hù)提供日常的自查服務(wù),及時(shí)發(fā)現(xiàn)和處置軟件供應(yīng)鏈安全風(fēng)險(xiǎn)。
在產(chǎn)品測(cè)評(píng)、系統(tǒng)測(cè)評(píng)等工作中納入軟件供應(yīng)鏈安全的內(nèi)容,針對(duì)軟件的源代碼、制成品、運(yùn)行中的軟件系統(tǒng)等進(jìn)行軟件供應(yīng)鏈安全的測(cè)試和評(píng)估。
2、對(duì)軟件最終用戶(hù)層面的建議:
參照監(jiān)管要求及業(yè)內(nèi)優(yōu)秀實(shí)踐,明確本單位內(nèi)部軟件供應(yīng)鏈安全管理的目標(biāo)、工作流程、檢查內(nèi)容、責(zé)任部門(mén),并賦予責(zé)任部門(mén)足夠的權(quán)力。
在采購(gòu)商業(yè)貨架軟件時(shí),應(yīng)充分評(píng)估供應(yīng)商的安全能力,并與供應(yīng)商簽署安全責(zé)任協(xié)議,要求供應(yīng)商提供其軟件產(chǎn)品中所使用的第三方組件/開(kāi)源組件的清單,并明確要求,一旦這些第三方組件/開(kāi)源組件出現(xiàn)安全漏洞,供應(yīng)商需同樣承擔(dān)安全責(zé)任,提供必要的技術(shù)支持。
在自行開(kāi)發(fā)軟件系統(tǒng)或委托第三方定制開(kāi)發(fā)軟件系統(tǒng)時(shí),應(yīng)遵循軟件安全開(kāi)發(fā)生命周期管理流程,針對(duì)軟件源代碼進(jìn)行安全缺陷檢測(cè)和修復(fù),同時(shí)要重點(diǎn)管控開(kāi)源軟件的使用,建立開(kāi)源軟件資產(chǎn)臺(tái)賬,持續(xù)監(jiān)測(cè)和消減所使用的開(kāi)源軟件的安全風(fēng)險(xiǎn)。
3、對(duì)軟件廠商層面的建議:
提高安全責(zé)任意識(shí),將安全作為產(chǎn)品的基礎(chǔ)屬性來(lái)對(duì)待,嚴(yán)控產(chǎn)品的安全質(zhì)量。
建立清晰的軟件供應(yīng)鏈安全策略,明確本單位內(nèi)部軟件供應(yīng)鏈安全管理的目標(biāo)、工作流程、檢查內(nèi)容、責(zé)任部門(mén),并賦予責(zé)任部門(mén)足夠的權(quán)力。
嚴(yán)格管控上游,尤其重點(diǎn)管控開(kāi)源軟件的使用,建立開(kāi)源軟件資產(chǎn)臺(tái)賬,建議采用可融入軟件開(kāi)發(fā)流程的開(kāi)源安全治理工具,持續(xù)監(jiān)測(cè)和消減所使用的開(kāi)源軟件的安全風(fēng)險(xiǎn)。
嚴(yán)控自主開(kāi)發(fā)的代碼質(zhì)量,建議采用可融入軟件開(kāi)發(fā)流程的軟件源代碼安全分析工具,持續(xù)檢測(cè)和修復(fù)軟件源代碼中的安全缺陷和漏洞。
建立完善的產(chǎn)品漏洞響應(yīng)機(jī)制,包括產(chǎn)品漏洞信息的收集、漏洞報(bào)告渠道的建立和維護(hù)、漏洞補(bǔ)丁的開(kāi)發(fā)和發(fā)布、客戶(hù)側(cè)漏洞應(yīng)急響應(yīng)和修復(fù)支持等。