セキュリティ
DASTとは? 必要性やSASTとの違いなど

アプリケーションソフト(以下、アプリケーション)のセキュリティ対策として、近年注目を集めているものが「DAST」です。DASTは実際に動作しているアプリケーションの脆弱性を外部から検査する手法であり、SASTなどと組み合わせてアプリケーションのセキュリティ対策を行います。
この記事では、DASTの機能や特徴と併せて、SASTとの違いについて解説します。
DASTの具体的な機能と特徴
DAST(Dynamic Application Security Testing:動的アプリケーションセキュリティテスト)は、アプリケーションの脆弱性を検査するテスト手法です。その具体的な仕組みと検出の具体例を解説します。
ブラックボックステストの仕組み
DASTはブラックボックステストの一種で、アプリケーションの内部構造やソースコードを知らずともテストが可能です。外部からアプリケーションにさまざまな入力を与え、その出力から脆弱性の有無を判断します。つまり、DASTは実際の攻撃者と同じ視点でアプリケーションの安全性をチェックできるテスト手法なのです。
また、DASTツールはアプリケーションをブラックボックスと見なすため、開発言語に依存しない点も特徴の一つです。後述するSASTでは検出できない、起動時にロードされるライブラリなどの依存関係に起因する脆弱性も発見できます。
脆弱性検出の具体例
DASTで検出できる脆弱性の例として、次のようなものが挙げられます。
- クロスサイトスクリプティング(XSS)
- SQLインジェクション
- OSコマンドインジェクション
- ディレクトリトラバーサル
- 認証やセッション管理の不備
これらの攻撃が可能である場合、Webアプリケーションにおいて重大な脆弱性となります。DASTツールは、アプリケーションにさまざまな悪意のあるデータを送信するなどして、このような脆弱性を特定します。アプリケーションの入力に対する応答を分析することで、特定の脆弱性が含まれているかを識別するのです。
DASTとSASTの違いと比較
DASTと似たものとして「SAST」が挙げられます。どちらもアプリケーションの脆弱性をテストする手法ですが、異なるものです。両者の違いを理解し、使い分けることが重要となるため、違いや使い分け方を見ていきましょう。
SASTとは?
SAST(Static Application Security Testing:静的アプリケーションセキュリティテスト)とは、ソースコードに基づくホワイトボックステスト手法です。ソースコードやバイナリコードを解析し、脆弱性を検出します。
SASTについてより詳しく知りたい方は、以下の記事をご覧ください。
→「SAST(静的アプリケーションセキュリティテスト)とは?」
DASTとSASTの比較と使い分け
DASTは実行中のアプリケーションに対するブラックボックステストであり、SASTはソースコードに基づくホワイトボックステストです。SASTは開発初期から実施でき、コードベースで脆弱性を発見できるため、網羅的で開発をスムーズに進められる点がメリットです。一方で、誤検知が多く、動的な挙動はテストできません。それに対して、DASTは攻撃者と同じ視点で脆弱性をテストでき、SASTに比べると誤検知は少ないといえるでしょう。ただし、SASTよりも検出できる脆弱性の種類が限られます。
このような特徴から、DASTとSASTはそれぞれ単独で利用するのではなく、組み合わせて使うことが効果的です。設計や実装の段階ではSASTを行い、テスト段階ではDASTを行うことが一般的な使い分け方法といえるでしょう。
DASTについて理解し、適切に活用しましょう
アプリケーションの脆弱性を検査するテスト手法であるDASTは、攻撃者と同じ視点で脆弱性をテストできます。クロスサイトスクリプティングやSQLインジェクション、ディレクトリトラバーサルなど、危険度の高い脆弱性を発見できるため、Webアプリケーションのテストでは欠かせない存在といえるでしょう。ただし、DASTだけで万全の脆弱性チェックが行えるわけではありません。SASTなどの異なるテスト手法と組み合わせながら、脆弱性対策を行う必要があります。
DASTは攻撃者と同じ視点でテストできるものですが、セキュリティの専門知識が欠かせません。セキュリティ人材が不足している企業も多いのではないでしょうか。そこで、日立ソリューションズ・クリエイトでは、ホワイトハットハッカーによるセキュリティ診断サービスを提供しています。アプリケーションだけでなく、ネットワークも含めたセキュリティ状況を当社のホワイトハットハッカーが第三者の視点でチェックするサービスです。アプリケーションやネットワークのセキュリティに不安がある場合は、ぜひ一度お問い合わせください。