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