整合 Mandiant Digital Threat Monitoring 與 Google SecOps

本文件說明如何將 Mandiant Digital Threat Monitoring 與 Google Security Operations (Google SecOps) 整合。

用途

Mandiant Digital Threat Monitoring 整合功能會使用 Google SecOps 功能,支援下列用途:

  • 擷取警告:直接在 Google SecOps 擷取及管理外部威脅警告。

  • 監控遭入侵的憑證:追蹤 Mandiant 發現的外洩帳戶資訊和網域。

  • 更新快訊狀態:從平台更新 DTM 快訊狀態,同步快訊修復作業。

  • 驗證連線能力:測試與 Mandiant DTM 伺服器的整合連線。

事前準備

這項整合功能提供原生平台功能,不需要外部第三方 API 金鑰或憑證即可進行驗證。開始之前,請確認已從 Google SecOps 執行個體的內容中心安裝整合項目。

整合參數

Mandiant Digital Threat Monitoring 整合功能需要下列參數:

參數 說明
API Root 必要

Mandiant 執行個體的 API 根目錄。

預設值為 https://api.intelligence.mandiant.com。

如要使用 Google Threat Intelligence 憑證進行驗證,請輸入下列值:https://www.virustotal.com。

Client ID 選用

Mandiant Digital Threat Monitoring 帳戶的用戶端 ID。

Client Secret 選用

Mandiant Digital Threat Monitoring 帳戶的用戶端密鑰。

GTI API Key 選用

Google Threat Intelligence 的 API 金鑰。

如要使用 Google Threat Intelligence 進行驗證,請將 API Root 參數值設為 https://www.virustotal.com。

使用 Google Threat Intelligence API 金鑰進行驗證的優先順序高於其他驗證方式。

Verify SSL 必要

如果選取,整合作業會驗證 Mandiant 伺服器連線的 SSL 憑證是否有效。

預設為選取。

如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」。

如有需要,您可以在後續階段進行變更。設定整合執行個體後,即可在應對手冊中使用。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。

動作

如要進一步瞭解動作,請參閱「 在工作區回應待處理動作」和「在案件中執行手動動作」。

乒乓

使用 Ping 動作,測試與 Mandiant Digital Threat Monitoring 伺服器的連線能力。

動作輸入內容

無

動作輸出內容

Ping 動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

Ping 動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Successfully connected to the Mandiant DTM server with the provided connection parameters! 動作成功。
Failed to connect to the Mandiant DTM server! Error is: ERROR_REASON

動作失敗。

請檢查伺服器連線、輸入參數或憑證。

指令碼執行結果

下表列出使用 Ping 動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success True或False

更新警告內容

使用「Update Alert」動作,更新 Mandiant Digital Threat Monitoring 中的快訊。

動作輸入內容

「Update Alert」動作需要下列參數:

參數 說明
Alert ID 必要

要更新的快訊 ID。

Status 選用

快訊狀態。

可能的值如下:

  • New
  • Read
  • Resolved
  • Escalated
  • In Progress
  • No Action Required
  • Duplicate
  • Not Relevant
  • Tracked Externally

動作輸出內容

「Update Alert」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
JSON 結果

以下範例顯示使用「Update Alert」(更新快訊) 動作時,收到的 JSON 結果輸出內容:

{
   "id": "ID",
   "monitor_id": "MONITOR_ID",
   "topic_matches": [
       {
           "topic_id": "4a6ffb0f-e90d-46ce-b10a-3a1e24fbe70d",
           "value": "ap-southeast-1.example.com",
           "term": "lwd",
           "offsets": [
               26,
               29
           ]
       },
       {
           "topic_id": "doc_type:domain_discovery",
           "value": "domain_discovery"
       }
   ],
   "label_matches": [],
   "doc_matches": [],
   "tags": [],
   "created_at": "2024-05-31T12:27:43.475Z",
   "updated_at": "2024-05-31T12:43:20.399Z",
   "labels_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/domain_discovery/ID/labels",
   "topics_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/domain_discovery/ID/topics",
   "doc_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/domain_discovery/ID",
   "status": "closed",
   "alert_type": "Domain Discovery",
   "alert_summary": "See alert content for details",
   "title": "Suspicious domain \"ap-southeast-1.example.com\" similar to \"lwd\"",
   "email_sent_at": "",
   "severity": "medium",
   "confidence": 0.5,
   "has_analysis": false,
   "monitor_version": 2
}
輸出訊息

「Update Alert」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Successfully updated alert with ID INCIDENT_ID in Mandiant DTM. 動作成功。
Error executing action "Update Alert". Reason: ERROR_REASON

動作失敗。

請檢查伺服器連線、輸入參數或憑證。

指令碼執行結果

下表列出使用「Update Alert」(更新快訊) 動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success True或False

連接器

如要瞭解如何在 Google SecOps 中設定連接器,請參閱「擷取資料 (連接器)」一文。

Mandiant DTM – 快訊連接器

使用 Mandiant DTM – Alerts Connector,從 Mandiant Digital Threat Monitoring 提取快訊。如要使用動態清單,請使用 alert_type 參數。

Mandiant DTM – Alerts Connector 需要下列參數:

參數 說明
Product Field Name 必要

儲存產品名稱的欄位名稱。

預設值為 Product Name。

Event Field Name 必要

用於判斷事件名稱 (子類型) 的欄位名稱。

預設值為 event_type。

Environment Field Name 選用

儲存環境名稱的欄位名稱。

如果找不到環境欄位,環境會設為預設值。

預設值為 ""。

Environment Regex Pattern 選用

