收集 Tanium Threat Response 記錄

支援的國家/地區:

本文說明如何使用 Tanium Connect 的原生 AWS S3 匯出功能,將 Tanium Threat Response 記錄檔擷取至 Google Security Operations。Tanium Threat Response 會以 JSON 格式產生威脅偵測快訊、調查結果和事件回應資料,並可使用 Tanium Connect 直接匯出至 S3,不需自訂 Lambda 函式。剖析器會將 Tanium Threat Response 的原始 JSON 資料轉換為統一資料模型 (UDM)。系統會先嘗試將傳入的訊息剖析為 JSON,處理潛在錯誤,然後將相關欄位擷取並對應至 UDM 結構,包括受影響主機、使用者、程序、網路活動和安全性發現的詳細資料。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • Tanium Core Platform 7.0 以上版本
  • 已安裝並設定 Tanium Threat Response 模組
  • 已安裝 Tanium Connect 模組並取得有效授權
  • Tanium Direct Connect 1.9.30 以上版本,可提供調查功能
  • 具備管理權限的 Tanium Console 存取權
  • AWS (S3、IAM) 的特殊存取權

設定 Tanium Threat Response 服務帳戶

  1. 登入 Tanium Console
  2. 依序前往「Modules」>「Threat Response」
  3. 按一下右上方的「設定」
  4. 在「服務帳戶」部分,設定下列項目:
    • 服務帳戶使用者:選取具備適當 Threat Response 權限的使用者。
    • 確認帳戶是否具備連線使用者角色權限。
    • 確認您有權存取威脅回應警報和調查資料。
  5. 按一下「儲存」,套用服務帳戶設定。

收集 Tanium Threat Response 必要條件

  1. 以管理員身分登入 Tanium Console
  2. 依序前往「Administration」>「Permissions」>「Users」
  3. 建立或找出具備下列角色的服務帳戶使用者:
    • 威脅回應管理員威脅回應唯讀使用者角色。
    • 「連線使用者」角色權限。
    • 受監控的電腦群組存取權 (建議:所有電腦群組)。
    • 對威脅回應內容集具有「讀取已儲存問題」權限。

為 Google SecOps 設定 AWS S3 值區和 IAM

  1. 按照這份使用者指南建立 Amazon S3 bucket建立 bucket
  2. 儲存 bucket 的「名稱」和「區域」,以供日後參考 (例如 tanium-threat-response-logs)。
  3. 按照這份使用者指南建立使用者:建立 IAM 使用者
  4. 選取建立的「使用者」
  5. 選取「安全憑證」分頁標籤。
  6. 在「Access Keys」部分中,按一下「Create Access Key」
  7. 選取「第三方服務」做為「用途」
  8. 點選「下一步」
  9. 選用:新增說明標記。
  10. 按一下「建立存取金鑰」
  11. 按一下「下載 CSV 檔案」,儲存「存取金鑰」和「私密存取金鑰」以供日後使用。
  12. 按一下 [完成]
  13. 選取 [權限] 分頁標籤。
  14. 在「Permissions policies」(權限政策) 區段中,按一下「Add permissions」(新增權限)
  15. 選取「新增權限」
  16. 選取「直接附加政策」
  17. 搜尋並選取 AmazonS3FullAccess 政策。
  18. 點選「下一步」
  19. 按一下「Add permissions」。

設定 Tanium Connect AWS S3 目的地

  1. 登入 Tanium Console
  2. 依序前往「模組」>「連結」
  3. 按一下「建立連線」
  4. 提供下列設定詳細資料:
    • 名稱:輸入描述性名稱 (例如 Threat Response Alerts to S3 for SecOps)。
    • 說明:選填說明 (例如 Export threat detection alerts and investigation findings to AWS S3 for Google SecOps ingestion)。
    • 啟用:選取這個選項,即可啟用連線,並依時間表執行。
  5. 點選「下一步」

