2020年12月13日,全球最著名的網管軟件供應商SolarWinds遭遇高度復雜的供應鏈攻擊,包括美國關鍵基礎設施、軍隊、政府在內的18000+企業客戶,可任由攻擊者完全操控,這件事再度敲響了軟件供應鏈安全的警鐘。
“‘企業自主開發代碼缺陷密度達10.13個/千行’、‘開源項目源代碼缺陷密度達14.22個/千行’、‘存在開源軟件漏洞的項目占比達77.5%’……這一個個數據的背后,無不透露出軟件供應鏈存在著巨大的安全隱患。”
軟件供應鏈面臨巨大安全危機
為應對軟件供應鏈安全挑戰,5月12日,美國總統拜登簽署了“加強國家網絡安全的行政命令”,明確提出要加強軟件供應鏈安全,要求向聯邦政府出售軟件的任何企業不僅提供應用程序,而且還必須提供軟件物料清單 (即軟件的各項組件)。
從近幾年的網絡攻擊趨勢來看,軟件(包括固件)尤其是較為流行的軟件供應鏈,正在成為黑客實施供應鏈攻擊的重要突破口,而且此類攻擊往往能夠“突破一點,打擊一片”,危害性極大,甚至很多網絡安全軟件自身都存在供應鏈風險。
“軟件供應鏈可劃分為開發、交付、運行三個大的環節,每個環節都可能會引入供應鏈安全風險從而遭受攻擊,上游環節的安全問題會傳遞到下游環節并被放大。”
開源軟件的源代碼缺陷則更加密集。開軟項目的缺陷密度達到了14.22個/千行,其中高危缺陷密度則為0.72個/千行。眾所周知,開源軟件是軟件開發最基礎的原材料,位于軟件供應鏈的源頭,且應用及其廣泛。其自身的安全狀況,直接影響最終軟件的安全性。
近8成軟件項目引入了開源軟件漏洞
針對2188個企業軟件項目的檢測結果顯示,所有軟件項目均使用了開源軟件,平均每個項目使用開源軟件數量達135個;其中被使用最多的開源軟件出現在了581個項目中,滲透率達到了26.6%。
在所有被檢測的項目中,平均每個項目存在52.5個開源軟件漏洞。其中,存在開源軟件漏洞的項目1695個,占比77.5%;存在高危開源軟件漏洞的項目1559個,占比71.3%;存在超危開源軟件漏洞的項目1319個,占比60.3%。
值得關注的是,影響面最大的開源軟件漏洞(Spring FrameWork漏洞)出現在973個項目中,滲透率高達44.5%。這也就是說,一旦該漏洞被攻擊者利用,將影響近半數的企業軟件,波及的企業數量更加不計其數。
與此同時,攝像頭、路由器等智能聯網設備也未能幸免,針對聯網設備固件中引用的開源軟件及其漏洞進行分析。86.4%的設備的最新固件存在至少一個老舊開源軟件漏洞,漏洞最多的固件存在74個老舊開源軟件漏洞。更有甚者,2014年曝出的“心臟滴血”漏洞,仍然存在于5.3%的最新設備中。
供應鏈安全應成為數字化的底板
在當前軟件供應鏈安全基礎較薄弱的形勢下,軟件供應鏈安全應成為信息系統安全的底板工程,亟需建立安全與軟件供應鏈全生命周期深度融合、全面覆蓋的安全體系,來保障軟件從開發、交付到運行的全過程、全生命周期安全。
其中,針對軟件成分及其風險的分析,是軟件供應鏈安全的基礎和關鍵部分,建議作為軟件供應鏈安全工作開展的首要事。用戶在采購商業貨架軟件、自行開發軟件系統或委托第三方定制開發軟件系統時,應對軟件源代碼、二進制代碼中所包含的開源軟件成分及其安全風險進行充分的了解,形成開源軟件成分清單,并持續跟蹤這些開源軟件的安全風險情報。