規則運算式模式,用於對 Environment Field Name 欄位中的值執行。這個參數可讓您使用規則運算式邏輯,操控環境欄位。

使用預設值 .* 擷取必要的原始 Environment Field Name 值。

如果規則運算式模式為空值或空白,或環境值為空值,則最終環境結果為 ""。

Script Timeout 必要

執行目前指令碼的 Python 程序逾時限制 (以秒為單位)。

預設值為 180。

API Root 必要

Mandiant 執行個體的 API 根目錄。

預設值為 https://api.intelligence.mandiant.com。

如要使用 Google Threat Intelligence 憑證進行驗證,請輸入下列值:https://www.virustotal.com。

Client ID 選用

Mandiant Digital Threat Monitoring 帳戶的用戶端 ID。

Client Secret 選用

Mandiant Digital Threat Monitoring 帳戶的用戶端密鑰。

GTI API Key 選用

Google Threat Intelligence 的 API 金鑰。

如要使用 Google Threat Intelligence 進行驗證,請將 API Root 參數值設為 https://www.virustotal.com。

使用 Google Threat Intelligence API 金鑰驗證時,系統會優先採用此方法,而非其他驗證方式。

Lowest Severity To Fetch 選用

要擷取的快訊最低嚴重性分數。

如未設定這項參數,連接器會擷取所有嚴重程度的快訊。

這項參數接受下列嚴重性值:

  • Low
  • Medium
  • High
Monitor ID Filter 選用

以半形逗號分隔的監控 ID 清單,用於擷取快訊。

Max Hours Backwards 必要

擷取快訊的時間點 (以小時為單位)。

預設值為 1 小時。

Max Alerts To Fetch 必要

每次連接器疊代要處理的警告數量。

預設值為 25。

Disable Overflow 選用

如果選取這個選項,連接器會忽略溢位機制。

預設為未選取。

Use dynamic list as a blocklist 必要

如果選取,整合服務會將動態清單做為封鎖清單使用。

預設為未選取。

Verify SSL 必要

如果選取,則會驗證連至 Mandiant 伺服器的 SSL 憑證是否有效。

預設為選取。

Proxy Server Address 選用

要使用的 Proxy 伺服器位址。

Proxy Username 選用

用於驗證的 Proxy 使用者名稱。

Proxy Password 選用

用於驗證的 Proxy 密碼。

連接器規則

連接器支援 Proxy。

連接器事件

Mandiant DTM – Alerts Connector 有兩種事件類型:以主要警示為基礎的事件,以及以主題為基礎的事件。

以下是根據主要快訊產生的連接器事件範例:

{
   "id": "ID",
   "event_type": "Main Alert",
   "monitor_id": "MONITOR_ID",
   "doc": {
       "__id": "6ed37932-b74e-4253-aa69-3eb4b00d0ea2",
       "__type": "account_discovery",
       "ingested": "2024-05-20T16:15:53Z",
       "service_account": {
           "login": "user@example.com",
           "password": {
               "plain_text": "********"
           },
           "profile": {
               "contact": {
                   "email": "user@example.com",
                   "email_domain": "example.com"
               }
           },
           "service": {
               "inet_location": {
                   "domain": "www.example-service.com",
                   "path": "/signin/app",
                   "protocol": "https",
                   "url": "https://www.example-service.com/signin/app"
               },
               "name": "www.example-service.com"
           }
       },
       "source": "ccmp",
       "source_file": {
           "filename": "[1.145.094.680] urlloginpass ap.txt",
           "hashes": {
               "md5": "c401baa01fbe311753b26334b559d945",
               "sha1": "bf700f18b6ab562afb6128b42a34ae088f9c7434",
               "sha256": "5e6302d95a7e7edb28d68926cede0c44babded720ad1cc9a72c12d8c6d66153f"
           },
           "size": 84161521407
       },
       "source_url": "https://cymbalgroup.com",
       "timestamp": "2023-11-14T20:09:04Z"
   },
   "labels": "Label",
   "topic_matches": [
       {
           "topic_id": "doc_type:account_discovery",
           "value": "account_discovery"
       }
   ],
   "label_matches": [],
   "doc_matches": [
       {
           "match_path": "service_account.profile.contact.email_domain",
           "locations": [
               {
                   "offsets": [
                       0,
                       9
                   ],
                   "value": "example.com"
               }
           ]
       }
   ],
   "tags": [],
   "created_at": "2024-05-20T16:16:52.439Z",
   "updated_at": "2024-05-30T12:10:56.691Z",
   "labels_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/account_discovery/ID/labels",
   "topics_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/account_discovery/ID/topics",
   "doc_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/account_discovery/ID",
   "status": "read",
   "alert_type": "Compromised Credentials",
   "alert_summary": "ccmp",
   "title": "Leaked Credentials found for domain \"example.com\"",
   "email_sent_at": "",
   "indicator_mscore": 60,
   "severity": "high",
   "confidence": 0.9999995147741939,
   "aggregated_under_id": "ID",
   "monitor_name": "Compromised Credentials - Example",
   "has_analysis": false,
   "meets_password_policy": "policy_unset",
   "monitor_version": 1
}

以下是根據主題建立的連接器事件範例:

{
   "id": "ID",
   "event_type": "location_name",
   "location_name": "LOCATION_NAME",
   "timestamp": "2024-05-25T10:56:17.201Z",
   "type": "location_name",
   "value": "LOCATION_NAME",
   "extractor": "analysis-pipeline.nerprocessor-nerenglish-gpu",
   "extractor_version": "4-0-2",
   "confidence": 100,
   "entity_locations": [
       {
           "element_path": "body",
           "offsets": [
               227,
               229
           ]
       }
   ]
}

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。