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