現(xiàn)代軟件開(kāi)發(fā)是一個(gè)高度復(fù)雜的工程,而軟件開(kāi)發(fā)的敏捷化(DevOps)則給其安全控制帶來(lái)了全新挑戰(zhàn)。隨著安全威脅的不斷增長(zhǎng),開(kāi)發(fā)者必須將安全控制融合到軟件開(kāi)發(fā)的整個(gè)生命周期中(DevSecOps),將安全測(cè)試工具與研發(fā)流程整合,在軟件發(fā)布、部署之前,投入生產(chǎn)之后針對(duì)漏洞進(jìn)行大量嚴(yán)格測(cè)試。
為了加快軟件安全的測(cè)試過(guò)程,匹配安全與敏捷需求,企業(yè)安全團(tuán)隊(duì)也應(yīng)該遵循DevSecOps敏捷安全思維模式,實(shí)踐DevOps安全持續(xù)生命周期方法,通過(guò)自動(dòng)化工具大大簡(jiǎn)化代碼安全測(cè)試。
以下,我們將簡(jiǎn)要介紹三種主要的DevSecOps測(cè)試方法(SAST、DAST和SCA)及其開(kāi)源(含免費(fèi))工具。
靜態(tài)應(yīng)用安全測(cè)試(SAST)
靜態(tài)應(yīng)用程序安全測(cè)試(SAST)通常在編碼階段分析軟件源代碼或二進(jìn)制文件的語(yǔ)法、結(jié)構(gòu)、過(guò)程、接口中存在的安全漏洞,是公司在軟件開(kāi)發(fā)生命周期的早期階段進(jìn)行的一種白盒安全測(cè)試。SAST通常會(huì)在不同的時(shí)間間隔或需要添加或更改代碼庫(kù)時(shí)重新運(yùn)行。
作為DevSecOps產(chǎn)品,為自動(dòng)化量身定制的SAST工具會(huì)逐行篩查代碼以識(shí)別已知漏洞和薄弱環(huán)節(jié)。
自動(dòng)化SAST工具的主要缺點(diǎn)之一是誤報(bào),而且該工具的智能化程度不足以分析處于早期階段且無(wú)法編譯的代碼。通過(guò)人工智能技術(shù)可以大大減少SAST工具的誤報(bào)事件。
OWASP發(fā)布了開(kāi)源、免費(fèi)和商業(yè)SAST工具的列表,以下是可以添加到集成開(kāi)發(fā)環(huán)境中的流行開(kāi)源SAST工具:
Bandit
Flawfinder
GitHub Advanced Security
OWASP Automated Software Security Toolkit
動(dòng)態(tài)應(yīng)用安全測(cè)試(DAST)
SAST從內(nèi)部查看源代碼,而動(dòng)態(tài)應(yīng)用程序安全測(cè)試(DAST)則從外部分析軟件的安全性。作為一種黑盒安全測(cè)試工具,DAST可識(shí)別整個(gè)企業(yè)基礎(chǔ)架構(gòu)中的網(wǎng)絡(luò)、系統(tǒng)和操作系統(tǒng)漏洞。
DAST通常在測(cè)試或運(yùn)行階段分析應(yīng)用軟件的動(dòng)態(tài)運(yùn)行狀態(tài),要求應(yīng)用程序完全編譯和運(yùn)行,因此DAST測(cè)試通常在生產(chǎn)之前的測(cè)試/開(kāi)發(fā)環(huán)境中運(yùn)行,自動(dòng)啟動(dòng)多個(gè)爬取活動(dòng)和相關(guān)的滲透測(cè)試以檢測(cè)漏洞。DAST降低了將有安全漏洞的軟件交到業(yè)務(wù)用戶(hù)手中的風(fēng)險(xiǎn)。
DAST的主要缺點(diǎn)是測(cè)試難以覆蓋整個(gè)攻擊面,從而導(dǎo)致一些漏洞被遺漏。
OWASP推薦了一系列開(kāi)源和商業(yè)DAST工具。其中流行的開(kāi)源工具如下:
Deepfence ThreatMapper
Nikto
OpenVAS
OWASP Zed Attack Proxy
軟件成分分析(SCA)
軟件成分分析(SCA)技術(shù)用于檢測(cè)軟件中的開(kāi)源組件是否帶有已知的安全漏洞或功能漏洞,或需要恰當(dāng)授權(quán)許可的商業(yè)軟件或第三方產(chǎn)品。
隨著軟件供應(yīng)鏈安全威脅的不斷增長(zhǎng),軟件成分分析(SCA)的重要性正不斷提升,對(duì)于部分或者全部依賴(lài)開(kāi)源軟件的開(kāi)發(fā)項(xiàng)目,SCA工具可用于自動(dòng)識(shí)別整個(gè)容器映像、打包的二進(jìn)制文件和源代碼中的漏洞。SCA工具對(duì)于識(shí)別和管理軟件許可,以及實(shí)現(xiàn)最佳代碼集成也很有用。
SCA工具提供了一種可靠的方法來(lái)及時(shí)自動(dòng)識(shí)別漏洞和利用。SCA工具可掃描一個(gè)或多個(gè)相關(guān)數(shù)據(jù)庫(kù)中的管理器、文件和圖像,從中查找已知漏洞,可快速識(shí)別開(kāi)源軟件和可重用代碼中的安全問(wèn)題。越來(lái)越多的企業(yè)意識(shí)到,需要使用軟件物料清單(SBOM)來(lái)跟蹤代碼并幫助防止可見(jiàn)性問(wèn)題。
G2列出了許多提供免費(fèi)試用版的SCA工具,其中包括:
GitLab
ThreatWorx
JFrog Xray