DAST(動的アプリケーションセキュリティテスト) だすと
脆弱性スキャンペネトレーションテストセキュリティテストWebアプリケーションブラックボックステストSAST
DASTについて教えて
簡単に言うとこんな感じ!
DASTは「動いているアプリに実際に攻撃を仕掛けてみて、穴がないか確かめるテスト」だよ! 泥棒役を雇って「本当に鍵が壊せるか試してみて」と頼むようなイメージ。コードを見るんじゃなく、外から実際に叩いて弱点を見つけるんだ!
DASTとは
DAST(Dynamic Application Security Testing/動的アプリケーションセキュリティテスト) とは、実際に動作しているWebアプリケーションやAPIに対して、外部から擬似的な攻撃リクエストを送り込み、セキュリティ上の脆弱性を検出するテスト手法です。ソースコードを一切参照せず、「ブラックボックス」として対象を扱う点が最大の特徴です。
テストツールは、SQLインジェクションやXSS(クロスサイトスクリプティング)など既知の攻撃パターンを自動的に投げかけ、アプリケーションの応答を観察して脆弱性の有無を判断します。開発者でなくてもセキュリティ担当者や外部業者が実施できるため、本番環境に近いステージング環境で広く使われます。
ソースコードを解析する SAST(静的アプリケーションセキュリティテスト) と組み合わせることで、コードレベルの欠陥と実行時の挙動の両方をカバーできます。発注側の立場からは「リリース前に外部業者へDASTを委託する」という形で関わることが多い、実務的なセキュリティ対策です。
DASTの仕組みと検出できる脆弱性
DASTツールは大きく次の流れで動作します。
| ステップ | 内容 |
|---|---|
| ① クロール | アプリケーションのURLやAPIエンドポイントを自動探索する |
| ② 攻撃ペイロード送信 | SQLインジェクション・XSSなど既知の攻撃パターンをリクエストとして送信する |
| ③ レスポンス解析 | 返ってきたエラーメッセージや挙動から脆弱性を判定する |
| ④ レポート生成 | 発見した脆弱性をリスク度合い(Critical/High/Medium/Low)とともに出力する |
主に検出できる脆弱性
- SQLインジェクション — データベースを不正操作される攻撃
- XSS(クロスサイトスクリプティング) — 悪意あるスクリプトをユーザーのブラウザで実行させる攻撃
- 認証・セッション管理の不備 — ログイン回避やなりすましにつながる欠陥
- 安全でないHTTPヘッダー設定 — セキュリティヘッダーの欠如
- オープンリダイレクト — 外部の悪意あるURLへ誘導される問題
- ディレクトリトラバーサル — 非公開ファイルへの不正アクセス
代表的なDASTツール
| ツール名 | 特徴 |
|---|---|
| OWASP ZAP | 無償・オープンソース。CI/CDへの組み込みも可能 |
| Burp Suite | プロが使うプロフェッショナル向け。高精度な手動・自動テスト |
| Nikto | 軽量なWebサーバースキャナー。簡易チェックに向く |
| Nessus | 幅広い脆弱性スキャンが可能な商用ツール |
歴史と背景
- 1990年代後半 — Webアプリが普及し始め、SQLインジェクションやXSSなどWebアプリ特有の攻撃手法が登場
- 2001年 — OWASP(Open Web Application Security Project)が設立。Webセキュリティの標準化が進む
- 2004年 — OWASPが「OWASP Top 10」を初公開。Webアプリの代表的脆弱性が整理され、DASTで検出すべき対象が明確化
- 2010年代前半 — クラウド移行が加速し、Webアプリへの攻撃リスクが急増。DASTツール市場が拡大
- 2010年代後半 — DevSecOpsの概念が広まり、CI/CDパイプラインへのDAST自動組み込みが標準的な開発プラクティスに
- 2020年代 — APIセキュリティの重要性が高まり、REST/GraphQL APIを対象とした「API向けDAST」機能がツールに追加される
SASTとの比較・使い分け
DASTとよく比較されるSAST、および近年注目のIASTの3つを整理します。
発注側が知っておくべきポイント
- SASTは開発委託先が実施するケースが多く、コードレビューに組み込まれる
- DASTはリリース前に外部セキュリティ業者に委託するか、CI/CDパイプラインに自動組み込みする
- 「セキュリティ診断をお願いしたい」と言うとき、相手がSASTとDASTのどちらを指しているか確認することが重要
- 両方を実施することが理想。SASTで開発中に、DASTでリリース前に、それぞれ脆弱性を摘み取るイメージ
関連する規格・RFC
| 規格・番号 | 内容 |
|---|---|
| OWASP Testing Guide | Webアプリのセキュリティテスト手順をまとめたOWASPの公式ガイド。DASTの実施方法を含む |
| NIST SP 800-115 | 情報セキュリティテストと評価に関するNISTの技術ガイド |
関連用語
- SAST — ソースコードを解析して脆弱性を検出する静的テスト手法
- IAST — アプリ内部にエージェントを組み込んで動的にテストするハイブリッド手法
- ペネトレーションテスト — 人間のセキュリティ専門家が実際に侵入を試みるテスト
- 脆弱性スキャン — 既知の脆弱性をツールで自動的に検出するプロセス
- OWASP Top 10 — Webアプリの代表的な脆弱性トップ10リスト
- DevSecOps — 開発・運用・セキュリティを一体化した開発文化・プロセス
- SQLインジェクション — データベースを不正操作するWebアプリへの代表的な攻撃手法
- XSS(クロスサイトスクリプティング) — 悪意あるスクリプトをユーザーに実行させるWebアプリ攻撃