使用 v3 API 收集 ThreatConnect IOC 記錄
Google Security Operations 中的 ThreatConnect 資訊動態饋給可自動從 ThreatConnect 帳戶擷取入侵指標 (IOC),例如 IP 位址、網域、網址和檔案雜湊值,以及相關背景資訊 (例如威脅類型、信賴分數、標記)。擷取這些 IOC 可豐富 Google Security Operations 中的安全性資料,進而提升威脅偵測和調查功能。
本文說明如何設定 Google SecOps,透過 ThreatConnect v3 API 連接器,從 ThreatConnect 執行個體擷取 IOC。這個版本的連接器使用 ThreatConnect v3 REST API,是現有連接器的更新版本,後者使用 ThreatConnect v2 REST API。
事前準備
請確認您已完成下列事前準備事項:
- 有效的 ThreatConnect 執行個體和使用者帳戶,且具備足夠權限,可透過 v3 API 存取所需指標。這通常需要讀取指標及其屬性的權限
- Google Security Operations 執行個體
- 在 Google Cloud 專案中具備足夠的 Identity and Access Management 權限,可管理 Google SecOps 資訊動態
設定步驟
請按照下列步驟設定 ThreatConnect IOC 動態消息:
取得 ThreatConnect v3 API 憑證
- 登入 ThreatConnect 執行個體。
- 前往「API user management」(API 使用者管理) 專區,建立新的 API 使用者,或使用專為 Google SecOps 整合服務指定的現有使用者。
如要建立新的 API 使用者,請按照下列步驟操作:
- 依序點選「設定」>「機構設定」。
- 前往「機構設定」頁面中的「成員」分頁。
- 按一下「Create API User」。
填寫「API User Administration」(API 使用者管理) 視窗中的欄位:
- 名字:輸入 API 使用者的名字。
- 姓氏:輸入 API 使用者的姓氏。
系統角色:選取「API 使用者」或「Exchange 管理員」系統角色。
機構角色:選取 API 使用者的機構角色。
納入觀察和誤判:選取核取方塊,允許將 API 使用者提供的資料納入計數。
已停用:如果管理員想保留記錄完整性,請按一下核取方塊,停用 API 使用者的帳戶。
複製並妥善保管「存取權 ID」和「私密金鑰」。
按一下 [儲存]。
擷取相關 API 使用者的存取 ID 和密鑰,然後繼續下一個步驟。
在 Google Security Operations 中設定 ThreatConnect 動態消息
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱 (例如
ThreatConnect Logs)。 - 在「來源類型」部分,選取「第三方 API」。
- 在「記錄類型」部分,選取「ThreatConnect IOC V3」。
- 點選「下一步」。
- 輸入 ThreatConnect v3 API 的下列詳細資料:
- 存取 ID:輸入您在步驟 1 取得的 ThreatConnect 存取 ID。
- 密鑰:輸入在步驟 1 中取得的 ThreatConnect 密鑰。
- API 主機名稱:ThreatConnect 執行個體的完整網域名稱 (例如:
<myinstance>.threatconnect.com)。 - 擁有者:指定要從中提取指標的 ThreatConnect 機構、社群或來源。每行只能輸入一位擁有者。詳情請參閱「擁有者總覽」。
- TQL:根據擷取需求擷取 IoC 時,必須使用的 TQL 查詢 (請參閱「如何編寫 TQL 查詢」)。
- 欄位:要擷取的其他欄位名稱,預設不會擷取這些欄位。每行輸入一個欄位 (請參閱預設和額外欄位清單)。
- 點選「下一步」。
- 在「Finalize」畫面中檢查動態饋給設定,然後按一下「Submit」。
驗證擷取作業
- 提交設定後,請稍待片刻,讓系統提取初始資料。
- 在「動態饋給」清單中檢查動態饋給狀態。狀態最終應顯示為「已完成」或「有效」。
- 在 Google Security Operations 搜尋頁面中查詢記錄,確認資料是否正在擷取:
- 使用查詢:
log_type = "THREATCONNECT_IOC_V3"
- 使用查詢:
- 檢查擷取的記錄,確保欄位已如預期剖析。
如何撰寫 TQL 查詢
在 ThreatConnect 中,您可以使用類似 SQL 的查詢語言 (稱為 ThreatConnect 查詢語言 (TQL)) 建構結構化查詢,對資料執行高度精確的搜尋。TQL 查詢包含參數名稱、運算子,以及值或值清單,您可以使用括號和 AND/OR 邏輯結合多個查詢。
以下 TQL 查詢範例會搜尋過去 30 天內新增的高信賴度網路指標 (IP、主機、網址),這些指標與 Cobalt Strike、APT 或網路釣魚有關。此外,系統也會明確篩除已知的偽陽性和內部測試資料。
typeName IN ("Address", "Host", "URL") AND confidence > 75 AND dateAdded > "NOW() - 30 DAYS" AND (summary CONTAINS "cobalt" OR tag STARTSWITH "APT" OR tag ENDSWITH "Phish") AND NOT tag = "False_Positive" AND source != "Internal_Testing"
如要進一步瞭解 TQL,請參閱 ThreatConnect TQL 說明文件。
預設和其他欄位清單
本節詳細說明從 ThreatConnect API 擷取的特定資料點,並依預設是否包含這些資料點,或是否需要手動設定進行分類。
預設欄位
API 預設會擷取下列預設欄位,不需要任何額外設定:
| # | 欄位 | 說明 | 類型 | 範例值 |
|---|---|---|---|---|
| 1 | active |
指出指標是否處於有效狀態 | 布林值 | true、false |
| 2 | activeLocked |
指出有效指標狀態是否已鎖定 | 布林值 | true、false |
| 3 | confidence |
指標的信賴度 | 整數 | 1、2、3、... 100 |
| 4 | dateAdded |
從外部建立指標的日期和時間 | DateTime | "2023-10-04T12:34:56Z" |
| 5 | id |
指標的 ID | 整數 | 1、2、3、... 100 |
| 6 | ip |
與地址指標相關聯的 IP 位址 | 字串 | "107.180.48.66" |
| 7 | lastModified |
指標上次從外部修改的日期和時間 | DateTime | "2023-10-04T12:34:56Z" |
| 8 | legacyLink |
舊版網址 (設有存取限制),可存取 ThreatConnect 應用程式中指標的詳細資料 | 網址 | "https://app.threatconnect.com/auth/indicators/..." |
| 9 | ownerId |
指標所屬擁有者的 ID | 整數 | 1、2、3、... 100 |
| 10 | ownerName |
指標所屬擁有者的名稱 | 字串 | "Demo Community" |
| 11 | privateFlag |
指出指標是否為私人指標 | 布林值 | true、false |
| 12 | rating |
指標的威脅等級 | Big Decimal | 1.0、2.0、3.0、4.0、5.0 |
| 13 | summary |
指標的值 | 根據指標類型 | "type": "Host","summary": "zayla.co" ; "type": "Address","summary": "107.180.48.66" |
| 14 | type |
要建立的指標類型 | 字串 | "Address"、"Host"、"Registry Key" (可接受的值清單) |
| 15 | webLink |
網址 (設有存取限制),可存取 ThreatConnect 應用程式中指標的詳細資料 | 網址 | "https://app.threatconnect.com/#/details/indicators/10/overview" |
額外欄位
擷取資料時,您可以使用「欄位」輸入欄位,加入預設欄位清單中未列出的其他欄位。
如要在 API 回應中加入一或多個額外欄位,請在設定動態饋給時,於「欄位」輸入方塊中,以個別行填入欄位值。舉例來說,如要在 API 回應中納入相關聯的群組和標籤資料,請在第 1 行輸入 associatedGroups,按下 Enter,然後在第 2 行輸入 tags。
如要進一步瞭解指標屬性,請參閱「指標總覽」。如要進一步瞭解其他欄位,請參閱「在 API 回應中加入其他欄位」。
疑難排解常見問題
- 驗證失敗:請仔細檢查 API 主機、存取 ID 和私密金鑰。確認 API 使用者具備 v3 API 的正確權限,且未遭鎖定。確認沒有任何網路防火牆封鎖 Google SecOps 存取 ThreatConnect API 主機。
- 未擷取任何資料:
- 確認您設定的篩選器 (例如信心、標記、類型) 與 ThreatConnect 執行個體中可用的指標相符。
- 檢查 ThreatConnect API 使用者的權限。
- 在 Google SecOps 使用者介面中查看最新的動態饋給狀態,瞭解錯誤訊息。
- API 頻率限制:ThreatConnect 可能會強制執行 API 頻率限制。連接器應會處理標準速率限制,但過度擷取可能會導致延遲。如需限制詳情,請參閱 ThreatConnect API 說明文件。
- 資料剖析問題:如果系統已擷取記錄檔,但未正確剖析,請比較 Google SecOps 的原始記錄檔與 ThreatConnect v3 API 預期的指標 JSON 輸出內容。如果懷疑是剖析器問題,請與 Google Cloud 支援團隊聯絡。
從第 2 版連接器遷移
如果您使用以 v2 API 為基礎的舊版 ThreatConnect 資訊提供,請注意下列事項:
- 主要差異:第 3 版 API 可能有不同的資料結構、不同的篩選參數或新功能。請參閱 ThreatConnect v3 API 文件,瞭解與您擷取指標相關的變更。
- 設定第 3 版動態饋給:使用第 3 版 API 憑證設定新動態饋給 (如上所述)。在轉換期間,您可以同時執行第 2 版和第 3 版動態饋給。
- 驗證資料:比較 v3 動態饋給擷取的資料與舊版 v2 動態饋給的資料,確保資料完整且正確。記錄任何欄位變更或改善項目。
- 停用舊動態饋給:確認 v3 動態饋給運作正常後,即可停用或刪除使用 v2 API 的舊動態饋給設定,避免資料重複並減少 API 呼叫次數。
瞭解詳情
如要進一步瞭解 ThreatConnect v3 REST API,請參閱 ThreatConnect 說明文件。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。