2つのスキャン
passive scan(静的)とactive scan(動的)がある
passiveはspiderによる通常アクセスの結果だけで分析
activeは積極的に攻撃
アクティブスキャン
contextに関係あるURLのみ含める(SaaSとかは入れないように!)
ポリシーは広めに テクノロジー欄で不要なものは削る
プラグイン
fuzzer
fuzzingができる。numberが使いやすいかも
script
静的&動的スキャン時に実行してくれるスクリプト
まずmarketplaceからインストールする.
スクリプト欄を右クリックでonにすると、各スキャンに組み込まれる
CI/CDへの組み込み
GitHub Actionsの場合、2種類あり
- https://github.com/zaproxy/action-baseline
- https://github.com/marketplace/actions/owasp-zap-full-scan
baselineは軽めで、ほとんど機能なし (passive scan) ログイン不可
full scanは重め。passive + active。なぜかajax spiderは行いません。
-j オプションでajax spiderが追加できるので推奨です
できること
試験とともに、issueを作成可能です。
不要なアラートは無効化できます
制約
Actionsのサーバからscanするサービスにアクセスできる必要があります
APIとフロント双方です。
Q&A
AWSへの申請は必要ですか?
不要になりました。
これをやれば完璧ですか?
ある程度は防げますが、物足りないところです。
別途pen testのノウハウが必要です。
防げない例
- アプリレベル認証認可実装のミス
- AWSの設定不備 これはSecurity Hubなどで対応
- 3rd party脆弱性 これはrenovateなどで防ぎましょう
専門担当者のペネトレーションテストや、外部ベンダーの脆弱性検査が必要です。
DASTは誤検知が多く、残念ながら開発者だけで完結させるのは難しい状態です