DevSecOps工具和檢測即代碼介紹
把安全嵌入開發的DevSecOps工具
由于DevOps敏捷、持續和快速的特性,安全是其不可缺少的一環,可是許多組織在這方面做得很吃力。這種困境通常是由于組織缺乏優先級文化,甚至是流程方面的挑戰,但好的工具可以幫助企業將Sec放在DevOps中。這些工具讓開發人員、運營團隊和安全團隊在風險管理方面保持一致,從而幫助企業把安全嵌入到DevOps內部。
由于自定義代碼開發的快速擴張,對DevSecOps的需求正在增長,Emergent Research估計,到2028年,對DevSecOps工具的需求將從2020年的25.5億美元增長到230億美元以上。下面是DevSecOps核心分類中最重要的工具的總結。
DevSecOps報警
DevOps以敏捷見長,因此保護這些組織的能力必須同樣迅速,對于無法阻止的情況必須快速響應。本節中的工具可以幫助開發人員、安全和運維團隊及時對問題做出響應。
在DevSecOps工具中經常有很多交叉的地方,這就是為什么有些工具專注于報警,而其他工具可能提供額外的功能,如工作流跟蹤和修復。重要的是找到適合組織的報警工具,管理在開發管道中出現的事件和發現漏洞報警。
Pagerduty
許多運營和開發團隊已經依賴Pagerduty或類似的工具來管理環境中的事件。當涉及到DevSecOps時,Pagerduty可以將安全團隊整合到管道內的安全相關事件閉環流程,并與其他安全工具集成,用于云、漏洞管理程序、安全信息和事件管理器,這些工具也可以監控更廣泛的環境。這有助于使安全成為每個人的工作。
xMatters
自從第一個安全事件和入侵檢測工具發出警報以來,安全與運營團隊就收到了大量警報。像xMatters這樣的工具努力分流大部分的數據來緩解警報疲勞。可以將閾值和觸發器設置為過濾警報,讓團隊專注于對他們重要的通知。設置線程和觸發器來過濾報警,某些報警能觸發自動響應,某些事件的警報可以相互關聯,這樣一個事件就不會觸發300個通知。
Alerta
DevSecOps團隊需要來自任何地方的警報,像Alerta這樣的工具可以接收常見警報源,如Syslog、SNMP、Prometheus、Nagios、Zabbix、Sensu、netdata,以及任何可以提交URL請求的工具,和通過Python等腳本。告警可以去重、關聯和定制。
ElastAlert
ElastAlert是一個開源工具,它提供了一個框架,可以接收來自Elasticsearch數據的安全異常、峰值和其他特征的實時警報。它查詢Elasticsearch并根據一組規則對數據進行比較。當匹配時,ElastAlert會發出帶有建議操作的警報。
安全應用程序開發
DevSecOps的核心是將應用程序的安全性從構建應用程序之后(或者更糟的是,在應用程序交付生產之后)轉移到開發過程中。這就要求開發人員對他們開發的代碼的安全性承擔更多的責任,安全團隊在必要時幫助開發人員。在這方面取得成功需要正確的軟件安全評估工具。
Checkmarx
Checkmarx靜態應用程序安全測試(SAST)執行應用程序源代碼掃描,幫助開發團隊保持他們提交代碼的安全。在開發管道中集成開發和應用程序發布編排工具,構建自動化,bug跟蹤系統等等。不像許多傳統的SAST工具,Checkmarx SAST可以分析新的或更改后的代碼。
Veracode平臺
Veracode平臺提供了適合DevSecOps環境的應用程序安全工具。其中包括Veracode Static Analysis,它在代碼編譯之前對其進行審查,并幫助開發人員在集成開發環境(IDE)中正確地修復代碼。另一個是Veracode軟件成分分析,它幫助識別開源組件中的漏洞。
Burp Suite 企業版
PortSwigger的Burp Suite企業版可以跨應用程序執行自動的重復動態掃描。它為持續集成管道預先構建集成、支持Jira,API幫助開發人員在現有的軟件開發過程中集成安全測試。
Synopsys
Synopsys提供了好幾個應用程序安全測試工具,包括Coverity,自動化測試的SAST工具,并集成到持續集成/持續交付(CI/CD)管道中;Black Duck,軟件成分分析(SCA)工具,用于檢測和管理應用程序和容器中使用開源和第三方代碼所帶來的風險;Seeker IAST(交互式應用安全測試),發現可能暴露敏感數據的運行時安全漏洞;應用程序安全性測試的托管服務。
Parasoft
Parasoft提供自動化工具來執行應用程序開發安全測試。包括Parasoft C/ c++測試,用于在開發早期識別缺陷,Parasoft Insure++用于發現很難預測的編程和內存訪問錯誤,Parasoft Jtest用于Java軟件開發測試,以及Parasoft dotTEST,用于補充Visual Studio進行深度靜態分析工具。
DevSecOps儀表板:持續開發管道的安全可視化
專用的DevSecOps儀表板能夠從開發過程開始到生產過程中,圖形化地查看和共享安全信息。雖然其他DevSecOps工具提供儀表板,但這些應用程序專門用于自定義生成儀表板,一些團隊會發現它們很有價值。
Grafana
Grafana是一個開源分析平臺,可以創建自定義儀表板來聚合相關數據,以便可視化和查詢。如果決定從頭開始構建一個儀表板很麻煩,那么在這個站點上有許多社區構建的儀表板。
Kibana
對于使用Elasticsearch的組織來說,開源Kibana將把成千上萬的日志條目集成到統一的圖形視圖中,包括運營數據、時間序列分析、應用程序監控等等。
威脅建模:預測應用程序的威脅
威脅建模工具幫助安全團隊定義、識別并希望準確地預測可能針對應用程序的威脅,并預測它們可能如何成為目標。通過這種方式,設計和開發團隊可以在編寫第一行代碼之前避免潛在的高昂成本甚至是災難性的安全后果。有些工具根據用戶提供的有關系統和應用程序的信息自動構建威脅模型,然后生成可視化界面,幫助團隊探索威脅及其潛在影響。
IriusRisk
IriusRisk是一個云或本地應用程序,自動化分析風險和需求。它還使用基于問卷的界面,設計威脅模型和技術安全需求,并幫助管理代碼構建和安全測試階段。
ThreatModeler
該自動化威脅建模系統基于可用的威脅情報,自動分析數據并識別整個攻擊面中的潛在威脅。ThreatModeler提供可視化的攻擊面、安全需求和減輕威脅的優先級步驟。
OWASP Threat Dragon
這個基于web的開源工具提供了系統示意圖和規則引擎來自動建模和緩解威脅。Threat Dragon擁有一個易于使用的界面,并與其他軟件開發生命周期(SDLC)工具無縫集成。
其他可以參考的DevSecOps工具
下列DevSecOps工具包括上述工具提供的某些特性和功能,但在許多方面又有所不同。
Chief Inspec
開源Chief InSpec在每個開發階段自動進行安全測試,以幫助確保合規性、安全性和其他針對傳統服務器、容器和云API的策略需求。
Gauntlt
另一個開源選擇是Gauntlt,它是一個流行的測試框架,旨在簡化安全測試及安全、開發和操作團隊之間的溝通。GauntIt為測試提供了容易生成攻擊的能力,并且能夠輕松地嵌入到現有的工具和過程中。
Red Hat Ansible Automation?
該工具包括三個模塊:Ansible Tower,Ansible Engine和Red Hat Ansible Network Automation。每個應用程序可以單獨使用,也可以自動使用并協同工作。雖然Ansible Automation并不是一個專門的安全工具,但它允許團隊在他們的安全軟件開發管道中定義安全規則。
StackStorm
開源StackStorm提供事件驅動的自動化,在檢測到安全缺陷時提供腳本化修復和響應,以及持續部署、ChatOps優化等。
Aqua Security
Aqua旨在跨整個開發管道和運行時環境管理安全性,支持跨所有平臺和云的容器及云原生應用程序。
GitLab
這個工具將DevSecOps架構搭建到開發過程中。GitLab承諾在提交后測試每一段代碼,使開發人員能夠在處理代碼時修復安全漏洞,并提供所有漏洞的儀表盤。
Red Hat OpenShift
Red Hat OpenShift承諾為基于容器的應用程序提供內置的安全功能,例如基于角色的訪問控制、SELinux隔離和在整個容器構建過程中的檢查。
SD Elements
來自Security Compass的SD Elements是一個自動化平臺,旨在收集有關軟件的信息,識別威脅和對策,并強化相關的安全控制,以幫助企業實現其安全和合規性目標。
WhiteSource
WhiteSource旨在解決開源漏洞,無論使用哪種編程語言、構建工具或開發環境,都可以集成到構建過程中。WhiteSource使用不斷更新的開源代碼庫信息,持續檢查開源組件的安全性和許可。
https://www.csoonline.com/article/3398485/28-devsecops-tools-for-baking-security-into-the-development-process.html#tk.rss_all