Datadog におけるアプリケーションセキュリティの仕組み

選択した Datadog サイト () では、Application Security Management はサポートされていません。

概要

Datadog Application Security は、コードレベルの脆弱性を狙った攻撃やアプリケーションのビジネスロジックを悪用する攻撃、さらにシステムを標的とする悪意ある行為に対する可観測性を提供します。

以下に簡単にまとめます。

  • 攻撃の可観測性: コードの脆弱性やビジネスロジックを標的とするアプリケーションレベルの攻撃に関する洞察を提供します。
  • リスクの検出: 脆弱なライブラリや依存関係など、アプリケーションにおけるリスクを特定します。
  • トレースに基づくモニタリング: Datadog APM と同じトレーシングライブラリを使用してトラフィックを監視し、セキュリティ脅威を検出します。
  • セキュリティシグナル: 攻撃やビジネスロジックの悪用が検出された際に、個々の試行ではなく、意味のある脅威に焦点を当ててセキュリティシグナルを自動的に生成します。
  • 通知オプション: セキュリティシグナルの設定に基づいて、Slack、メール、または PagerDuty を通じて通知を行います。
  • 組み込みセキュリティ: アプリケーションに統合され、トレースデータにアクセスすることで、より優れた脅威の識別と分類を可能にします。
  • 強化された WAF 機能: 従来の Web Application Firewall (WAF) の機能に加え、アプリケーションのコンテキストを追加することで、精度が向上し、誤検知を減少させます。

アプリケーション攻撃にさらされているサービスの特定

Datadog Application Security Threat Management は、APM がすでに収集している情報を活用して、攻撃の試みを含むトレースを識別します。APM がアプリケーショントラフィックのサンプルを収集する一方で、サービスを効果的に監視および保護するには、トレーシングライブラリで Application Security を有効にすることが重要です。

アプリケーション攻撃にさらされているサービスは、APM に組み込まれたセキュリティビュー (サービスカタログサービス詳細画面トレース) で直接ハイライトされます。

Datadog Threat Monitoring and Detection は、すべてのリクエストにおけるクライアント IP アドレス、ログインアカウント情報 (ユーザーアカウント/ID など)、および手動で追加されたユーザータグを収集し、悪意のあるユーザーを特定します。

1-Click 有効化
サービスが Remote Configuration が有効な Agent と、それをサポートするバージョンのトレーシングライブラリで実行されている場合、Agent または トレーシングライブラリの追加構成なしで Datadog UI から Application Security を有効にすることができます。

サービスで使用されているオープンソースライブラリの脆弱性を特定

Datadog Software Composition Analysis は、オープンソースのソフトウェアライブラリに関連する様々な既知の脆弱性データソースと、Datadog のセキュリティリサーチチームから提供される情報を利用して、アプリケーションがランタイムに依存するライブラリとその潜在的脆弱性を照合し、改善策を提言します。

サービスにおけるコードレベルの脆弱性を特定

Datadog Code Security は、サービス内のコードレベルの脆弱性を特定し、実用的な洞察と修正の提案を提供します。アプリケーションコード内の脆弱性を検出するために、インタラクティブ・アプリケーション・セキュリティ・テスト (IAST) のアプローチを採用しています。IAST は、Application Performance Monitoring (APM) と同様にコード内に埋め込まれたインスツルメンテーションを利用して、追加の構成や定期的なスケジューリングを必要とする外部テストに依存することなく、Datadog が正規のアプリケーショントラフィックを使用して脆弱性を特定することを可能にします。Datadog Code Security は、影響を受けたファイル名から正確なメソッドや行番号に至るまで、アプリケーション内の脆弱性を特定するために必要な情報を自動的に提供します。

互換性

Datadog Application Security を Datadog の構成と互換性を持たせるためには、APM を有効にし、Datadog にトレースを送信している必要があります。Application Security は APM が使用するのと同じライブラリを使用するため、別のライブラリをデプロイして維持する必要はありません。

