七個優秀軟件供應鏈安全工具
正如Apache Log4J漏洞在今年早些時候帶來的影響所表明的那樣,當今企業軟件中最大的風險并不是由內部軟件開發團隊編寫的不安全代碼。當今軟件代碼庫大部分的組件、庫和其他開源代碼存在的缺陷是不安全性這座冰山的水下部分。
事實上,DevOps團隊和軟件工程團隊采用的許多企業軟件和自定義應用程序實際上并不是由他們的開發人員編寫的。如今的現代軟件通常是模塊化的。開發人員使用所謂的微服務架構來構建新的應用程序,其方法就像搭建樂高積木,而其架構只是使用由預制代碼組成的模塊構建。開發人員無需在每次需要應用程序執行通用功能時重新發明輪子,而是在他們眾所周知的模塊工具箱中尋找合適的模塊來完成他們需要的工作。
這個工具箱就是當今不斷擴展的軟件供應鏈,有時是非正式的代碼源,它來自當今在線上流傳的數百萬個GitHub存儲庫和開源項目。它由大量應用程序以及用于構建現代開發管道的底層應用程序和開發基礎設施中使用的組件和庫組成。
當然,這個供應鏈提供的程序并不是真正的模塊,它們并不總是完美地結合,因此開發人員創建自定義代碼將所有這些部分整合在一起。事實上,許多人經常將這些創作開發成更多的開源項目,以供其他人解決類似問題。這也是軟件供應鏈不斷增長的原因之一。
使用第三方代碼構建的應用程序
現代應用程序主要由第三方代碼組成。根據調研機構Forrester公司的調查,構成應用程序代碼庫的開源代碼比例從2015年的36%上升到2020年的75%。
這是一種更快、更具可擴展性的快速開發方式,但與所有技術創新一樣,除非采取適當的措施,否則它會增加網絡風險。從當今的軟件供應鏈中選擇的組件很容易過時并充滿漏洞,這是開發世界的一個秘密。讓事情變得更加復雜的是,這些缺陷往往嵌套在一起,因為不同的項目可能對供應鏈中的其他項目具有依賴性。網絡攻擊者有時故意在開源軟件中植入漏洞。
軟件供應鏈帶來的漏洞就像企業軟件中在網絡安全方面隱藏的地雷,尤其是當企業沒有采取任何措施來管理其開發人員如何使用軟件供應鏈時。許多企業甚至幾乎不跟蹤(更不用說審查或管理)進入或生成其開發人員提交的代碼的組件、庫和開發人員工具的種類。根據Linux基金會發布的一項研究報告,不到一半的企業使用軟件材料清單(SBOM)來準確跟蹤從軟件供應鏈進入其應用程序的內容。
創建軟件物料清單 (SBOM)是供應鏈安全的基礎,同時也是開源治理和保護基礎設施的基礎,因為基礎設施是與整個軟件開發生命周(SDLC)中的應用程序相關的代碼元素。以下是有助于實現這一目標的重點強調軟件組合分析(SCA)的工具列表,這些工具專門專注于開發創建軟件物料清單 (SBOM)、提高對軟件內容的可見性,以及修復作為軟件構建塊的組件中的缺陷。
7個頂級供應鏈安全工具
(1)Contrast Security
Contrast Security以其交互式應用程序安全測試(IAST)技術而聞名,該技術通過運行在應用程序服務器上的代理檢測應用程序中的漏洞,ContrastSecurity提供軟件組合分析(SCA))功能,作為其開放平臺完整測試計劃的一部分,該平臺還進行動態應用程序安全測試(DAST)、靜態應用程序安全測試(SAST),AWS Lambda基礎設施的運行時應用程序掃描保護(RASP)和無服務器安全檢查。
該工具不僅可以生成軟件物料清單 (SBOM),還可以通過可視化應用程序架構、代碼樹和消息流信息來對構成應用程序的各種成分的缺陷實現場景化,以幫助進行威脅建模補救。開源治理嵌入在現代開發工作流程和工具中,Contrast Security的主要業務是彌合開發人員和安全團隊之間的鴻溝,使其成為DevSecOps市場的主要參與者。
(2)Shiftleft
ShiftLeft在這個選項領域相對較新,旨在適應具有前瞻性思維的DevOps團隊的開發工作流程。其核心價值在于將軟件組合分析(SCA)和靜態應用程序安全測試(SAST)整合到一個掃描行為中,當開發人員提出拉取請求時完成該掃描。該技術使用該公司稱為代碼屬性圖(CPG)的技術來繪制自定義代碼、開源庫、SDK和API之間的依賴關系和數據流,不僅可以找出整個應用程序的缺陷,還包括其開源組件,但也是邏輯應用程序的弱點。供應鏈缺陷通過使用插入到軟件物料清單 (SBOM)中的“可達性”指數對攻擊的敏感性進行優先級排序,該指數根據組件在應用程序中的使用方式將其置于組件可攻擊性的場景中。
(3)Snyk
Snyk是一套云原生、以開發人員為中心的工具,專為DevSecOps和云原生開發商店而構建。它以其SCA和容器安全掃描功能而聞名,它還提供SAST和API漏洞測試。2022年2月,Snyk公司收購了云安全態勢管理商Fugue公司。正如Gartner公司解釋的那樣,它在代碼安全、容器安全和應用程序安全等基礎設施中提供的產品組合代表了“應用程序和基礎設施層越來越模糊”這一事實。它通常是在開發人員方面購買的,但對于尋求轉向開發人員運行的安全測試和修復的民主化模型的首席安全官和安全人員來說值得嘗試。
(4)Sonatype Nexus
作為軟件組合分析(SCA)市場上運行時間最長的產品之一,Sonatype早在該術語進入安全會議和網絡研討會之前就將自己稱為“軟件供應鏈安全”公司。Sonatype Nexus平臺的核心是其創建詳細的軟件物料清單 (SBOM)和策略管理的能力。Forrester公司分析師表示,“策略是Sonatype的優勢領域,它具有符合一系列標準的開箱即用策略和允許用戶創建策略,并將策略分配給某些類型的應用程序的策略引擎。”而策略不僅可以應用于代碼中的內容,還可以用于管理周圍基礎設施的安全性和配置,作為用于開發和部署應用程序的代碼和容器。
Sonatype Nexus還提供存儲庫管理,為所有組件、二進制文件和構建工件提供單一事實來源。Nexus的組件歷史可視化和Sonatype的客戶服務也被分析師稱為其最大優勢。Sonatype公司去年還在一次收購中收購了MuseDev,幫助它建立了Sonatype Lift功能,在代碼審查期間提供對開發人員友好的代碼質量分析。
(5)Synopsys Black Duck
Synopsys公司的Black Duck SCA工具執行四種類型的分析(依賴性、代碼打印、二進制和片段),以跟蹤和管理組織軟件中使用的組件。Synopsis公司最近改進了Black Duck的軟件物料清單 (SBOM)創建功能,以包括BLANK。除了創建材料清單之外,該工具還執行自動化策略管理。Black Duck是Synopsys提供的更廣泛的AppSec工具組合的一部分,Gartner公司在其應用安全測試魔力象限中將其命名為領導者。它用于提供SCA以及DAST、SAST、滲透測試、模糊測試和一系列其他測試功能的開放平臺模型是一個關鍵的價值主張。Gartner公司表示,它使Synopsys非常適合使用多種開發風格和編程技術進行復雜、多團隊開發的企業。
(6)Veracode
作為傳統應用安全測試市場的長期強者,Veracode公司成熟的SaaS產品長期主導靜態應用程序安全測試(SAST)和動態應用程序安全測試(DAST)領域,Veracode公司在過去幾年一直在軟件組合分析(SCA)上投入巨資。在2018年收購SourceClear之后,其本土軟件組合分析(SCA)功能與其通過SourceClear提供的功能之間存在一些分歧,但Veracode軟件組合分析現在是通過該平臺提供的單一產品。Forrester公司分析師解釋說,“Veracode的路線圖側重于在開發人員環境中統一靜態應用程序安全測試(SAST)和軟件組合分析(SCA)功能,并增強容器和基礎設施即代碼(IaC)安全功能。”他們指出,Veracode的亮點是它的補救報告和依賴關系圖。他們指出,最大的摩擦點是難以將其集成到開發人員的工作流程中。
(7)WhiteSource Software
WhiteSource Software的軟件組合分析(SCA)上工具的一大亮點是對開發人員友好的組件安全問題進行修復,其中包括警報和修復過期和惡意組件。Forrester分析師寫道,“WhiteSource的思想領導力專注于補救和優先排序。”他們認為這家供應商是軟件組合分析(SCA)領域的領導者。他們說,“WhiteSource提供與眾不同的功能,包括一個瀏覽器插件,以幫助避免有問題的組件,并從開發人員隊列中刪除無法訪問的漏洞,以改善開發人員體驗。但它落后的一點是缺乏開箱即用的政策。”WhiteSource公司今年早些時候推出了靜態應用程序安全測試(SAST)解決方案。