去年的“太陽風(fēng)”網(wǎng)絡(luò)安全事件,讓軟件供應(yīng)鏈安全再一次引發(fā)了世界的關(guān)注,在蓬勃發(fā)展的數(shù)字時(shí)代,脆弱的軟件供應(yīng)鏈越來越成為攻擊者的首要目標(biāo)。
“檢測發(fā)現(xiàn),國內(nèi)企業(yè)軟件項(xiàng)目100%使用了開源軟件;超8成軟件項(xiàng)目存在已知高危開源軟件漏洞;平均每個(gè)軟件項(xiàng)目存在66個(gè)已知開源軟件漏洞。”6月2日,奇安信集團(tuán)在京正式發(fā)布《2021中國軟件供應(yīng)鏈安全分析報(bào)告》(下文簡稱報(bào)告),首次對國內(nèi)軟件供應(yīng)鏈各個(gè)環(huán)節(jié)的安全風(fēng)險(xiǎn),進(jìn)行了深入細(xì)致的研究和解讀,并給出可行性建議。
報(bào)告認(rèn)為,隨著軟件產(chǎn)業(yè)的快速發(fā)展,軟件供應(yīng)鏈也越發(fā)復(fù)雜多元,復(fù)雜的軟件供應(yīng)鏈會(huì)引入一系列的安全問題,導(dǎo)致信息系統(tǒng)的整體安全防護(hù)難度越來越大。
奇安信集團(tuán)代碼安全事業(yè)部總經(jīng)理、代碼安全實(shí)驗(yàn)室主任黃永剛
“吃了不好的食品會(huì)生病,用了不好的軟件會(huì)被攻擊”,奇安信集團(tuán)代碼安全事業(yè)部總經(jīng)理、代碼安全實(shí)驗(yàn)室主任黃永剛舉例說明?!澳门D虂碚f,從奶農(nóng)、奶站到車間,各個(gè)環(huán)節(jié)都可能導(dǎo)致原材料被污染,造成食品安全問題。同樣,軟件供應(yīng)鏈可劃分為開發(fā)、交付、運(yùn)行三個(gè)大的環(huán)節(jié),每個(gè)環(huán)節(jié)都可能會(huì)引入供應(yīng)鏈安全風(fēng)險(xiǎn)從而遭受攻擊,上游環(huán)節(jié)的安全問題會(huì)傳遞到下游環(huán)節(jié)并被放大?!?/p>
每1000行代碼就有超過10個(gè)安全缺陷
代碼是軟件的原始形態(tài),位于軟件供應(yīng)鏈的源頭。源代碼安全是軟件供應(yīng)鏈安全的基礎(chǔ),其地位至關(guān)重要。
報(bào)告顯示,2020年全年,奇安信代碼安全實(shí)驗(yàn)室對2001個(gè)國內(nèi)企業(yè)自主開發(fā)的軟件項(xiàng)目源代碼進(jìn)行了安全缺陷檢測,檢測的代碼總量為335011173行,共發(fā)現(xiàn)安全缺陷3387642個(gè),其中高危缺陷361812個(gè),整體缺陷密度為10.11個(gè)/千行,高危缺陷密度為1.08個(gè)/千行。十類典型安全缺陷的總體檢出率為77.8%。
開源軟件的安全缺陷則更加密集。2020年全年,“奇安信開源項(xiàng)目檢測計(jì)劃”對1364個(gè)開源軟件項(xiàng)目的源代碼進(jìn)行了安全檢測,代碼總量為124296804行,共發(fā)現(xiàn)安全缺陷1859129個(gè),其中高危缺陷117738個(gè)。2020年檢測的1364個(gè)開源軟件項(xiàng)目整體缺陷密度為14.96個(gè)/千行,高危缺陷密度為0.95個(gè)/千行。
國內(nèi)超8成項(xiàng)目存在高危開源軟件漏洞
與企業(yè)自主編寫的源代碼相同,開源軟件同樣位于軟件供應(yīng)鏈的源頭。國際知名咨詢機(jī)構(gòu)Gartner表示,現(xiàn)代軟件大多數(shù)是被“組裝”出來的,不是被“開發(fā)”出來的。在奇安信代碼安全實(shí)驗(yàn)室分析的2557個(gè)國內(nèi)企業(yè)軟件項(xiàng)目中,無一例外的,均使用了開源軟件。平均每個(gè)項(xiàng)目使用126個(gè)開源軟件,軟件項(xiàng)目中使用的開源軟件數(shù)量大大超出了軟件項(xiàng)目管理者和程序員自身的認(rèn)知。
在2557個(gè)國內(nèi)企業(yè)軟件項(xiàng)目中,共檢出168604個(gè)已知開源軟件漏洞(涉及到4166個(gè)唯一CVE漏洞編號),平均每個(gè)軟件項(xiàng)目存在66個(gè)已知開源軟件漏洞,最多的軟件項(xiàng)目存在1200個(gè)已知開源軟件漏洞。
其中,存在已知開源軟件漏洞的項(xiàng)目有2280個(gè),占比高達(dá)89.2%;存在已知高危開源軟件漏洞的項(xiàng)目有2062個(gè),占比為80.6%;存在已知超危開源軟件漏洞的項(xiàng)目有1802個(gè),占比為70.5%。影響范圍最大的開源軟件漏洞為Spring Framework安全漏洞(漏洞編號為CVE-2020-5421),影響了44.3%的軟件項(xiàng)目。
值得警惕的是,在所有存在已知開源軟件漏洞的項(xiàng)目中,部分軟件項(xiàng)目中竟然還存在多年前已公開并修復(fù)的古老漏洞,最古老的漏洞是2005年11月公開的CVE-2005-3510,仍然存在于31個(gè)項(xiàng)目中。
與此同時(shí),開源軟件的漏洞數(shù)量仍呈高速上漲的趨勢。據(jù)奇安信代碼安全實(shí)驗(yàn)室監(jiān)測與統(tǒng)計(jì),截至2020年底,CVE/NVD、CNNVD、CNVD等公開漏洞庫中共收錄開源軟件相關(guān)漏洞41342個(gè),其中5366個(gè)為2020年度新增漏洞。
“正本需清源” 三層建議助力建設(shè)供應(yīng)鏈安全良性生態(tài)
報(bào)告認(rèn)為,軟件供應(yīng)鏈已經(jīng)成為網(wǎng)絡(luò)空間攻防對抗的焦點(diǎn),直接影響關(guān)鍵基礎(chǔ)設(shè)施和重要信息系統(tǒng)安全。然而,目前我國在軟件供應(yīng)鏈安全方面的基礎(chǔ)比較薄弱,亟需從國家、行業(yè)、機(jī)構(gòu)、企業(yè)各個(gè)層面建立軟件供應(yīng)鏈安全風(fēng)險(xiǎn)的發(fā)現(xiàn)能力、分析能力、處置能力、防護(hù)能力,整體提升軟件供應(yīng)鏈安全管理的水平。
對此,奇安信代碼安全實(shí)驗(yàn)室建議,在國家和行業(yè)監(jiān)管層面,應(yīng)制定軟件供應(yīng)鏈安全相關(guān)的政策要求、標(biāo)準(zhǔn)規(guī)范和實(shí)施指南,建立起國家級/行業(yè)級軟件供應(yīng)鏈安全風(fēng)險(xiǎn)分析平臺(tái),并且將軟件供應(yīng)鏈安全的相關(guān)工作納入產(chǎn)品測評、系統(tǒng)測評等工作中。
在最終用戶層面,首先應(yīng)明確本單位內(nèi)部軟件供應(yīng)鏈安全管理的目標(biāo)和工作流程;在采購商業(yè)軟件時(shí),應(yīng)充分評估供應(yīng)商的安全能力,要求供應(yīng)商提供其軟件產(chǎn)品中所使用的第三方組件/開源組件的清單,一旦這些第三方組件/開源組件出現(xiàn)安全漏洞,要求供應(yīng)商提供必要的技術(shù)支持;在軟件開發(fā)中,須嚴(yán)格遵循軟件安全開發(fā)生命周期管理流程。
在軟件廠商層面,需要提高安全責(zé)任意識(shí),建立清晰的軟件供應(yīng)鏈安全策略,嚴(yán)格管控上下游,持續(xù)削減自主開發(fā)的代碼和開源軟件所帶來的安全風(fēng)險(xiǎn),同時(shí)建立完善的產(chǎn)品漏洞響應(yīng)機(jī)制,必須要時(shí)為客戶提供相應(yīng)的技術(shù)支持。