Datadog Application Security を有効にするための手順は、ランタイム言語ごとに異なります。各製品の Application Security の前提条件で、お使いの言語がサポートされているかどうかを確認してください。

サーバーレスモニタリング

AWS Lambda 向け Datadog Application Security は、関数を標的としている攻撃者を詳細に視覚化します。攻撃に関する豊富な情報を提供する分散型トレーシングにより、影響を評価し、脅威に効果的に対処できます。

セットアップに関する情報については、サーバーレスのための Application Security の有効化をお読みください。

パフォーマンス

Datadog Application Security は、Agent と APM にすでに含まれているプロセスを使用するため、使用する際のパフォーマンスへの影響はほとんどありません。

APM が有効な場合、Datadog ライブラリは分散型トレースを生成します。Datadog Application Security は、既知の攻撃パターンを使用して、トレース内のセキュリティアクティビティにフラグを立てます。攻撃パターンと分散型トレースで提供される実行コンテキストを相関させることで、検出ルールに基づいてセキュリティシグナルをトリガーします。

Datadog トレーサーライブラリは、アプリケーションサービスレベルで動作し、Datadog バックエンドにトレースを送信することを図解しています。Datadog バックエンドは、対処可能なセキュリティシグナルにフラグを立て、PagerDuty、Jira、Slack などの関連アプリケーションに通知を送信します。

データのサンプリングと保持

トレーシングライブラリでは、Datadog Application Security は、セキュリティデータを含むすべてのトレースを収集します。デフォルトの保持フィルターは、Datadog プラットフォームですべてのセキュリティ関連トレースが保持されることを保証します。

セキュリティトレースのデータは、90 日間保存されます。基礎となるトレースデータは 15 日間保存されます。

データプライバシー

デフォルトでは、Application Security はセキュリティトレースから情報を収集し、そのリクエストが疑わしいと判定された理由を理解するのに役立ちます。データを送信する前に、Application Security はデータが機密であることを示すパターンとキーワードをスキャンします。データが機密であると判断された場合、それは <redacted> フラグに置き換えられます。これは、リクエストは疑わしいが、データセキュリティの懸念からリクエストデータを収集できなかったことを示します。

ここでは、デフォルトで機密としてフラグが立てられるデータの例をいくつか紹介します。

  • pwdpasswordipasswordpass_phrase
  • secret
  • keyapi_keyprivate_keypublic_key
  • token
  • consumer_idconsumer_keyconsumer_secret
  • signsignedsignature
  • bearer
  • authorization
  • BEGIN PRIVATE KEY
  • ssh-rsa

Application Security で編集される情報を構成するには、データセキュリティ構成を参照してください。

脅威の検出方法

Datadog は、OWASP ModSecurity Core Rule Set を含む複数のパターン提供ソースを使用して、HTTP リクエストにおける既知の脅威と脆弱性を検出します。HTTP リクエストがすぐに使える検出ルールのいずれかにマッチすると、Datadog 内にセキュリティシグナルが生成されます。

脅威パターンの自動更新: サービスがリモート構成を有効にした Agent とそれをサポートするトレーシングライブラリのバージョンで実行されている場合、サービスの監視に使用される脅威パターンは、Datadog がアップデートを公開するたびに自動で更新されます。

セキュリティシグナルは、Datadog が本番サービスを標的とした重要な攻撃を検出すると、自動的に作成されます。これにより、攻撃者や標的とされたサービスに対する可視性を提供します。しきい値を用いたカスタム検出ルールを設定して、どの攻撃について通知を受けたいかを決定することができます。

内蔵保護機能

リモート構成を有効にした Agent とそれをサポートするトレーシングライブラリのバージョンを実行しているサービスでは、Agent やトレーシングライブラリの追加構成なしに、Datadog UI から攻撃や攻撃者をブロックできます。

