【ダスト】
DAST(動的アプリケーションセキュリティテスト) とは?
最終更新:
💡 動くアプリに外から入力し、反応から弱点を探す
実際に動いているWebアプリやAPIに外から攻撃のようなリクエストを送り、脆弱性を探すセキュリティ検査。ソースコードは見ないブラックボックス方式。
📌 このページのポイント
- 動作中のアプリに検査用の入力を送り、応答から弱点を探す
- XSSやSQLインジェクション、サーバー設定の不備などを調べる
- ソースコードを見ないが、ツールの対応や接続条件は必要
- 到達できない機能は検査できず、SASTなどと組み合わせる
DASTって何? SASTとは違うの?
外から何を調べるの?
ペネトレーションテストと同じ?
重なる部分はあるよ。GitLabはDASTを自動化されたペネトレーションテストと説明している。DASTではスキャナーによる検査を繰り返せるけれど、検査の目的や範囲を含め、両者をいつも同じ意味で扱えるわけではないんだ。
いつ、どこで実行するの?
どんなアプリでも検査できる?
コードの言語に依存しない利点はあるけれど、ツールの対応や対象への接続が必要だよ。ログイン後の機能には認証の設定も要る。到達できない機能は検査できないので、SASTなども合わせて弱点を探すんだ。
もっと詳しく知りたい人へ
ログインが必要なページを調べるには?
スキャナーがログインして対象のページや機能に到達できるよう、認証を設定する必要がある。GitLabのブラウザ型DASTでも、保護されたページを検査する場合は認証設定が前提となる。設定しただけで全機能に到達できるとは限らず、実際の検査範囲を確認する。
まとめ:ざっくりこれだけ覚えればOK!
「DAST」って出てきたら「動いているアプリを外から調べる、自動の脆弱性検査」と思えばだいたいOK!
📖 おまけ:英語の意味
「Dynamic Application Security Testing」 = 動的アプリケーションセキュリティテスト
💬 Dynamic(動的=動かしながら)にApplication(アプリ)のSecurity Testing(安全性の検査)をするから、この名前だよ。対になる言葉がSAST(静的=動かさない)だね