Skip to content

Contrast ADRとSplunkでアプリケーションセキュリティを強化する

    
Contrast ADRとSplunkでアプリケーションセキュリティを強化する

SIEMでWAFアラートをミュートにしていないか?もしくは、送信を完全に止めていないか?よくあることだ。多くのSOC(セキュリティオペレーションセンター)は、従来のWAFによって作られる膨大なノイズに参っている。アラート疲れによって重要なアラートを見逃してしまうか、アラートを全部止めてアプリケーション層のセキュリティ可視性を大きく損なうか、いずれかの選択を迫られている。

Contrast ADR(アプリケーションにおける検知と対応)をSplunkに連携することで、このような重大な盲点が明らかになる。Contrast ADRとSplunkの連携によって、Splunk内で直接アプリケーションセキュリティに関する詳細なリアルタイムのセキュリティ情報を得ることできる。精度の高い検知と即時対応が可能になり、SOC担当はアナリストの介入を待たずに、高度な攻撃をリアルタイムで無力化することができる。さらに、アプリケーション層の詳細な可視化が実現し、他のセキュリティデータソースと関連付けが可能な重要なセキュリティ情報も取得でき、トリアージ、調査、対応が迅速になる。

Contrast SecurityとSplunkの概要 

Contrast ADRとSplunkの詳細について説明する前に、この2つのソリューションが独自の方法で互いに補完し合っていることを理解しておくことが重要だ。この2つのソリューションは、セキュリティ課題の異なる側面に対処しながらも、相互に関連し合っている。 

この相乗効果をよりよく理解するために、次のような例えを考えてみよう。セキュリティ運用を、銀行を監視する管制室と想像してみよう。外周と金庫室をカバーする「カメラと警報装置」(Splunkに相当)があるが、ロビーと金庫室の間には重大な盲点が存在する。Contrast ADRは、その盲点に「カメラと高度に訓練された警備員」を配置するようなものだ。これらのカメラは、不審な行動を観察して報告し、警備員は脅威が金庫に到達する前に対処して阻止する。これが、Contrast ADRとSplunkを連携する力だ。これが、Contrast ADRとSplunkを連携する力だ。SOCは最も必要とされる場所に目と耳、そして第一線の防御を手に入れることができるのだ。

Contrast ADR

Contrast ADRによって、アプリケーションの動作とデータフローまでが可視化される。アプリケーションの脅威は状況に応じて検知され、リアルタイムの攻撃のブロックが可能になり、過検知と検知漏れの両方を最小限に抑えることができる。これにより、これまでに知られていなかった(ゼロデイ)攻撃など、真の脅威が特定され、阻止される。

Splunk 

Splunkは、業界をリードするSIEM(セキュリティ情報イベント管理)プラットフォームであり、組織がデータから貴重な知見を得て、セキュリティの脅威に効果的に対処できるようにする。 Splunk ES(Enterprise Security)は、さまざまなソースからのログの集約と分析を一元化する。Splunk ESは、高度な相関機能と分析機能、リアルタイムの脅威検出とアラート、カスタマイズ可能なダッシュボードとレポート、さまざまなセキュリティツールやデータソースとのシームレスな統合を提供する。

Contrast ADR Splunkアプリ:リアルタイムのアプリケーションセキュリティ

Contrast ADR Splunkアプリは、Contrastの詳細なアプリケーションセキュリティ解析の力をあらゆるSplunk環境に直接導入する専用のインテグレーションツールだ。これは単にSplunkでデータを表示するだけではなく、リアルタイムのアプリケーションのセキュリティ情報で、既存のセキュリティワークフローを強化するものだ。