設定連線來源

  1. 在「來源」部分,提供下列設定詳細資料:
    • 來源類型:選取「已儲存的問題」
    • 已儲存的問題:選取下列其中一個與威脅回應相關的已儲存問題:
      • 威脅回應 - 快訊,用於威脅偵測快訊。
      • 威脅回應 - 調查結果,瞭解調查結果。
      • 威脅回應 - Intel 比對,瞭解威脅情報比對結果。
      • 威脅回應 - 端點活動,瞭解可疑的端點活動。
      • 威脅回應 - 網路連線,適用於網路威脅。
    • 電腦群組:選取「所有電腦」或要監控的特定電腦群組。
    • 重新整理間隔:設定適當的資料收集間隔 (例如威脅快訊為 10 分鐘)。
  2. 點選「下一步」

設定 AWS S3 目的地

  1. 在「目的地」部分,提供下列設定詳細資料:
    • 目的地類型:選取「AWS S3」
    • 目的地名稱:輸入不重複的名稱 (例如 Google SecOps ThreatResponse S3 Destination)。
    • AWS 存取金鑰:輸入在 AWS S3 設定步驟中下載的 CSV 檔案中的 AWS 存取金鑰。
    • AWS 存取密鑰:輸入在 AWS S3 設定步驟中下載的 CSV 檔案中的 AWS 存取密鑰。
    • Bucket Name:輸入 S3 bucket 名稱 (例如 tanium-threat-response-logs)。
    • 地區:選取 S3 儲存空間所在的 AWS 地區。
    • 金鑰前置字串:輸入 S3 物件的前置字串 (例如 tanium/threat-response/)。
  2. 點選「下一步」

設定篩選器

  1. 在「篩選器」部分,設定資料篩選選項:
    • 僅傳送新項目:選取這個選項,只傳送上次匯出後的新威脅快訊。
    • 欄篩選器:視需要根據特定快訊屬性新增篩選器 (例如依快訊嚴重程度、威脅類型或調查狀態篩選)。
  2. 點選「下一步」

AWS S3 的資料格式

  1. 在「格式」部分,設定資料格式:
    • 格式:選取「JSON」
    • 選項
      • 包含標頭:取消選取即可避免在 JSON 輸出內容中加入標頭。
      • 包含空白儲存格:根據偏好設定選取。
    • 進階選項
      • 檔案命名:使用預設的時間戳記命名方式。
      • 壓縮:選取「Gzip」可降低儲存空間費用並縮短傳輸時間。
  2. 點選「下一步」

安排連線

  1. 在「排程」部分,設定匯出排程:
    • 啟用時間表:選取這個選項,即可啟用自動排程匯出功能。
    • 時間表類型:選取「週期性」
    • 頻率:選取「每 10 分鐘」,及時接收威脅回應快訊。
    • 開始時間:為首次匯出設定適當的開始時間。
  2. 點選「下一步」

儲存並驗證連線

  1. 查看摘要畫面中的連線設定。
  2. 按一下「儲存」即可建立連結。
  3. 按一下「測試連線」,驗證設定。
  4. 如果測試成功,請按一下「立即執行」,執行初始匯出作業。
  5. 在「連結總覽」頁面中監控連線狀態。

在 Google SecOps 中設定動態饋給,擷取 Tanium Threat Response 記錄

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「+ 新增動態消息」
  3. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 Tanium Threat Response logs)。
  4. 選取「Amazon S3 V2」做為「來源類型」
  5. 選取「Tanium Threat Response」做為「記錄類型」
  6. 點選「下一步」
  7. 指定下列輸入參數的值:
    • S3 URIs3://tanium-threat-response-logs/tanium/threat-response/
    • 來源刪除選項:根據偏好設定選取刪除選項。
    • 檔案存在時間上限:包含在過去天數內修改的檔案。預設值為 180 天。
    • 存取金鑰 ID:具有 S3 值區存取權的使用者存取金鑰。
    • 存取密鑰:具有 S3 bucket 存取權的使用者私密金鑰。
    • 資產命名空間資產命名空間
    • 擷取標籤:套用至這個動態饋給事件的標籤。
  8. 點選「下一步」
  9. 在「完成」畫面中檢查新的動態饋給設定,然後按一下「提交」

