在安全測試中都會遇到SAST(Static Application Security Testing )、DAST(Dynamic Application Security Testing )、IAST(Interactive Application Security Testing )的概念, 這三種工具各有優劣勢,根據自己的經驗對三種工具的比較如下:
比較項 | SAST | DAST | IAST |
掃描對象 | 源代碼 | 運作時的應用程式 | 運作時的應用程式 |
掃描準備 | 簡單 | 複雜 | 複雜 |
掃描速度 | 快 | 很慢 | 慢 |
誤報率 | 高 | 低 | 低 |
覆寫率 | 高 | 低 | 中 |
對環境的影響 | 無 | 有 | 有 |
測試方法 | 白盒 | 黑盒 | 黑盒 |
與開發語言關系 | 有關 | 無關 | 有關 |
CI/CD內建 | 支援 | 不支援 | 不支援 |
支援測試階段 | 研發、測試、上線 | 測試、上線 | 測試、上線 |
部署 | 簡單 | 簡單 | 複雜 |
由于每種工具都有自己的特點,可以根據企業的内部需求,選擇合适的工具組合。
總體來說,
SAST工具效率比較高,但是,有誤報的問題,需要人工篩選。
DAST基本上沒有誤報,而且攻擊的向量和環境都結合的很好,不需要人工确認,也沒有誤報,但是,執行速度太慢,在使用靈活開發的團隊,可能很難有效地利用。
IAST由于部署比較麻煩,而且和語言的關聯性比較大,有的語言不支援IAST的插樁技術,例如:C和C++等語言,就不能使用IAST了,是以,即使沒有什麼誤報,目前應用的還不是很廣泛。