主な機能:

  • シームレスなデータ取り込み:アプリは SplunkのHTTPイベントコレクター を利用して、Contrast ADR から直接セキュリティイベントの継続的なストリームを受信する。独自に開発したパーサーにより、このデータはSplunk CIM(情報共通化標準)にシームレスにマッピングされ、分析や相関にすぐに使用できる。
  • 要求に応じた情報拡充:特定のセキュリティイベントに関して、さらに詳しい説明が必要なことがあるだろう。このアプリを使えば、アナリストはクリックするだけで、Contrastプラットフォームから直接、追加のセキュリティ情報を引き出すことができる。これには、詳細なスタックトレース、HTTPリクエスト情報などが含まれる。
  • 脅威の自動検知:アプリにより、Contrast ADRのアラートの深刻度に基づいて、Splunkの重要イベントが自動的に生成される。これにより、アプリケーションセキュリティの重大なインシデントが担当者に即座に通知されるため、対応時間は短縮され、潜在的な損害が最小限に抑えられる。
  • 実用的なガイダンス:組み込みの運用ガイドによって、アナリストは、アプリケーションセキュリティの一般的な調査と対応に関する詳しいガイダンスを得られる。このガイダンスによって、対応手順が標準化され、経験の浅い担当者でも一貫した対応が取れるようになる。
  • Splunkプラットフォーム全体で連携:このアプリによって、Splunkプラットフォーム全体でContrastのアプリケーションセキュリティに関する知見をシームレスに利用できる。特定のSplunkデプロイメントに限定することなく、Splunkの強力な分析機能を活用して、セキュリティワークフロー全体を充実させることができる。

百聞は一見にしかず:Splunkのセキュリティイベント例

Contrast ADR Splunkアプリの実力を真に理解するために、Splunkでセキュリティイベントがどのように表示されるか実際の例をいくつか見てみよう。

例 1:悪用されたSQLインジェクション

以下は、SQLインジェクションが悪用された典型的な攻撃の例で、Contrast ADRアプリで処理された後、Splunkでどのように表示されるかを示している。

