DevSecOps正在從根本上改變現(xiàn)代應(yīng)用程序的構(gòu)建、測試、部署和監(jiān)控方式。安全現(xiàn)在是主要關(guān)注點(diǎn)。但是,敏捷和迭代開發(fā)需要能夠與 CI\CD 管道無縫集成并自動(dòng)執(zhí)行保護(hù)工作負(fù)載的過程的工具。
傳統(tǒng)的安全工具通常不夠敏捷或可擴(kuò)展,無法滿足這些需求。考慮到自動(dòng)化、集成和可擴(kuò)展性(例如使用 RESTful API)而構(gòu)建的DevSecOps工具填補(bǔ)了這一空白。SAST、DAST 和 IAST 等現(xiàn)代 AppSec 工具是DevSecOps工具的典型示例。
對于現(xiàn)代企業(yè)來說,DevSecOps 對于每一個(gè)開發(fā)項(xiàng)目都是必不可少的,DevSecOps工具使得 DevSecOps 的實(shí)施成為可能。例如,通過使用這些工具,企業(yè)可以開始利用“左移安全”的力量,使安全成為端到端應(yīng)用程序開發(fā)的一部分。
企業(yè)可以使用多種方法來保護(hù)工作負(fù)載,但從根本上說,在整個(gè)開發(fā)周期中集成安全性是最可靠的。下面,我們將介紹企業(yè)可用于使用現(xiàn)代DevSecOps工具和技術(shù)集成安全性的 5 種方法。然后,我們將研究一個(gè)可大規(guī)模啟用這些方法的平臺。
方法 1:將靜態(tài)代碼分析作為 CI\CD 流水線的一部分
靜態(tài)應(yīng)用程序安全測試 (SAST) 是一種用于自動(dòng)化白盒安全掃描的出色機(jī)制。SAST 是一個(gè)“白盒”DevSecOps工具,因?yàn)樗治黾兾谋驹创a而不是運(yùn)行掃描編譯的二進(jìn)制文件。分析源代碼后,SAST 工具會將結(jié)果與一組預(yù)先確定的策略進(jìn)行比較,以確定是否存在已知安全問題的任何匹配項(xiàng)。此過程有時(shí)稱為靜態(tài)代碼分析。
SAST 工具可以在源代碼中輕松檢測到的漏洞示例包括:
因?yàn)樗鼈兎治鲈创a,所以這些工具非常適合在代碼接近生產(chǎn)之前識別CI\CD 管道中的常見漏洞。此外,由于 SAST 處理純文本源代碼,它們使企業(yè)能夠在代碼構(gòu)建之前檢測漏洞,并在應(yīng)用程序完成之前對其進(jìn)行安全測試。
方法 2:針對每個(gè)環(huán)境運(yùn)行自動(dòng)黑盒漏洞掃描
SAST 應(yīng)用程序可以成為 DevSecOps 的強(qiáng)大工具,但存在許多 SAST 解決方案無法檢測到的漏洞。例如,SAST 工具從不實(shí)際執(zhí)行代碼。因此,他們無法檢測到錯(cuò)誤配置或其他僅在運(yùn)行時(shí)暴露的漏洞等問題。動(dòng)態(tài)安全應(yīng)用程序測試 (DAST) 工具可以幫助填補(bǔ)這一空白。
DevOps 團(tuán)隊(duì)可以使用 DAST 工具對已編譯和正在運(yùn)行的代碼執(zhí)行自動(dòng)化“黑盒”安全掃描。DAST 解決方案將在稱為“模糊測試”的過程中使用已知的漏洞利用和惡意輸入來掃描應(yīng)用程序。DAST 工具將分析響應(yīng)以在掃描運(yùn)行時(shí)檢測漏洞或其他不良反應(yīng)(例如崩潰)。
運(yùn)行這些測試的好處是企業(yè)可以檢測只能在運(yùn)行時(shí)發(fā)現(xiàn)的漏洞和錯(cuò)誤配置。通過將 DAST 掃描器集成到他們的 CI\CD 管道中,企業(yè)可以自動(dòng)檢測開發(fā)、QA、登臺和生產(chǎn)環(huán)境中的安全問題
方法 3:使用 IAST 工具簡化安全掃描
交互式應(yīng)用程序安全測試 (IAST) 將 SAST 和 DAST 結(jié)合到一個(gè)單一的安全測試解決方案中。對于希望盡可能多地消除摩擦并將安全性無縫集成到其 CI\CD 管道的各個(gè)方面的企業(yè)來說,使用 IAST 工具來實(shí)現(xiàn) DAST 和 SAST 的功能通常是最有意義的。
此外,通過將 SAST 和 DAST 的功能組合到一個(gè)單一的整體DevSecOps工具中,IAST 平臺不僅簡化了安全掃描,而且還實(shí)現(xiàn)了其他方式無法實(shí)現(xiàn)的可見性和洞察力。
例如,借助 IAST 平臺,企業(yè)可以通過動(dòng)態(tài)掃描自動(dòng)模擬高級攻擊,根據(jù)應(yīng)用程序調(diào)整漏洞利用,如果檢測到問題,則使用代碼工具提醒 DevSecOps 團(tuán)隊(duì)注意特定的有問題源代碼行。
方法 4:利用 SCA 工具自動(dòng)檢測框架和依賴項(xiàng)的問題
2021 年開發(fā)的應(yīng)用程序并非從頭開始編寫。他們使用范圍廣泛的開源庫,并且可能具有復(fù)雜的依賴鏈。因此,2021 年的DevSecOps工具必須能夠檢測到這些依賴項(xiàng)中的安全漏洞。集成源成分分析 (SCA) 工具可以幫助應(yīng)對這一挑戰(zhàn)。通過將 SCA 集成到 DevSecOps 管道中,企業(yè)可以快速可靠地檢測其應(yīng)用程序組件的潛在漏洞和問題。
方法 5:對容器執(zhí)行自動(dòng)端到端掃描
容器化工作負(fù)載、微服務(wù)和Kubernetes (K8s) 是現(xiàn)代應(yīng)用程序的標(biāo)準(zhǔn),經(jīng)過優(yōu)化以與它們一起使用的DevSecOps工具是必須的。至少,企業(yè)應(yīng)該集成工具,在他們的管道中自動(dòng)化這些功能:
此外,自動(dòng)執(zhí)行零信任策略并使用管理日志和安全警報(bào)的可觀察性工具可以改善整體企業(yè)安全狀況。