動的アプリケーションセキュリティテスト (DAST)
動的アプリケーションセキュリティテスト(DAST)とは、稼働中のアプリケーションに対して外部から実際の攻撃をシミュレートし、実行時におけるセキュリティ脆弱性を検証するブラックボックステスト手法である。ソースコードの静的解析(SAST)と異なり、実際にシステムを動作させた状態で評価するため、現実の脅威に対するシステムの耐性を精度高く確認できるという特徴を持つ。WebフォームやAPIなどの外部インターフェースを介してテストを実行するため、ソースコードへのアクセスは不要である。アジャイル開発やCI/CDパイプラインに自動化テストとして組み込むことで、開発プロセスを阻害することなく継続的なセキュリティ検証を実現し、迅速な修正と安全なデプロイメントを両立させることを主な目的とする。
- テスト手法と対象: ソースコードへのアクセスを必要とせず、稼働中のWebアプリケーションやAPIなどの外部インターフェースに対してテストペイロードを送信し、外部からの視点でシステムのセキュリティポスチャ(安全性評価)を検証するブラックボックステスト手法である。
- 検出対象: SQLインジェクションやクロスサイトスクリプティング(XSS)など、アプリケーションの実行時に初めて顕在化するセキュリティ上の欠陥や脆弱性を検出する。
- アジャイル・CI/CDプロセスへの統合: CI/CDパイプラインやアジャイルのデリバリープロセスに自動化テストとして統合することで、開発者の負荷を抑えつつ継続的なセキュリティ検証を可能にし、安全なデプロイメントを支援する[1]。
- 分析と優先順位付け: 自動化されたレポート生成機能を活用することにより、発見された脆弱性を重大度に応じて優先順位付けし、効率的な修正対応を促進する[1]。
- 導入上の技術的課題: 事例研究では、最新のJavaScriptフレームワークが生成する動的コンテンツをスキャンツールがうまく扱えず、JavaScriptを多用するアプリケーションへの適用が主な課題となった。
- 層状セキュリティアプローチ: DASTを、SASTやIAM(アクセス権限管理)の解析、多要素認証など他のセキュリティプラクティスと組み合わせることが推奨されている。
- 所属タグ: Security Testing CI/CD
- カテゴリー: Related Fields
関連動画 (YouTube)
Section titled “関連動画 (YouTube)”- 技術的な話を抜きにソフトウェアテストの分析と設計について語ってみるよ - ゆうすけ おおひら / Jumpei Ito / Ray Ishida / Takefumi Iseki
- Teppei YAMAGUCHI - 反復開発の中で、探索的テストをどう実施しているか
- aki matsuno - 実践!メタモルフィックテスト
-
Integrating DAST in Kanban and CI/CD: A Real-World Security Case Study — 「動的アプリケーションセキュリティテスト(DAST)は、稼働環境においてWebアプリケーションやAPIのセキュリティを評価するために使用される手法である」(原文: “Dynamic Application Security Testing (DAST) is a technique used to evaluate the security of web applications and APIs in a live environment”)(訳)(ライセンス: CC BY 4.0) ↩ ↩2