ASM Protect は、Threat Detection の枠を超え、攻撃や攻撃者の動きを鈍らせるブロッキングアクションを可能にします。境界型 WAF が広範囲のルールを適用してトラフィックを検査するのとは異なり、ASM は、アプリケーションの完全なコンテキスト――そのデータベース、フレームワーク、プログラミング言語――を用いて、最も効率的な検査ルールセットを絞り込んで適用します。

ASM は、アプリケーションを以下のような脅威から保護するために、Application Performance Monitoring (APM) と同じトレーシングライブラリを利用しています。

  • 攻撃: ASM のアプリ内 WAF は、すべての受信トラフィックを検査し、パターンマッチングを使用して悪意のあるトラフィック (セキュリティトレース) を検出してブロックします。
  • 攻撃者: アプリケーションに対して攻撃を仕掛けている IP アドレスと認証済みユーザーは、ライブラリによって収集されたインサイトから検出され、セキュリティシグナルでフラグが立てられます。

セキュリティトレースは、 Datadog トレーシングライブラリによってリアルタイムにブロックされます。ブロックは Datadog に保存され、Datadog Agent によって自動的かつ安全にフェッチされ、インフラストラクチャーにデプロイされ、サービスに適用されます。詳細は、リモート構成の仕組みを参照してください。

アプリ内 WAF、IP ブロック、ユーザーブロックなど、Protection 機能の活用を開始するには、Protection をお読みください。

攻撃試行の分類

分散トレーシング情報を利用して、攻撃の試みは安全、不明、または有害として評価されます。

  • 例えば、PHP インジェクション攻撃が Java で書かれたサービスを標的としている場合のように、安全と分類された攻撃試行はアプリケーションを侵害することはできません。
  • 未知の評価は、攻撃が成功する確率について確定的な判断を下すのに十分な情報がない場合に与えられます。
  • コードレベルの脆弱性が攻撃者によって発見された証拠がある場合、有害の評価がハイライトされます。

脅威の監視範囲

Datadog Application Security には、以下のカテゴリーを含むがこれに限られない、多くの異なる種類の攻撃から保護するのに役立つ 100 以上の攻撃シグネチャーが含まれています。

  • SQL インジェクション
  • コードインジェクション
  • シェルインジェクション
  • NoSQL インジェクション
  • クロスサイトスクリプティング (XSS)
  • サーバーサイドリクエストフォージェリー (SSRF)

内蔵の脆弱性検出

Datadog Application Security には、アプリケーションコードおよびオープンソース依存部分で検出された脆弱性について警告する検出機能が組み込まれています。その情報の詳細は、Vulnerability Explorer に表示され、重大度、影響を受けるサービス、潜在的に脆弱なインフラストラクチャー、および表面化したリスクを解決するための改善手順が特定されます。

詳しくは、Code Security および Software Composition Analysis をお読みください。

API セキュリティ

API セキュリティは非公開ベータ版です。

Datadog Application Security は、API を標的とした脅威を視覚化します。API カタログを使用して API の健全性とパフォーマンスのメトリクスを監視します。ここでは、API を標的とした攻撃を表示することができます。このビューには、攻撃者の IP と認証情報のほか、攻撃がどのように形成されたかの詳細を示すリクエストヘッダーが含まれます。Application Security と API 管理の両方を使用することで、API 攻撃対象の包括的なビューを維持し、そして脅威を緩和する対応を行うことができます。

Datadog アプリケーションセキュリティによる Log4Shell の保護方法

Datadog Application Security は、Log4j Log4Shell 攻撃ペイロードを識別し、悪意のあるコードをリモートでロードしようとする脆弱なアプリを可視化します。Datadog の Cloud SIEM の他の機能と組み合わせて使用することで、一般的なエクスプロイト後のアクティビティを特定して調査し、攻撃ベクトルとして機能する可能性のある脆弱な Java Web サービスをプロアクティブに修正することができます。

その他の参考資料

お役に立つドキュメント、リンクや記事: