DAST(動的アプリケーションセキュリティテスト)とは?
動的アプリケーションセキュリティテスト、またはDASTは、アプリケーションが実行中のときにそのセキュリティをチェックする方法です。ソースコードを調べるSASTとは異なり、DASTは実際の攻撃(SQLインジェクションやクロスサイトスクリプティングなど)をライブ環境でシミュレートすることでセキュリティをテストします。
DASTはしばしばブラックボックステストと呼ばれ、外部からセキュリティテストを実行します。
サイバーセキュリティにおけるDASTの重要性
一部のセキュリティ問題は、特にランタイム、動作、ユーザー検証に関連する問題は、ライブであるときにのみ現れます。DASTは組織が以下を行うのに役立ちます:
- SASTツールによって見逃されたセキュリティ問題を発見する。
- フロントエンドやAPIを含む現実の状況でアプリケーションを評価する。
- Webアプリケーション攻撃に対するアプリケーションセキュリティを強化する。
DASTの仕組み
- テストまたはステージング環境でアプリケーションを実行します。
- 悪意のあるまたは予期しない入力(作成されたURLやペイロードなど)を送信します。
- アプリケーションの応答を分析して脆弱性を検出します。
- 修正提案を含むレポートを作成します(Plexicusでは、さらに良いことに、修正を自動化します)。
DASTによって検出される一般的な脆弱性
- SQLインジェクション:攻撃者がデータベースクエリに悪意のあるSQLコードを挿入します。
- クロスサイトスクリプティング(XSS):悪意のあるスクリプトがウェブサイトに注入され、ユーザーのブラウザで実行されます。
- 不適切なサーバー構成
- 認証またはセッション管理の破損
- エラーメッセージでの機密データの露出
DASTの利点
- SASTツールで見逃されたセキュリティの欠陥をカバーします。
- 実際の攻撃をシミュレートします。
- ソースコードへのアクセスなしで動作します。
- PCI DSS、HIPAA、その他のフレームワークのようなコンプライアンスをサポートします。
例
DASTスキャンでは、ツールがログインフォームにおけるユーザー入力の適切なチェックが行われていないセキュリティ問題を発見します。ツールが特別に設計されたSQLコマンドを入力すると、ウェブサイトがSQLインジェクションを通じて攻撃される可能性があることを示します。この発見により、開発者はアプリケーションが本番環境に移行する前に脆弱性を修正することができます。