DASTとは?

DAST(ダスト、動的アプリケーションセキュリティテスト) は、アプリケーションを実行中の状態で外部から検査するセキュリティテスト手法です。

まるで攻撃者のようにWebアプリケーションにアクセスし、実行時の動作やレスポンスから脆弱性を検出します。

特徴

  • ブラックボックステスト:ソースコードにアクセスせずに検査を行う
  • 実行環境での検査:本番またはステージング環境でテスト可能
  • SQLインジェクション、XSSなどの検出が得意

なぜDASTが重要なのか?

1. 開発サイクル全体でセキュリティ検証が必要

DASTは、CI/CDパイプラインの中で「デプロイ後の検証」として位置付けられ、SAST(静的テスト)やSCA(コンポーネント分析)では見えない実行時の問題を検出できます。

2. 実環境と近い状況で脆弱性を見つけられる

  • 実際のHTTPリクエスト・レスポンスを通じて、意図しない情報露出や設定ミスなども把握できます。
  • WAFやCDNを介したテストも可能なため、攻撃可能性の高い脆弱性の洗い出しに強い

3. 外部攻撃者視点のテストが可能

攻撃者と同じアプローチを取るため、「実際に悪用できるかどうか」 という視点でのリスク評価が可能です。

代表的なDASTプロダクト

  1. OWASP ZAP
    無料・オープンソース、CI連携可能
  2. Burp Suite
    手動テストに強い、商用版は高機能
  3. Acunetix
    商用ツール、スキャン精度が高い
  4. Invicti
    自動検出精度が高く、レポート機能が充実
  5. StackHawk
    開発パイプライン向け、GitHub Actions対応

DAST導入の手順

Step 1:対象アプリケーションの環境を準備

  • ステージング環境、または本番相当の実行環境を用意
  • CORSやWAFの設定でスキャナーからの通信を許可

Step 2:スキャン設定

  • URLの指定
  • 認証(ログインセッションなど)の設定
  • 除外パスやスキャンポリシーの設定

Step 3:スキャン実行

  • 手動またはスケジュールで実行
  • 負荷に注意してスキャンタイミングを検討

Step 4:レポート確認と脆弱性管理

  • 検出された脆弱性をレビュー
  • 優先度をつけて修正を計画
  • 再発防止のナレッジ共有

Step 5:CI/CD連携による自動化(可能なら)

  • GitHub ActionsやGitLab CI、Azure DevOpsなどと統合
  • Pull Requestごとに自動スキャンを実行

まとめ

  1. DASTとは
    実行中アプリを外部から攻撃者視点で検査
  2. 重要性
    実行環境ベースでの現実的なリスクを検出
  3. 主なツール
    ZAP, Burp Suite, Acunetix, StackHawkなど
  4. 導入手順
    環境構築 → 設定 → 実行 → レポート → CI連携

DASTは、アプリケーションのセキュリティ品質を実行段階で高めるために非常に有効です。「本番直前のセキュリティチェック」だけでなく、開発中の自動化されたセキュリティゲートとしての活用も可能です。継続的なセキュリティ対策の一環として、DASTの導入をぜひご検討ください。