進行自動化安全測試的七個地方
就個人而言,我喜歡 DevSecOps(安全團隊在 Dev 和 Ops 正在執(zhí)行的整個過程中編織安全性)。由于我的熱情,客戶經(jīng)常詢問我何時、如何以及在何處注入各種類型的測試和其他安全活動。下面是我為客戶提供的用于自動化測試的選項列表(在 DevOps 中有更多的安全工作要做——這只是自動化測試)。他們一起分析列表并根據(jù)他們當前的狀態(tài)決定哪些地方最有意義,并根據(jù)他們當前的關(guān)注點選擇工具。
自動化測試的七個地方
1.在集成開發(fā)環(huán)境中:
- 幾乎像拼寫檢查器一樣檢查代碼的工具(不確定這叫什么,有時稱為 SAST)
- 代理管理和依賴工具,只允許您下載安全包
- API 和其他 linting 工具,解釋您在哪里沒有遵循定義文件
- 軟件組合分析告訴你,也許這些軟件包不是那么安全使用
2.預提交掛鉤:
Secret scanning——讓我們在安全事件發(fā)生之前將其阻止。
3.在代碼存儲庫級別:
- 每周任務表:SCA 和 SAST
- Linting
- IAC掃描
4.在管道中:必須快速準確(幾乎沒有誤報)
- Secret scanning - 再來一次!
- 基礎(chǔ)架構(gòu)即代碼掃描 (IaC)
- 帶有來自 Selenium 的 HAR 文件的 DAST,或者只是被動掃描(無模糊測試)
- SCA(如果你愿意,最好使用與第一次不同的工具)
- 容器和基礎(chǔ)掃描,以及它們的依賴關(guān)系
- 將基礎(chǔ)架構(gòu)掃描為代碼以查找不良策略、配置和缺失的補丁
5.管道外:
- DAST 和模糊測試——每周自動運行!
- VA 掃描/基礎(chǔ)設(shè)施——應每周進行一次
- IAST — 在 QA 測試和滲透測試期間安裝,如果您有信心,也可以在產(chǎn)品中安裝。
- SAST——測試每個主要版本或每次大更改后的所有內(nèi)容,然后對結(jié)果進行人工審查。
6.單元測試:
- 進行開發(fā)人員的測試并將其轉(zhuǎn)化為負面測試/濫用案例。
- 根據(jù)滲透測試結(jié)果創(chuàng)建單元測試,以確保我們不會重蹈覆轍。
7.持續(xù):
漏洞管理。您應該將所有掃描數(shù)據(jù)上傳到某種系統(tǒng)中,以尋找模式、趨勢和(最重要的)改進。
您不需要做所有這些,甚至不需要做其中的一半。本文的目的是向您展示幾種可能性,希望您能利用其中的一些。