読み方 : ダスト
DAST【Dynamic Application Security Testing】動的アプリケーションセキュリティテスト
概要
DASTとは、稼働中のWebアプリケーションに対して外部から擬似的な攻撃リクエストを送信し、脆弱性を検出する動的なセキュリティテスト手法。ソースコードへのアクセスを必要とせずにブラックボックス的に検査を行う。

アプリケーションのソースコードを静的に解析する「SAST」(Static Application Security Testing:静的アプリケーションセキュリティテスト)とは対照的に、DASTはアプリケーションを実際に動作させた状態でテストを行う。
テスターはHTTPリクエストに異常動作を引き起こす想定外の文字列や不正なスクリプトなどを含むパラメータを埋め込んでサーバへ送る。これに対するHTTPレスポンスの内容や挙動を観察することで、SQLインジェクションやクロスサイトスクリプティング(XSS)、認証の不備、セキュリティヘッダの欠如などを検出する。実際にアプリケーションが処理する経路を通じてテストするため、フレームワークやライブラリ、サーバ設定に起因する問題も発見できる。
代表的なDASTツールとしては「OWASP ZAP」(Zed Attack Proxy)や「Burp Suite」がある。OWASP ZAPはオープンソースで無償で利用でき、CI/CDパイプラインへの組み込みにも対応している。Burp Suiteは英ポートスウィッガー(PortSwigger)社が開発した商用ツールで、セキュリティ専門家によるペネトレーションテストでも広く使われている。
SASTに比べると、DASTはソースコードがなくても実施できる反面、テスト対象のアプリケーションが動作する環境を用意する必要がある。また、検出できる脆弱性の種類がSASTとは異なり、両者を組み合わせて用いることでテスト範囲を補い合うことが多い。DevSecOpsの実践においては、DASTをステージング環境のCI/CDパイプラインに組み込み、デプロイのたびに自動でセキュリティ検査を実行する運用とすることが多い。