80%的軟件代碼庫含有至少一個漏洞

新發布的研究結果顯示:2021年開源軟件占典型代碼庫的份額增長到78%,但公司仍繼續使用過時和不再維護的組件,導致自身軟件面臨潛在漏洞威脅。
Synopsy本周發布的年度《開源軟件風險分析》(OSSRA)報告揭示,絕大多數軟件代碼庫含有至少一個漏洞(81%),使用過時四年以上的開源組件(85%),且包含兩年來毫無開發的組件(88%)。不過,很多數據點顯示情況比去年有所改善:去年84%的代碼庫含有至少一個漏洞;91%的代碼庫在之前兩年里毫無開發活動。
總體而言,調查數據表明,各家公司在應對漏洞方面才剛開始取得進展,前路還很漫長。
Synopsys首席安全策略師Tim Mackey稱:“業界試圖在軟件供應鏈方面有所作為的想法在一定程度上引起了共鳴,但尚未達到產生重大影響的程度。開源軟件如此眾多,人們并不會說我要用某個組件,組件往往是與他們正在使用的其他庫聯動的。”

Synopsys 2022年《開源安全風險分析》(OSSRA)報告
Synopsys報告是對軟件安全和許可合規情況的獨特審視,因為其數據完全來自于該公司的盡職調查服務,而盡職調查通常發生在并購(M&A)期間。根據咨詢公司普華永道的數據,由于企業收購方、私募股權公司和特殊目的收購公司(SPAC)之間的激烈競爭,2021年并購數量大漲24%。并購活動增加導致代碼庫掃描激增。報告稱,Synopsys掃描了17個行業的2400多個商業代碼庫,掃描量增長64%。
報告表明,總體而言,在降低已審計代碼庫中的高風險漏洞數量方面,該公司取得了一定進展,10大高風險漏洞發生率顯著下降。例如,2020年的數據中,29%的代碼庫含有暴露出最普遍漏洞的組件;而2021年的數據中,僅8%的代碼庫中識別出了最普遍的高風險漏洞。
報告中寫道:“所有反復出現的高風險漏洞均大幅減少。高風險漏洞的快速識別、優先級排序和緩解,可以幫助團隊解決對其公司構成最大威脅的風險。”
開源的持續普及
安全狀況的改善源于公司持續深化其開源軟件的使用。2019年,開源代碼占Synopsys所審計代碼庫的70%;2020年,這一比例爬升到75%。如今,2021年的數據顯示,公司軟件安全狀態顯著仰賴其開發團隊所用開源組件的安全狀況。
然而,開源軟件項目的質量延續不平衡態勢,尤其是在安全方面。例如,幾乎四分之一(23%)的軟件項目僅有一位開發人員貢獻大部分代碼,這就造成將此類開源項目作為組件用在自身軟件中的公司面臨潛在風險。
遺憾的是,公司并未消除開源組件和依賴項中的重大風險。由于88%的代碼庫包含過時版本(尚未應用更新的組件),公司需要通過軟件物料清單(SBOM)跟蹤在開發中使用的軟件和項目。
SBOM越來越多?
未來一兩年里,SBOM會變得越來越普遍,但仍然無法解決問題。
Synopsys首席安全策略師Tim Mackey表示:“更大的問題是,大多數人不知道怎么用SBOM。這是許可協議旁邊又一份沒人看的文檔,他們不知道該拿這份文檔怎么辦,但是他們聽說這文檔具有神奇的魔力,于是順勢就要求了,卻又壓根兒沒設立個使用流程。”
隨著公司越來越善于分析自身軟件所用的組件,許可問題也會愈加暴露出來并得以解決。由于存在各種開源許可,公司需留意自己開發過程中引入了哪些軟件。目前,超過半數的已審計代碼庫(53%)存在許可沖突,20%包含無許可或非標準許可的開源代碼。
Synopsys的報告揭示,“若所含開源組件無可識別許可或采用自定義許可,代碼庫就會面臨額外的風險。”
Synopsys 2022年《開源安全風險分析》(OSSRA)報告:
https://www.synopsys.com/blogs/software-security/open-source-trends-ossra-report/?_sp=ec432b30-8600-491f-9169-70ab0e5f3e10.1649827683142