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