本報記者 張志偉
“檢測發現,國內企業軟件項目100%使用了開源軟件;超八成軟件項目存在已知高危開源軟件漏洞;平均每個軟件項目存在66個已知開源軟件漏洞。”6月2日,奇安信集團在京正式發布《2021中國軟件供應鏈安全分析報告》(下文簡稱報告),首次對國內軟件供應鏈各個環節的安全風險,進行了深入細致的研究和解讀。

報告認為,隨著軟件產業的快速發展,軟件供應鏈也越發復雜多元,復雜的軟件供應鏈會引入一系列的安全問題,導致信息系統的整體安全防護難度越來越大。
“吃了不好的食品會生病,用了不好的軟件會被攻擊”,奇安信集團代碼安全事業部總經理、代碼安全實驗室主任黃永剛舉了一個形象的例子。“拿牛奶來說,從奶農、奶站到車間,各個環節都可能導致原材料被污染,造成食品安全問題。同樣,軟件供應鏈可劃分為開發、交付、運行三個大的環節,每個環節都可能會引入供應鏈安全風險從而遭受攻擊,上游環節的安全問題會傳遞到下游環節并被放大。”
源代碼是軟件的原始形態,位于軟件供應鏈的源頭。源代碼安全是軟件供應鏈安全的基礎,其地位非常關鍵。
報告顯示,2020年全年,奇安信代碼安全實驗室對2001個國內企業自主開發的軟件項目源代碼進行了安全缺陷檢測,檢測的代碼總量為335011173行,共發現安全缺陷3387642個,其中高危缺陷361812個,整體缺陷密度為10.11個/千行,高危缺陷密度為1.08個/千行。
開源軟件的安全缺陷則更加密集。2020年全年,“奇安信開源項目檢測計劃”對1364個開源軟件項目的源代碼進行了安全檢測,代碼總量為124296804行,共發現安全缺陷1859129個,其中高危缺陷117738個。2020年檢測的1364個開源軟件項目整體缺陷密度為14.96個/千行,高危缺陷密度為0.95個/千行。
與企業自主編寫的源代碼相同,開源軟件同樣位于軟件供應鏈的源頭。國際知名咨詢機構Gartner表示,現代軟件大多數是被“組裝”出來的,不是被“開發”出來的。在奇安信代碼安全實驗室分析的2557個國內企業軟件項目中,無一例外,均使用了開源軟件。
在2557個國內企業軟件項目中,共檢出168604個已知開源軟件漏洞(涉及4166個唯一CVE漏洞編號),平均每個軟件項目存在66個已知開源軟件漏洞,最多的軟件項目存在1200個已知開源軟件漏洞。
其中,存在已知開源軟件漏洞的項目有2280個,占比高達89.2%;存在已知高危開源軟件漏洞的項目有2062個,占比為80.6%;存在已知超危開源軟件漏洞的項目有1802個,占比為70.5%。影響范圍最大的開源軟件漏洞為SpringFramework安全漏洞(漏洞編號為CVE-2020-5421),影響了44.3%的軟件項目。
值得警惕的是,在所有存在已知開源軟件漏洞的項目中,部分軟件項目中竟然還存在多年前已公開并修復的古老漏洞,最古老的漏洞是2005年11月公開的CVE-2005-3510,仍然存在于31個項目中。
與此同時,開源軟件的漏洞數量仍呈高速上漲的趨勢。據奇安信代碼安全實驗室監測與統計,截至2020年底,CVE/NVD、CNNVD、CNVD等公開漏洞庫中共收錄開源軟件相關漏洞41342個,其中5366個為2020年度新增漏洞。
報告認為,軟件供應鏈已經成為網絡空間攻防對抗的焦點,直接影響關鍵基礎設施和重要信息系統安全。然而,目前我國在軟件供應鏈安全方面的基礎比較薄弱,亟須從國家、行業、機構、企業各個層面建立軟件供應鏈安全風險的發現能力、分析能力、處置能力、防護能力,整體提升軟件供應鏈安全管理的水平。
(編輯 李波)