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インジェクションを通じて攻撃される可能性があることを示します。この発見により、開発者はアプリケーションが本番環境に入る前に脆弱性を修正することができます。