現代企業的軟件開發高度依賴開源項目,同時也導致很多企業(包括這些企業的用戶)嚴重低估了軟件項目對開源代碼的依賴度,以及由此引發的巨大安全隱患。
開源安全危機四伏
根據安全牛此前的報道《開源盛世需警惕“安失之亂”》,自由軟件與開源軟件(FOSS)在現代軟件中的占比高達80%-90%。與此同時75%的開源代碼庫存在安全漏洞,其中49%屬于高危漏洞。國內的開源安全形勢尤為嚴峻,因為國內相當大比例的軟件是被組裝出來的,其原材料就是開源軟件。開源軟件已經成為網絡空間的“磚頭瓦塊”,無處不在。而一個開源軟件出現安全問題,會導致依賴它的其他開源軟件受到影響,這種層層關聯的依賴性,造成了非常隱蔽和復雜的攻擊面。
近日,Google發布了一個全新的實驗性開源依賴性分析工具Open Source Insights,可以幫助開發人員發現他們使用的開源包/庫的依賴項以及他們當前存在的已知安全漏洞。
開源依賴性分析
Open Source Insights是谷歌云平臺托管的工具,通過網站訪問,用戶可以在其中輸入特定開源包的名稱并大致了解它們與開源項目的依賴度,包括如下信息:
“除此之外,Insights還提供交互式工具來可視化和分析完整的、可傳遞的依賴圖。它還提供一個比較工具,可以突出顯示軟件包的不同版本是如何影響您的依賴項的:可能是通過更改它們自己的依賴項、添加許可要求或修復安全問題來實現的?!遍_源洞察團隊解釋道。
該工具目前顯示有關50,000個(Rust)Cargo包、60萬個Go模塊、42萬個Maven(Java)和360萬個npm包(Node.js)的信息。此外,谷歌正在開發額外的打包系統。
Insights開發團隊解釋說:“該項目會掃描它可以發現的所有可用包,方法是讀取npm等系統包的主站點或者掃描GitHub和其他存儲庫的托管站點?!?/p>
“目前,Insights只能使用已知的打包模型分析此類系統,因為它需要打包信息來構建依賴關系圖。這意味著至少目前它們沒有C或C++的數據,沒有明確的打包模型?!?/p>
提高開源供應鏈的安全性
由于企業軟件開發對開源軟件的依賴不斷增加,以及不受管理的開源代碼帶來的安全風險(包括安全漏洞、過時或廢棄的組件以及許可合規性問題)無處不在,企業軟件開發團隊需要密切關注軟件解決方案包中的許多頻繁變化的開源代碼依賴關系。
開發人員可以使用漏洞掃描程序和依賴項審計來識別漏洞,但Open Source Insights提供了對軟件供應鏈安全性更廣泛和更深入的思考。
“Insights不是試圖取代標準工具集,而是通過對每個包模型的整個生態系統的全新集成視圖來增強它。”Google解釋說。
“一個關鍵的區別是Insights數據來自軟件本身及其軟件包定義。結果可能與僅聲明的依賴項(例如打包‘鎖定’文件)完全不同或更完整。此外,Insights提供的數據會定期重新評估,以保持最新狀態,這在快速發展的開源開發世界中非常重要。”
Insights還會跟蹤各種公共漏洞數據庫以標記已知的安全問題。
Google表示,常用包的數據通常是最新的,但非活躍和舊軟件包的數據可能是過時的。
來源:安全牛