ダイナミック・アプリケーション・セキュリティ・テスト(DAST)とは?

DAST(Dynamic Application Security Testing)は、アプリケーションが完全に機能している場合にのみ発生するさまざまなランタイムの脆弱性についてアプリケーションをテストするテストアプローチです。 これらの問題は、ランタイム、コード、依存関係などに関連している可能性があります。

ブラックボックステストの一種(つまり、アプリケーションを悪用しようとしたときにアプリケーションの内部で何が実行されているかに気付かない)として、DASTはアウトサイドインアプローチを採用し、SQLインジェクション、クロスサイトスクリプティング、認証問題などの実際の攻撃シナリオをシミュレートします。

Get the Application Security Best Practices [Cheat Sheet]

This 6-page guide goes beyond basics — it’s a deep dive into advanced, practical AppSec strategies for developers, security engineers, and DevOps teams.

DASTは実際にどのように機能しますか?

DASTは、アプリケーションのテストフェーズに最適です。 DAST は通常、次のようなパイプライン内の他のコード セキュリティおよびコード品質スキャンの後に行われます SASTの

DASTには複数のステップがあります。 

1. 発見

このフェーズでは、アプリケーションがスキャンされ、ユーザーがアプリケーションを操作できるエントリ ポイントまたはインターフェイスが見つかります。 API、フォーム、UI、URLを考えてみてください。 これらのエントリポイントはすべて、次のステップでテストされます。

2. シミュレーション

検出フェーズでアプリケーションインターフェイスが特定されると、アプリケーションはSQLインジェクションなどのさまざまな種類の攻撃にさらされます。 クロスサイトスクリプティング(XSS)、ランタイムメモリリーク、 クロスサイトリクエストフォージェリ(CSRF), 権限昇格、サーバー構成、および TLS の問題。 DASTツールは、これらの攻撃を実行し、アプリケーションの重要な部分にアクセスするよう努めます。

3. 解析

シミュレーションが実行されると、これらの攻撃シミュレーションの結果が分析され、脆弱性が存在するかどうかが判断されます。

4. 報告

レポート作成フェーズでは、DAST ツールは特定された脆弱性を提示し、ツールと潜在的な修正を提案します。 レポートは、脆弱性が見つかったらすぐにチームに警告するために、組織のコミュニケーションチャネルと統合できます。 

これらすべての手順を組み合わせることで、完全なDASTスキャンが可能になり、レポートは調査と修復の出発点となり、チームがシステムのセキュリティ体制を強化できるようになります。 

SASTとDASTの比較

要約すると、動的アプリケーションセキュリティテスト(DAST)は、アプリケーションを評価する侵入テスト手法です'の基になるコードを分析せずにセキュリティ体制を構築します。 DASTは、コードベースを検査する代わりに、既知の攻撃ベクトルを使用してソフトウェアを実行し、対話することに重点を置いています。 

たとえば、DASTは、潜在的なエクスプロイトが埋め込まれたリクエストを送信してHTTPサーバーをテストし、アプリケーションに脆弱性が存在するかどうかを確認します。 DASTはそうしないので'コード自体を調べると、'の言語にとらわれず、使用されるプログラミング言語やテクノロジーに関係なく効果的であるため、さまざまなプラットフォームで用途が広がります。

Figure 1: SAST compared with DAST