{
    "eventUuid": "bb5f93ee-4401-4548-b529-556fcfa52319",
    "organizationUuid": "203ae021-7e10-4356-ad6e-0c4b94d8511e",
    "productName": "ContrastADR",
    "server": {
        "name": "Petclinic-Contrast",
        "id": 27390
    },
    "application": {
        "id": "0d548a73-2b14-4fd6-86f1-7f68c5470dd2",
        "name": "Web-Application-Petclinic",
        "agentLanguage": "java"
    },
    "sourceIp": "172.18.0.1",
    "cloudResourceId": arn:aws:ec2:*:*:instance/*,
    "cloudProvider": "AWS",
    "result": "EXPLOITED",
    "rule": "sql-injection",
    "severity": "HIGH",
    "detectedTime": "2025-02-04T15:31:21.486Z",
    "uiUrl": "<url_to_event_in_Contrast_UI>",
    "apiUri": "<url_to_event_in_Contrast_API>",
    "mitreTactics": [],
    "mitreCapec": [],
    "environment": "PRODUCTION",
    "attackPayload": {
        "attackerInput": {
            "name": "lastName",
            "type": "PARAMETER_VALUE",
            "documentType": "NORMAL",
            "documentPath": ""
        },
        "url": "/customers",
        "value": "' or 1=1; # "
    },
    "virtualPatchUuid": null,
    "denyListUuid": null
}

Contrast ADRから提供される豊富なデータは、インシデントに関するアラートにとどまらない。各アラートには、同じSQLインジェクション攻撃中にキャプチャされた完全なスタックトレースが含まれる。スタックトレースは、Contrast ADRから提供される他のセキュリティ情報(HTTPリクエスト、パラメータなど)と組み合わされる。開発者は脆弱性を再現して修正するために必要な情報を得ることができる。SOCアナリストは、この情報を開発やアプリケーションセキュリティ担当と直接簡単に共有できるため、対応を迅速化し、将来の攻撃を防ぐことができる。以下は、同じSQLインジェクション攻撃中の完全なスタックトレースキャプチャの抜粋である。

...
com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:-1)
com.zaxxer.hikari.pool.ProxyStatement.executeQuery(ProxyStatement.java:110)
com.zaxxer.hikari.pool.HikariProxyStatement.executeQuery(HikariProxyStatement.java:-1)
org.springframework.samples.petclinic.customer.CustomerRepository.findByLastName(CustomerRepository.java:31)
...

キーポイント:

  • 豊富なセキュリティ情報:イベントには、攻撃の種類(SQLインジェクション)、脆弱なパラメータ (lastName)、アプリケーション(Web-Application-Petclinic)、サーバ(172.18.0.1)、さらにはクラウドプロバイダー(AWS)に関する情報もある。
  • 結果が明白:result=EXPLOITEDフィールドは攻撃が成功したことを示しており、アナリストは結果に応じて対策に優先順位を付けることができる。
  • Splunkに対応した形式:イベントは、CIM(情報共通化標準)の侵入検知(Intrusion Detection)データモデルフォーマットされてマッピングされるため、Splunk内でのパースや分析が容易になる。

例 2:ブロックされたJNDIインジェクション

次の例は、ブロックされたJNDI(Java Naming and Directory Interface)インジェクションの試みがSplunkでどのように表示されるかを示している。

{
    "eventUuid": "e9e7d7c9-da8a-47ba-877b-d094377cba68",
    "organizationUuid": "203ae021-7e10-4356-ad6e-0c4b94d8511e",
    "productName": "ContrastADR",
    "server": {
        "name": "Petclinic-Contrast",
        "id": 27390
    },
    "application": {
        "id": "62aea842-373d-4d89-bc34-95f88b833bfb",
        "name": "Email-Service-Contrast",
        "agentLanguage": "java"
    },
    "sourceIp": "172.18.0.5",
    "cloudResourceId": arn:aws:ec2:*:*:instance/*,
    "cloudProvider": "AWS",
    "result": "BLOCKED",
    "rule": "jndi-injection",
    "severity": "HIGH",
    "detectedTime": "2025-02-04T22:46:57.861Z",
    "uiUrl": "<url_to_event_in_Contrast_UI>",
    "apiUri": "<"url_to_event_in_Contrast_API>",
    "mitreTactics": [],
    "mitreCapec": [],
    "environment": "PRODUCTION",
    "attackPayload": {
        "attackerInput": {
            "name": "",
            "type": "UNKNOWN",
            "documentType": "NORMAL",
            "documentPath": ""
        },
        "url": "/registerEmail",
        "value": "ldap://log4shell-service:1389/jdk8"
    },
    "virtualPatchUuid": null,
    "denyListUuid": null
}

Stack trace excerpt:
...
javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:-1)
javax.naming.InitialContext.lookup(InitialContext.java:417)
org.apache.logging.log4j.core.net.JndiManager.lookup(JndiManager.java:172)
org.apache.logging.log4j.core.lookup.JndiLookup.lookup(JndiLookup.java:56)
...

キーポイント:

  • 実用的な情報:攻撃がブロックされた(result=BLOCKED)場合でも、攻撃ベクトル(JNDIインジェクション)と標的となったアプリケーション(Email-Service-Contrast)に関する貴重な情報が提供される。
  • 事前対応型のセキュリティ:このデータにより、セキュリティ担当は潜在的な脆弱性を事前に調査して、このイベントを様々なシステムで同時に発生する他のセキュリティイベントと相関させることができる。
  • 可視性の向上:Contrast ADR Splunkアプリで、ブロックされた攻撃と悪用された攻撃の両方がキャプチャされ、アプリケーションセキュリティの全体像を把握できる。

これらは、Contrast ADR Splunkアプリによって、どのようにSplunk環境内で豊富で実用的なセキュリティデータを利用できるかを示す一例にすぎない。この詳細なアプリケーションのセキュリティ情報をSplunkの強力な分析および可視化機能に組み合わせることで、SOCはアプリケーションセキュリティの状況について、他に類を見ない知見を得ることができる。

Contrast ADRとSplunkでアプリケーションセキュリティをレベルアップする準備はできたか?

手探りの状態から脱却し、SOCを強化しよう。Contrast ADRをSplunkと連携することで、使い慣れたSplunk環境内で、高度な攻撃を防御するために必要な可視性と制御が可能になる。

SplunkbaseからContrast ADR Splunkアプリをダウンロードして、今すぐセキュリティワークフローを強化しよう。

Download the Contrast ADR Splunk App

関連記事:

Contrast Marketing