DAST と SAST の違いは何ですか?
DAST(動的アプリケーションセキュリティテスト)は、実行中のアプリケーションを外部からテストし、実際の攻撃(攻撃者が行うような)をシミュレートして、SQLインジェクション、XSS、サーバーの設定ミス、認証/認可の欠陥などの実行時脆弱性を検出します。ソースコードは必要ありません。DASTはSASTとは異なり、言語やフレームワークに依存しません。アプリケーションが実行中で、HTTP(S)経由でアクセスできる限り、DASTはスキャンできます。
SAST(静的アプリケーションセキュリティテスト)は、開発初期段階でアプリケーションのソースコードまたはバイナリを分析し、アプリの実行前にロジックや構造上の問題を検出します。要約:
SAST = 初期、コードレベル、言語固有、DAST = 後期、ランタイムレベル、言語に依存しない、外部から内部へ。
両方を使用すると、開発ライフサイクル全体にわたって完全なセキュリティが確保されます。
動的アプリケーション セキュリティ テスト (DAST) の目的は何ですか?
動的アプリケーションセキュリティテスト(DAST)は、ソースコードにアクセスすることなく、実行中のWebアプリケーションのセキュリティ脆弱性を特定し、修正するように設計されています。DASTの主な目的は、外部ユーザーの視点から現実世界の攻撃をシミュレートし、SQLインジェクション、クロスサイトスクリプティング(XSS)、認証の問題、その他のOWASP Top 10の脅威などのリスクを明らかにすることです。
DASTは、アプリケーションを実行状態でスキャンすることで、QA段階や試作段階でセキュリティ上の欠陥をリアルタイムに検出し、動的なユーザーインタラクション下でのアプリケーションの安全な動作を保証し、SASTおよびIASTアプローチを補完して包括的なセキュリティカバレッジを実現し、セキュリティ標準および規制要件に準拠するのに役立ちます。
CI/CDパイプラインに統合されたDASTは、DevSecOpsチームがデリバリーを遅らせることなく、セキュリティリスクを継続的にテスト、監視、軽減することを可能にします。
DAST はどのような種類の脆弱性を検出できますか?
動的アプリケーションセキュリティテスト(DAST)は、ソースコードにアクセスすることなく、Webアプリケーション、API、マイクロサービスにおける幅広いランタイムセキュリティの脆弱性を特定できます。
HCL AppScan Standard などの DAST ツールは、現実世界の攻撃パターンをシミュレートし、悪意のあるユーザーが悪用する可能性のある問題を発見します。検出される一般的な脆弱性には、SQL インジェクション (SQLi) - 不正なデータベースアクセス、クロスサイトスクリプティング (XSS) - ユーザーのブラウザでの悪意のあるスクリプトの実行、コマンドインジェクション - システムレベルのコマンドの実行、認証およびセッション管理の欠陥 - 安全でないログイン、トークンの再利用、セッションの固定化、クロスサイトリクエストフォージェリ (CSRF) - ユーザーのブラウザからトリガーされる不正なアクション、未検証のリダイレクトと転送 - 攻撃者がユーザーを悪意のあるサイトにリダイレクト、API の脆弱性 - セキュリティが不十分なエンドポイント、過剰なデータ漏洩、古いサードパーティコンポーネント、ビジネスロジックの脆弱性などが含まれます。
SDLC ではいつ DAST を実行する必要がありますか?
従来、動的アプリケーションセキュリティテスト(DAST)は、ソフトウェア開発ライフサイクル(SDLC)の統合、テスト、または試作段階で、アプリケーションの動作バージョンが利用可能になった後に実行されてきました。しかし、最新のDevSecOpsプラクティスとAUDIT(AppScanユニットレベルDASTインテリジェンステスター)などのツールにより、DASTをさらにシフトレフト化し、コード実装フェーズの早い段階で動的テストを実行できるようになりました。
DASTを早期かつ頻繁に実行することで、セキュリティチームは脆弱性が本番環境に到達する前に特定し、リスクと修復コストを削減できます。HCL AppScan Standardなどのツールを使用することで、組織はスピードや俊敏性を損なうことなく、開発ワークフローに動的テストを組み込むことができます。