不均衡的維護實踐和開發人員愿意下載高風險代碼,使得開源存儲庫成為攻擊者青睞的一種初始訪問策略。
軟件供應鏈管理公司Sonatype在其年度軟件供應鏈狀況報告中表示:從不同的角度來看,數據表明,僅在一年內,我們看到的供應鏈攻擊事件就是前幾年累積數量的兩倍,這個增長速度非常驚人,這表明,供應鏈是攻擊者執行惡意代碼增長最快的媒介之一。此外,我們還看到,利用這些載體的民族國家行為者有所增加。
然而,一個企業對軟件供應鏈的擔憂不應止步于過去12個月檢測到的245032個惡意包,而應包括數百萬個已知存在安全漏洞的包。根據Sonatype的數據,在過去的一年里,每8次開源組件下載中就有一次存在已知的安全風險。
需要針對惡意開源程序包采取更多措施
許多開源語言的包庫都是社區維護的,這意味著惡意包的報告和刪除是在自愿的基礎上進行的,而不是經常自動檢測的結果。在防止現有開發人員帳戶被劫持并用于推送惡意組件方面有所改進-例如引入了強制多因素身份驗證——但這并不能阻止從新帳戶上傳流氓程序包的攻擊。
Sonatype的研究人員表示:“通常,包含惡意代碼的包與具有新安全漏洞的包的處理方式非常相似--它們完全基于志愿者的努力,在漏洞刪除過程之后進行刪除,這是不合適的,因為代碼從一開始就被設計為惡意的。”這種方法可能會導致惡意程序包的運行時間超過必要的時間,從而使開發人員面臨風險。
與前幾年相比,研究人員注意到,更多專業犯罪團伙甚至網絡間諜企業采用了這種供應鏈攻擊策略。最近的一個例子發生在8月份,當時朝鮮政府資助的黑客企業之一拉撒路集團(Lazarus Group)將惡意程序包VMConnect上傳到了Python組件的公共注冊機構PyPI。該程序包偽裝成合法的VMware模塊,并在安裝到系統上時下載額外的惡意有效負載。
開發人員繼續下載有風險的開放源碼包
減輕惡意包和易受攻擊的包帶來的威脅的任務也應該落在包的消費者身上,而不僅僅是存儲庫管理器。不幸的是,數據顯示,用戶繼續以高速率下載高風險的包。
根據Sonatype從其軟件供應鏈管理工具以及該公司運行的Java組件Maven存儲庫收集的數據,2022年和2023年分別有12%和10%的組件下載是針對存在已知漏洞的版本。其中超過三分之一存在嚴重漏洞,另有30%存在嚴重缺陷。更令人擔憂的是,96%的這些易受攻擊的下載本可以避免,因為使用的組件已經更新了沒有漏洞的版本。
Sonatype的研究人員表示:“嚴重易受攻擊的組件使用量的增加可能是因為這些漏洞主要是在更流行、更廣泛采用的開源軟件中發現和報告的。”人氣會吸引更多好演員和壞演員的注意,導致出現關鍵問題的可能性增加。同樣值得注意的是,這些更受歡迎的組件有一個官方的披露流程來進行溝通。這意味著,平均而言,這些關鍵漏洞應該是最受關注的。但是,正如我們在易受攻擊的Log4j版本中所看到的那樣,“知道”只是一半的打擊。企業必須關心,他們必須有一種自動化的方法來解決這個問題。
開源維護質量參差不齊,正在下降
組件開發人員也必須盡自己的一份力,盡快響應報告和修補程序缺陷,而這一過程的質量在整個生態系統中差異很大。事實上,Sonatype已經看到越來越多的項目不再由創建者維護。
2020年,開放源代碼安全基金會(OpenSSF)發布了一個新的項目評分系統,稱為Scorecard,基于它們對安全最佳實踐的采用。根據數據,根據提交和問題跟蹤活動,Java和JavaScript生態系統中超過24000個被列為2021年維護的項目不再符合2022年維護的條件。
另一個被跟蹤的重要度量稱為“代碼評審”,指的是在將請求提交到項目之前對其進行評審的實踐。根據Sonatype的說法,這是與良好的安全結果最相關的做法,但并未被廣泛采用。事實上,在過去的一年里,使用代碼審查的項目數量總體上減少了15%,如果只計算符合維護條件的項目,則減少了8%。
Sonatype的研究人員說:“去年18.6%的項目停止維護的事實突出表明,不僅需要選擇良好的依賴項,還需要監控這些依賴項的質量變化。”代碼審查率總體較低,即使在考慮剛剛維護的項目時也是如此,這為開源開發實踐提供了一個明顯的改進領域--特別是考慮到代碼審查在預測安全狀態方面的重要性。
“根據我們的發現,希望將開源漏洞風險降至最低的企業應該選擇維護良好的項目,執行代碼審查并對其進行監控,以確保它們沒有達到生命周期的終點。”研究人員總結道。
關于企業網D1net(hfnxjk.com):
國內主流的to B IT門戶,同時在運營國內最大的甲方CIO專家庫和智力輸出及社交平臺-信眾智(www.cioall.com)。同時運營19個IT行業公眾號(微信搜索D1net即可關注)。
版權聲明:本文為企業網D1Net編譯,轉載需在文章開頭注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。