DASTは静的アプリケーションセキュリティテスト(SAST)よりも遅くなる傾向がありますが、本番環境で発生するランタイムの脆弱性など、SASTには明らかではない幅広い脆弱性を検出できます。 (分散型サービス拒否の感受性、機密性の高い内部データの公開、サードパーティサービスの設定ミスなどの脆弱性。

一方 SASTはDASTの前に来る 開発中および CI/CD パイプライン中。 SASTはソースコード自体を分析し、DevSecOpsパイプラインの非常に早い段階で実行できます。 SASTでは、コードを分析して、潜在的な問題となる可能性のあるパターンを見つけます。 SASTは、より包括的な結果を得るために、ファジングと組み合わせることもできます。

DASTとIASTの比較

IAST (Interactive Application Security Testing) は、SAST と DAST の手法を組み合わせたもので、セキュリティー・テストにさらなる価値を付加することができます。 IASTは、ソースコードの脆弱性を解析するとともに、コードの一部を実行して問題点の特定と動作のリアルタイム監視を行います。 IAST は、さまざまなコード・ポイントで重要なメトリックを測定するためのインスツルメンテーションを追加することでランタイムを分析し、セキュリティー問題の特定と問題の重大度の示しの両方を支援します。

DASTの利点

動的アプリケーションセキュリティテストは、リアルタイムの攻撃状況に非常に近いため、実際に発見されたエクスプロイトを捕捉するのに役立ちます。 DASTがもたらすその他の利点の概要は次のとおりです。 

  • ランタイムの脆弱性と広範な脆弱性の検出: コードとは別に、重大な問題はランタイム (およびランタイムのみ) で見つけることができます。 ランタイムの脆弱性スキャンはDASTの専門分野であるため、DASTは非常に役立ちます。 また、DASTは外部の視点からコードを超えて、セッションの管理ミス、クロスサイトリクエストフォージェリ、オープンリダイレクトなどの問題をテストできます。 Log4シェルなど。

  • 言語に依存しないテスト: DASTツールは、アプリケーションの構築に使用したコーディング言語を理解する必要はなく、何があっても脆弱性を特定して悪用できます。 これにより、DASTの実装が容易になり、テストワークフローが合理化されます。

  • 第三者機関によるテスト: DAST ツールを使用して、依存関係の問題をテストできます。 (内部の仕組みを理解する必要はなく、評価を開始するために必要なのはインターフェースだけなので、サードパーティツールでDASTを使用するのは簡単です! 

  • 実際の攻撃行動: DASTの最大の強みは、その「攻撃」の性質です。 DASTツールが実行するシミュレーションは、攻撃者の実際の動作に非常に近いものです。 

Catch code risks before you deploy

Learn how Wiz Code scans IaC, containers, and pipelines to stop misconfigurations and vulnerabilities before they hit your cloud.

Wiz がお客様の個人データをどのように取り扱うかについては、当社のプライバシーポリシーをご確認下さい: プライバシーポリシー.

DAST の制限事項

DASTはテストに最適なオプションですが、いくつかの欠点があります。

  • セキュリティテストでの誤検知: DASTは多くの誤検知を引き起こす可能性があり、チームにとって多くの作業を生み出し、チームはそれらすべてをふるいにかけ、どのアラートに注意を払うかを決定する必要があります。

  • 検出が遅い: DAST は、対応する SAST に比べて非常に遅く、問題の検出に多くの時間がかかるため、デプロイ サイクルが長くなる可能性があります。 

  • 左シフトの反対: SASTのシフトレフトアプローチは多くの時間を節約しますが、DASTは基本的に逆です。 DAST 分析は、 アプリケーション コードが完成し、ビルドされ、デプロイされました。 デプロイ後に行われるため、問題の修復を特定して関連する開発所有者にルーティングするのは長いプロセスです。 

  • コードインサイトなし: DAST はコード自体を可視化できないため、DAST が見逃す問題が発生する可能性があります。 そのため、SASTも非常に重要であり、1つだけに頼るのではなく、両方を使用することをお勧めします。 

一般的なオープンソースのDASTツール 

DAST解析に活用できる一般的なオープンソースツールが多数あります。 ここでは、継続的に開発されているものをいくつか紹介します。 

ToolDescription
OWASP ZAPZAP, or Zed Attack Proxy, is one of the most popular DAST tools. It can be easily integrated into your CI/CD security pipeline to analyze the behavior of your application. ZAP has a major community backing it, can perform other security testing like SAST, and can carry out code reviews as well.
Wapiti

Wapiti is another very popular open-source tool for scanning web applications. It covers a wide array of attacks, including some advanced attacks like TLS misconfigurations and Shellshock. (Note that Wapiti doesn’t have a GUI and is more suited to scheduled scans than real-time testing.)

Vega

Vega is also a free, open-source tool for dynamic application testing. Vega has APIs and GUI, which makes it user friendly. The downsides? Vega has limited support for modem JavaScript applications and can struggle with CI/CD integration.

w3af

w3af is billed as a complete ecosystem for auditing web applications. It comes with a lot of helpful features—from notification channels to reporting and alerting. w3af’s drawbacks are a lack of a GUI and limited support for C/CD.

Burp SuiteBurp Suite is used widely for security scanning and testing. Burp Suite is available as a community offering as well as a paid version. (With the paid version, you can get some extra automated scanning features.) For better control and ease of use, Burp Suite offers a GUI. Burp Suite boasts a vast number of features and attacks that it can analyze and perform.

Wiz CodeでアプリケーションとSDLCのセキュリティを強化

DASTスキャンは時間がかかる場合がありますが、攻撃者の脅威に対するアプリケーションセキュリティ体制を強化する上で多くの価値を追加します。 アジャイル・デプロイメント・サイクルの速度と生産性を維持するために、DASTスキャンはデプロイメント直後に実行し、その後、継続的かつ非同期的な方法で繰り返して、発生する可能性のあるランタイムの脆弱性を報告できます。 

DASTがアプリのデプロイ後にセキュリティ体制の強化に役立つことは間違いありませんが、DASTだけでは十分ではありません。 セキュリティに対するプロアクティブなアプローチを実装し、ビルド時に包括的な一連のスキャン (ファーストパーティ コード、サードパーティ コード、インフラストラクチャ、パイプライン セキュリティ設定) を実行して、システムを脅威アクターにさらしたままにしないようにすることがベスト プラクティスです。 ウィズコード 入ってくる。

Wiz Code は、IDE とプル リクエストで直接、クラウドの洞察で強化されたリアルタイムのセキュリティ フィードバックを開発者に提供します。 これにより、開発者は、コードがデプロイされた後の脆弱性や公開されたシークレットの影響を予測し、コード内の最も影響の大きいアプリケーションのセキュリティ問題をプロアクティブに修正できます。 

また、Wiz CodeはコードリポジトリやCI/CDパイプラインにも接続し、サードパーティのコードの依存関係やライセンスコンプライアンスの問題からコンテナイメージ、IaCテンプレート、VCSやCI/CDパイプライン自体の設定まで、アプリケーションスタック全体とSDLCのセキュリティ体制をスキャンし、脆弱性、設定ミス、コンプライアンスの問題、機密データ、公開されたシークレットなどを検出できます。 そしてマルウェア。 

Wiz CodeとWizのコードを併用する SAST統合パートナーとか チェックマルクス、Cycode、またはJitは、セキュリティチームに、ビルド時からランタイムまでのアプリケーションセキュリティ体制を完全に可視化し、制御することを可能にします。これは、サイロ化されたツールやカバレッジのギャップはありません。

Wiz Codeが、コードからクラウドまで、構築および実行するすべてのものをどのように保護できるかをご自身でお確かめください。 今すぐデモをスケジュールする

Secure your cloud from code to production

Learn why CISOs at the fastest growing companies trust Wiz to accelerate secure cloud development.

Wiz がお客様の個人データをどのように取り扱うかについては、当社のプライバシーポリシーをご確認下さい: プライバシーポリシー.