UDM 對應表

記錄欄位 UDM 對應 邏輯
快訊 ID security_result.rule_instance 這個欄位的值取自原始記錄中的「快訊 ID」欄位。
電腦 IP principal.ip 這個欄位的值取自原始記錄中的「電腦 IP」欄位。
電腦 IP target.ip 這個欄位的值取自原始記錄中的「電腦 IP」欄位。
電腦名稱 principal.hostname 這個欄位的值取自原始記錄中的「電腦名稱」欄位。
電腦名稱 target.hostname 這個欄位的值取自原始記錄中的「電腦名稱」欄位。
id target.resource.attribute.labels 這個欄位的值取自原始記錄中的「id」欄位。索引鍵是以硬式編碼設為「id」。
Intel ID security_result.rule_id 這個欄位的值取自原始記錄中的「Intel Id」欄位。
Intel 標籤 security_result.description 這個欄位的值取自原始記錄中的「Intel Labels」欄位。
Intel 名稱 security_result.summary 這個欄位的值取自原始記錄中的「Intel Name」欄位。
Intel 名稱 security_result.threat_name 這個欄位的值取自原始記錄中的「Intel Name」欄位。
Intel 類型 security_result.rule_type 這個欄位的值取自原始記錄中的「Intel Type」欄位。
MatchDetails.finding.system_info.bits principal.asset.platform_software.bits 這個欄位的值取自原始記錄中的「MatchDetails.finding.system_info.bits」欄位。
MatchDetails.finding.system_info.os principal.asset.platform_software.platform_version 這個欄位的值取自原始記錄中的「MatchDetails.finding.system_info.os」欄位。
MatchDetails.finding.system_info.patch_level principal.asset.platform_software.platform_patch_level 這個欄位的值取自原始記錄中的「MatchDetails.finding.system_info.patch_level」欄位。
MatchDetails.finding.system_info.platform principal.asset.platform_software.platform 這個欄位的值取自原始記錄中的「MatchDetails.finding.system_info.platform」欄位。
MatchDetails.match.contexts.0.event.registrySet.keyPath target.registry.registry_key 這個欄位的值取自原始記錄中的「MatchDetails.match.contexts.0.event.registrySet.keyPath」欄位。
MatchDetails.match.contexts.0.event.registrySet.valueName target.registry.registry_value_name 這個欄位的值取自原始記錄中的「MatchDetails.match.contexts.0.event.registrySet.valueName」欄位。
MatchDetails.match.properties.args security_result.about.process.command_line 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.args」欄位。
MatchDetails.match.properties.file.fullpath target.process.file.full_path 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.file.fullpath」欄位。
MatchDetails.match.properties.file.md5 target.process.file.md5 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.file.md5」欄位。
MatchDetails.match.properties.file.sha1 target.process.file.sha1 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.file.sha1」欄位。
MatchDetails.match.properties.file.sha256 target.process.file.sha256 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.file.sha256」欄位。
MatchDetails.match.properties.fullpath target.process.file.full_path 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.fullpath」欄位。
MatchDetails.match.properties.local_port principal.port 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.local_port」欄位。
MatchDetails.match.properties.md5 target.process.file.md5 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.md5」欄位。
MatchDetails.match.properties.parent.args security_result.about.process.command_line 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.args」欄位。
MatchDetails.match.properties.parent.file.fullpath target.process.parent_process.file.full_path 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.file.fullpath」欄位。
MatchDetails.match.properties.parent.file.md5 target.process.parent_process.file.md5 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.file.md5」欄位。
MatchDetails.match.properties.parent.parent.file.fullpath target.process.parent_process.parent_process.file.full_path 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.file.fullpath」欄位。
MatchDetails.match.properties.parent.parent.file.md5 target.process.parent_process.parent_process.file.md5 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.file.md5」欄位。
MatchDetails.match.properties.parent.parent.parent.file.fullpath target.process.parent_process.parent_process.parent_process.file.full_path 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.parent.file.fullpath」欄位。
MatchDetails.match.properties.parent.parent.parent.file.md5 target.process.parent_process.parent_process.parent_process.file.md5 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.parent.file.md5」欄位。
MatchDetails.match.properties.parent.parent.parent.parent.file.fullpath target.process.parent_process.parent_process.parent_process.parent_process.file.full_path 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.parent.parent.file.fullpath」欄位。
MatchDetails.match.properties.parent.parent.parent.parent.file.md5 target.process.parent_process.parent_process.parent_process.parent_process.file.md5 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.parent.parent.file.md5」欄位。
MatchDetails.match.properties.parent.parent.parent.parent.parent.file.fullpath target.process.parent_process.parent_process.parent_process.parent_process.parent_process.file.full_path 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.parent.parent.parent.file.fullpath」欄位。
MatchDetails.match.properties.parent.parent.parent.parent.parent.file.md5 target.process.parent_process.parent_process.parent_process.parent_process.parent_process.file.md5 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.parent.parent.parent.file.md5」欄位。
MatchDetails.match.properties.parent.pid target.process.parent_process.pid 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.pid」欄位。
MatchDetails.match.properties.parent.parent.pid target.process.parent_process.parent_process.pid 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.pid」欄位。
MatchDetails.match.properties.parent.parent.parent.pid target.process.parent_process.parent_process.parent_process.pid 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.parent.pid」欄位。
MatchDetails.match.properties.parent.parent.parent.parent.pid target.process.parent_process.parent_process.parent_process.parent_process.pid 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.parent.parent.pid」欄位。
MatchDetails.match.properties.parent.parent.parent.parent.parent.pid target.process.parent_process.parent_process.parent_process.parent_process.parent_process.pid 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.parent.parent.parent.parent.parent.pid」欄位。
MatchDetails.match.properties.pid target.process.pid 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.pid」欄位。
MatchDetails.match.properties.protocol network.ip_protocol 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.protocol」欄位。
MatchDetails.match.properties.remote_ip target.ip 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.remote_ip」欄位。
MatchDetails.match.properties.remote_port target.port 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.remote_port」欄位。
MatchDetails.match.properties.sha1 target.process.file.sha1 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.sha1」欄位。
MatchDetails.match.properties.sha256 target.process.file.sha256 這個欄位的值取自原始記錄中的「MatchDetails.match.properties.sha256」欄位。
MatchDetails.match.properties.user target.administrative_domain 系統會從原始記錄的「MatchDetails.match.properties.user」欄位中,尋找反斜線字元 (「\」) 來擷取網域名稱。反斜線之前的字元會視為網域名稱。
MatchDetails.match.properties.user target.user.userid 系統會尋找反斜線字元 (「\」),從原始記錄的「MatchDetails.match.properties.user」欄位中擷取使用者名稱。反斜線後方的字元會視為使用者名稱。
MITRE 技術 security_result.threat_id 這個欄位的值取自原始記錄中的「MITRE Techniques」欄位。
params security_result.detection_fields 這個欄位的值取自原始記錄中的「params」欄位。這個鍵會硬式編碼為「params_」,並與參數的索引串連。
時間戳記 metadata.event_timestamp 這個欄位的值取自原始記錄中的「時間戳記」欄位。
不適用 is_alert 如果原始記錄中的「電腦 IP」欄位不為空白,這個欄位會硬式編碼為「true」。
不適用 metadata.log_type 這個欄位會硬式編碼為「TANIUM_THREAT_RESPONSE」。
不適用 metadata.product_event_type 這個欄位已硬式編碼為「Tanium Signal」。
不適用 metadata.product_name 這個欄位已硬式編碼為「威脅回應」。
不適用 metadata.vendor_name 這個欄位已硬式編碼為「Tanium」。
不適用 network.http.method 如果原始記錄中「method」欄位的值為「submit」,這個欄位會硬式編碼為「POST」。

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