脆弱性管理

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 動的テスト 動作中のアプリを攻撃 リリース前〜本番で実施 コード不要・外部から実施 実際の攻撃に近い検証 ブラックボックス (外側から確認) IAST インタラクティブテスト エージェントを内部に常駐 テスト実行中にリアルタイム検知 SASTとDASTの中間 誤検知が少ない グレーボックス (内外ハイブリッド)

発注側が知っておくべきポイント

  • SASTは開発委託先が実施するケースが多く、コードレビューに組み込まれる
  • DASTはリリース前に外部セキュリティ業者に委託するか、CI/CDパイプラインに自動組み込みする
  • 「セキュリティ診断をお願いしたい」と言うとき、相手がSASTとDASTのどちらを指しているか確認することが重要
  • 両方を実施することが理想。SASTで開発中に、DASTでリリース前に、それぞれ脆弱性を摘み取るイメージ

関連する規格・RFC

規格・番号内容
OWASP Testing GuideWebアプリのセキュリティテスト手順をまとめたOWASPの公式ガイド。DASTの実施方法を含む
NIST SP 800-115情報セキュリティテストと評価に関するNISTの技術ガイド

関連用語