ThreatDown EDR のログを収集する
このドキュメントでは、ThreatDown EDR(Nebula と OneView)を構成して、Webhook を使用してログを Google Security Operations に push する方法について説明します。
Malwarebytes を搭載した ThreatDown EDR は、脅威検出、不審なアクティビティのモニタリング、エンドポイント保護などのエンドポイント検出と対応機能を提供します。Nebula プラットフォームはシングルテナント環境に対応していますが、OneView は MSP 向けのマルチテナント管理コンソールです。どちらのプラットフォームも、Google Security Operations とのネイティブ統合をサポートしています。この統合により、検出データと不審なアクティビティ データが MALWAREBYTES_EDR ログタイプを使用して統合データモデル(UDM)イベントとしてエクスポートされます。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- ThreatDown EDR(Nebula または OneView)は、ログ配信用の Webhook をサポートしています。
- Google Cloud コンソールへのアクセス(API キーの作成用)
- Nebula の場合: Nebula コンソールでの特権管理者権限、および Endpoint Detection and Response の有効なサブスクリプションを持つ有効な Nebula アカウント
- OneView の場合: OneView コンソールでのグローバル管理者アクセス権と、エンドポイントの検出と対応の有効なサブスクリプションがあるサイト
- Google Cloud Platform API キーを生成するための Google Cloud プロジェクトに対する管理者権限
- Google Chronicle SIEM への管理者権限
Google SecOps で Webhook フィードを作成する
フィードを作成する
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで、[単一のフィードを構成する] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
Malwarebytes)。 - [Source type] として [Webhook] を選択します。
- [ログタイプ] として [Malwarebytes EDR] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- 分割区切り文字(省略可): 空白のままにします。ThreatDown からの各 Webhook リクエストには、構造化されたイベントデータが含まれています。
- アセットの名前空間: アセットの名前空間
- Ingestion labels: このフィードのイベントに適用されるラベル。
- [次へ] をクリックします。
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
フィード エンドポイントの URL を取得する
- フィードの [詳細] タブに移動します。
- [エンドポイント情報] セクションで、[フィード エンドポイント URL] をコピーします。
URL の形式は次のとおりです。
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:importここで、
{region}は Google SecOps インスタンスのリージョン(us、europe、asia-southeast1など)、{parent}はprojects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>形式のリソースパスです。次の手順で使用するために、この URL を保存します。
秘密鍵を生成して保存する
フィードを作成したら、認証用のシークレット キーを生成する必要があります。
- フィードの [Secret Key] タブに移動します。
- [Generate Secret Key] をクリックします。
- ダイアログに秘密鍵が表示されます。
秘密鍵をコピーして安全に保存します。
重要: 秘密鍵は一度しか表示されず、後で取得することはできません。秘密鍵を紛失した場合は、新しい秘密鍵を生成する必要があります。
[完了] をクリックします。
Google Cloud API キーを作成する
ThreatDown と Google SecOps の統合には、Google Cloud Platform(GCP)API キーが必要です。
API キーを作成する
- Google Cloud コンソールの [認証情報] ページに移動します。
- プロジェクト(Chronicle インスタンスに関連付けられているプロジェクト)を選択します。
- [認証情報を作成] > [API キー] をクリックします。
- API キーが作成され、ダイアログに表示されます。
- API キーをコピーして安全に保管します。
- ポップアップで [API キーを編集] をクリックします。
API キーを制限する
- [API キー] の設定ページで、次の操作を行います。
- 名前: わかりやすい名前を入力します(例:
Chronicle Webhook API Key)。
- 名前: わかりやすい名前を入力します(例:
- [キーを制限] を選択します。
プルダウン メニューで [Chronicle API] を選択します。
[保存] をクリックします。
ThreatDown EDR Webhook を構成する
ThreatDown は、Nebula コンソールと OneView コンソールの両方の [Integrate] ページで、Google Chronicle SIEM のネイティブ統合を提供します。ご使用のプラットフォームに該当するセクションを選択してください。
オプション A: Nebula を構成する
- 特権管理者の認証情報を使用して、cloud.malwarebytes.com で ThreatDown Nebula コンソールにログインします。
- 左側のナビゲーション メニューの [統合] ページに移動します。
- [Google Chronicle SIEM] を見つけて、[Configure] をクリックします。
- 次の構成情報を指定します。
- Webhook URL: Google SecOps フィードの詳細ページの [エンドポイント情報] フィールドからコピーした URL を貼り付けます。
- Webhook Secret: Google SecOps フィードの [Secret Key] タブから生成されたシークレット キーを貼り付けます。
- GCP API キー: Google Cloud から取得した API キーを貼り付けます。
- [保存] をクリックします。
保存すると、Nebula は検出ログと疑わしいアクティビティ ログを Google SecOps に直接エクスポートし始めます。
オプション B: OneView を構成する
- グローバル管理者の認証情報を使用して、cloud.malwarebytes.com の ThreatDown OneView コンソールにログインします。
- 左側のナビゲーション メニューの [統合] ページに移動します。
- [Google Chronicle SIEM] を見つけて、[Configure] をクリックします。
- [Enable Setup] をオンに切り替えます。
- 次の構成情報を指定します。
- Webhook URL: Google SecOps フィードの詳細ページの [エンドポイント情報] フィールドからコピーした URL を貼り付けます。
- Webhook Secret: Google SecOps フィードの [Secret Key] タブから生成されたシークレット キーを貼り付けます。
- GCP API キー: Google Cloud から取得した API キーを貼り付けます。
- サイトの選択: データの取り込み元となるサイトを選択します。
- [保存] をクリックします。
保存すると、OneView は選択したサイトから検出ログと不審なアクティビティ ログを Google SecOps に直接エクスポートし始めます。
ログの取り込みを確認する
統合を構成したら、ThreatDown EDR ログが Google SecOps に取り込まれていることを確認します。
- Google SecOps で、[調査] > [SIEM 検索] に移動します。
次の UDM 検索クエリを入力します。
metadata.vendor_name = "Malwarebytes" and metadata.log_type = "MALWAREBYTES_EDR"目的の期間を選択します。
[検索を実行] をクリックします。
[イベント] タブをクリックします。ThreatDown EDR から取り込まれたデータは、Unified Data Model(UDM)を使用して表示されます。
Webhook の制限とベスト プラクティス
リクエストに関する上限
| 上限 | 値 |
|---|---|
| 最大リクエスト サイズ | 4 MB |
| 最大 QPS(秒間クエリ数) | 15,000 |
| リクエストのタイムアウト | 30 秒 |
| 再試行の動作 | 指数バックオフによる自動 |
さらにサポートが必要な場合
- Nebula と Google Chronicle SIEM の統合を有効にする - support.threatdown.com
- OneView と Google Chronicle SIEM の統合を有効にする - support.threatdown.com
- Nebula と Google Chronicle SIEM の統合の要件 - support.threatdown.com
- OneView と Google Chronicle SIEM の統合の要件 - support.threatdown.com
- ThreatDown Nebula と Google Chronicle SIEM のブログ投稿 - threatdown.com
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| payload.payload.sa_details.data.list.0.details.0.detected_by.0.description | metadata.description | 値が直接コピーされる |
| has_principal | metadata.event_type | 最初は「GENERIC_EVENT」に設定され、has_principal と has_target_file がある場合は「SCAN_FILE」、has_principal がある場合は「STATUS_UPDATE」、has_user がある場合は「USER_UNCATEGORIZED」、それ以外の場合は「GENERIC_EVENT」に設定されます。 |
| has_user | metadata.event_type | |
| has_target_file | metadata.event_type | |
| type | metadata.product_event_type | 値が直接コピーされる |
| id | metadata.product_log_id | 値が直接コピーされる |
| machine.id | principal.asset.asset_id | 「MACHINE:」と machine.id から連結 |
| machine.name | principal.asset.hostname | 値を直接コピーする |
| payload.payload.group_name | principal.group.group_display_name | 値が直接コピーされる |
| account.default_group_id | principal.group.product_object_id | 値が直接コピーされる |
| machine.name | principal.hostname | 値が直接コピーされる |
| account.id | principal.user.product_object_id | 値が直接コピーされる |
| account.name | principal.user.user_display_name | 値が直接コピーされる |
| account.owner_user_id | principal.user.userid | 値を直接コピーする |
| payload.payload.category | security_result.category_details | 値を直接コピーする |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.name | security_result.detection_fields | それぞれをキー付きのラベルとして設定し、マージ |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.description | security_result.detection_fields | |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.hyperlink | security_result.detection_fields | |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.tag | security_result.detection_fields | |
| payload.payload.policy_id | security_result.detection_fields | |
| payload.payload.policy_name | security_result.detection_fields | |
| payload.id | security_result.detection_fields | |
| payload.payload.sa_details.data.list.0.details.0.detected_by.0.tag | security_result.summary | 値が直接コピーされる |
| payload.payload.threat_name | security_result.threat_name | 値が直接コピーされる |
| payload.payload.sa_details.data.list.0.user | target.administrative_domain | grok パターンを使用してドメインを取得するために抽出 |
| payload.payload.path | target.file.full_path | 値を直接コピーする |
| payload.payload.sa_process_graph.data.children.0.children.0.node_info.process_path | target.process.file.full_path | 値が直接コピーされる |
| payload.payload.sa_process_graph.data.children.0.node_info.process_path | target.process.parent_process.file.full_path | 値を直接コピーする |
| payload.payload.sa_process_graph.data.children.0.node_info.process_id | target.process.parent_process.pid | 値が直接コピーされる |
| payload.payload.sa_process_graph.data.children.0.children.0.node_info.process_id | target.process.pid | 値を直接コピーする |
| payload.payload.sa_details.data.list.0.user | target.user.userid | grok パターンを使用して抽出され、tar_user が取得されます |
| metadata.product_name | metadata.product_name | 「Malwarebytes EDR」に設定します。 |
| metadata.vendor_name | metadata.vendor_name | 「Malwarebytes」に設定 |
変更ログ
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。