《報告》顯示,2022年開源軟件生態(tài)依然繁榮。2021年底和2022年底,主流開源軟件包生態(tài)系統(tǒng)中開源項目總量分別為4395386個和5499977個,一年間增長了25.1%;截至2022 年底,主流開源軟件包生態(tài)系統(tǒng)中平均每個開源項目有12.6個版本,較前兩年報告的11.8個和10.2個呈持續(xù)增長的趨勢。
開源軟件風險管控是軟件供應鏈安全的重中之重
奇安信代碼安全實驗室通過數(shù)據(jù)分析發(fā)現(xiàn),與前兩年相比,開源軟件自身的安全狀況持續(xù)下滑,國內企業(yè)軟件開發(fā)中因使用開源軟件而引入安全風險的狀況更加糟糕,開源軟件供應鏈安全風險管控依然任重道遠。
過去一年,開源軟件漏洞數(shù)量持續(xù)增長,2022年新增的開源軟件漏洞為7682個。根據(jù)“奇安信開源項目檢測計劃”的實測數(shù)據(jù)顯示,三年來開源軟件的總體缺陷密度和高危缺陷密度呈現(xiàn)出逐年上升的趨勢,均處于較高水平,2022年全年,共對2098個開源軟件項目的源代碼進行了安全檢測,代碼總量為173174712行,共發(fā)現(xiàn)安全缺陷3646486個,其中高危缺陷222640個,整體缺陷密度為21.06個/千行,高危缺陷密度為1.29個/千行。
2022年,奇安信代碼安全實驗室對2631個國內企業(yè)軟件項目中使用開源軟件的情況進行分析發(fā)現(xiàn):平均每個項目使用155個開源軟件,遠高于之前的126和127個。同時,存在已知開源軟件漏洞的項目有2411個,占比達91.6%;存在已知高危開源軟件漏洞的項目有2268個,占比為86.2%;存在已知超危開源軟件漏洞的項目有2032個,占比為 77.2%;存在容易利用的漏洞的項目有2089個,占比為79.4%,這四個比例均比去年有所提高。平均每個項目存在110個已知開源軟件漏洞。
十類典型缺陷的總體檢出率為72.3%,與去年73.5%相當,遠高于前年的56.3%。總體來看,開源軟件自身的安全問題愈發(fā)嚴峻。
《報告》指出,開源項目維護者對安全問題的重視度和修復積極性較低。2022年,“奇安信開源項目檢測計劃”共向各被測開源項目的維護者反饋1484個安全問題,僅有547個得到確認并修復,其他937個反饋不修復、未反饋,或無人處理,安全問題的修復率僅為36.9%。另據(jù)統(tǒng)計發(fā)現(xiàn),一個安全問題從提交到維護人員反饋確認并修復,時間較長的可長達一年甚至更久。
并且從開源軟件活躍度角度看,不活躍的開源軟件,一旦出現(xiàn)安全漏洞,難以得到及時的修復。如果將超過一年未更新發(fā)布過版本的開源軟件項目定義為不活躍項目,數(shù)據(jù)顯示,2022年全年,主流開源軟件包生態(tài)系統(tǒng)中不活躍的開源軟件項目數(shù)量3967204個,占比高達72.1%。,與去年的69.9%和前年的61.6%相比,呈現(xiàn)出逐年升高的趨勢。
對八個典型的開源軟件包生態(tài)系統(tǒng)進行分析和比較發(fā)現(xiàn),除Nuget外,其他各包生態(tài)系統(tǒng)中不活躍項目的占比較去年報告數(shù)據(jù)均有小幅升高,Nuget則從去年的68.1%大幅下降至54.3%。NPM的不活躍項目數(shù)量最多,達1693287個,Rubygems的不活躍項目比例仍為最高,占比高達90.5%。
開源軟件“老漏洞”依然發(fā)揮著“0day 漏洞”的攻擊作用
《報告》分析發(fā)現(xiàn),與前兩年結果一致,部分軟件項目中仍然存在很久之前公開的古老開源軟件漏洞。其中,最古老的漏洞是2002年3月15日公開的 CVE-2002-0059,距今已21年,仍然存在于11個項目中。在開源項目版本管理方面,近30年前的老舊開源軟件版本仍然在使用,同一開源軟件各版本的使用依然混亂。這些開源軟件的“老漏洞”發(fā)揮了“0day 漏洞”的攻擊作用。
典型案例如Zimbra Collaboration Suite(ZCS)這款開源協(xié)同辦公套件,目前應用于全球140個國家的20多萬個組織中,CVE-2022-41352是影響 ZCS 8.8.15和 9.0的一個超危歷史漏洞。分析驗證發(fā)現(xiàn),目前依然可以利用該歷史漏洞,通過ZCS 8.8.15 patch34和9.0.0 patch27在系統(tǒng)上實現(xiàn)任意文件上傳的軟件供應鏈攻擊。
再如,CVE-2020-12695是UPnP協(xié)議的一個高危歷史漏洞,又被稱作CallStranger漏洞,攻擊者可利用它繞過內網的數(shù)據(jù)防泄漏(DLP)系統(tǒng),實現(xiàn)數(shù)據(jù)逃逸,從而導致敏感數(shù)據(jù)泄露;還可以對設備所在內網進行掃描,甚至還能劫持設備進行分布式拒絕服務(DDoD)攻擊。該漏洞影響產品的范圍非常廣泛。在某國際知名廠商生產的企業(yè)級千兆無線路由器中,該路由器的固件使用開源工具MiniUPnPd來實現(xiàn) UPnP 服務,當UPnP服務功能開啟時,UPnP協(xié)議漏洞會影響該路由器,對路由器所在內網進行掃描,由此引發(fā)軟件供應鏈攻擊。
需加速落地開源軟件供應鏈的系統(tǒng)化安全治理措施
《報告》提到,近年來國外各組織機構推進和出臺了一系列針對開源治理的措施和解決方案。然而,國內還未形成統(tǒng)一的規(guī)范和流程,缺少統(tǒng)一的開源治理體系架構、指南和公共服務平臺支撐,為此提出三方面的建議,一是制定具有普遍共識的開源治理框架和指南;二是建立開源治理平臺和漏洞響應機制,方便各方開展開源軟件資產風險監(jiān)測;三是提升針對開源軟件供應鏈的“五防”能力,即防漏洞、防投毒、防侵權、防停服、防斷供。