使用進階 BigQuery Export

支援的國家/地區:

本文說明如何使用「進階 BigQuery 匯出」功能,在 BigQuery 中存取及使用 Google SecOps 資料。Enterprise Plus 客戶可以使用這項功能,透過全代管的串流資料管道,近乎即時地存取安全性資料。這項功能有助於解決資安作業中資料延遲的重大挑戰,進而更及時有效地偵測及回應威脅。

事前準備

建議您詳閱下列要點,瞭解資格規定和必要行動:

  • 僅限 Enterprise Plus 客戶:這項功能僅適用於 Google SecOps Enterprise Plus 客戶。其他客戶請參閱在自行管理的 Google Cloud 專案中設定資料匯出至 BigQuery

  • 必須啟用這項功能:這項功能必須提出要求才能啟用,且可能需要在貴機構的 Google SecOps 執行個體中進行初始設定。如有需要,請與 Google SecOps 代表聯絡,確認是否已啟用這項功能。

  • 遷移警示:啟用這項功能後,系統會覆寫舊版方法 (如「BigQuery 中的 Google SecOps 資料」一文所述)。在遷移至進階 BigQuery 匯出功能期間,我們會讓舊版管道在過渡期內保持啟用狀態。這項雙重作業旨在支援您順利改用新功能,不會造成任何中斷。系統會在停用帳戶的舊匯出管道前通知您。

功能總覽

進階 BigQuery 匯出功能會自動在 Google 代管的 BigQuery 專案中,佈建及管理重要的 Google SecOps 資料集,包括統一資料模型 (UDM) 事件、規則偵測結果和遭入侵指標 (IoC) 比對結果,確保資料安全無虞。您可透過 BigQuery 連結的資料集,安全地以唯讀模式存取這項資料,資料集會直接顯示在您的 Google Cloud 專案中。這項功能可讓您查詢安全資料,就像資料儲存在本機一樣,但不必管理資料管道或儲存空間,因此不會造成額外負擔。

Google SecOps 會將下列類別的安全防護資料匯出至 BigQuery:

  • UDM 事件記錄:從客戶擷取的記錄檔資料建立的 UDM 記錄。這些記錄會加入別名資訊。
  • 規則相符 (偵測):規則與一或多個事件相符的例項。
  • IoC 比對結果:事件中的構件 (例如網域或 IP 位址) 與 IoC 資訊動態消息相符。包括與全球動態饋給和客戶專屬動態饋給的相符項目。
  • 擷取指標:統計資料,例如擷取的記錄行數、從記錄產生的事件數,以及指出記錄無法剖析的記錄錯誤數。
  • 實體圖和實體關係:實體及其與其他實體的關係說明。

主要優點

進階 BigQuery 匯出功能的主要優點包括:

  • 近乎即時的資料新鮮度:串流架構可讓您在擷取安全資料後幾分鐘內,就能查詢這些資料。UDM 事件、規則偵測和 IoC 比對結果的預期延遲時間為 5 到 10 分鐘。
  • 簡化且可預測的費用模式:Google SecOps 會支付代管 BigQuery 專案中的所有資料擷取和儲存費用。貴機構只需負責執行查詢時產生的 BigQuery 分析費用。
  • 免維護資料存取:Google 會全代管基礎架構,讓您的團隊專注於資料分析,不必費心處理資料工程。

典型應用實例

進階 BigQuery 匯出功能專為安全分析師、威脅獵人、資料科學家和安全工程師設計,可直接存取最新的安全資料,並以高效能進行個案調查、自訂分析,以及與商業智慧工具整合。

進階 BigQuery 匯出功能的常見用途包括:

  • 直接在 BigQuery 中執行臨時查詢。
  • 使用 Microsoft Power BI 等商業智慧工具,建立資訊主頁、報表和數據分析。
  • 將 Google SecOps 資料與第三方資料集彙整。

架構

進階 BigQuery Export 架構採用持續串流管道。Google SecOps 執行個體的資料會透過高輸送量的 BigQuery Storage Write API,推送至 Google 管理的安全租戶專案。

Google SecOps 會使用 BigQuery 共用功能建立安全的資料清單,並授予您存取權。在 BigQuery Explorer 窗格中,您的 Google Cloud 專案會自動訂閱這個項目,並顯示為secops_linked_data 連結的資料集

這個模型支援強大的資料隔離功能,同時提供流暢的唯讀查詢存取權。

使用進階 BigQuery Export

本節說明如何在 BigQuery 中存取及使用 Google SecOps 資料。

重要詞彙與概念

以下是進階 BigQuery Export 的重要詞彙和概念:

  • 連結的資料集:唯讀 BigQuery 資料集,做為其他專案中共用資料集的符號連結或指標。您不必複製資料即可查詢,在資料供應商管理實體儲存空間時,也能安全地存取資料。
  • BigQuery 共用:這項 Google Cloud 服務可讓機構安全地共用資料和分析資產 (例如 BigQuery 資料集),無論是內部或外部皆可共用。
  • 租戶專案:由 Google SecOps 擁有及管理的專案。 Google Cloud 這項專案會實際儲存及管理匯出的安全性資料。您沒有直接存取這個專案的權限。
  • 您的專案:貴機構擁有的 Google Cloud 專案,並連結至 Google SecOps 執行個體。這個專案會顯示已連結的資料集,您可以在這裡執行查詢並支付分析費用。
  • 專案 ID:專案的全域專屬 ID。
  • 統一資料模型 (UDM):Google 的可擴充標準結構定義,可剖析數百種供應商產品的安全遙測資料,並將其正規化為一致的格式。

設定系統

請按照下列步驟設定系統,使用進階 BigQuery 匯出功能並開始查詢資料:

  1. 確認授權:確認貴機構擁有 Google SecOps Enterprise Plus 授權。
  2. 找出專案:登入 Google Cloud 控制台,然後選取連結至 Google SecOps 執行個體的 Google Cloud 專案。
  3. 找出連結的資料集:在 BigQuery 控制台中,使用「Explorer」窗格前往專案的資源。您會看到名為「secops_linked_data」的連結資料集。這個資料集是唯讀指標,指向由 Google SecOps 管理的即時安全性資料。
  4. 驗證身分與存取權管理 (IAM) 權限:如要查詢資料,使用者或服務帳戶必須在專案中具備下列 IAM 角色:

    • roles/bigquery.dataViewer
    • roles/bigquery.jobUser

    使用者 (例如安全分析師和資料消費者) 只要具備這些角色,就能在連結的資料集中查詢資料,並在專案中執行 BigQuery 工作。

  5. 執行測試查詢:開啟 BigQuery SQL 工作區並執行基本查詢,確認存取權設定正確無誤。您可以採用下列程式碼片段 (將 PROJECT_ID 替換成實際的 Google Cloud 專案 ID):

    SELECT *
    FROM `PROJECT_ID.secops_linked_data.events`
    LIMIT 10;
    

查詢 BigQuery 資料

您可以直接在 BigQuery 中執行查詢,也可以將自己的商業智慧工具 (例如 Microsoft Power BI) 連線至 BigQuery。

如要進一步瞭解查詢,請參閱下列文章:

BigQuery 中的資料保留期限

BigQuery 中的資料保留期限與為 Google SecOps 租戶設定的資料保留期限相同。您無法另外設定 BigQuery 資料的保留政策。資料超過租戶的保留期限後,系統會自動從 BigQuery 資料表清除。

連結的資料集

連結的資料集包含多個表格,每個表格對應不同類型的安全性資料。

下表摘要列出可用的資料集、目標資料即時性,以及用於確保資料完整性的主鍵:

資料集名稱 說明 預期最新鮮 用於簡化的主鍵
events UDM 結構定義中的正規化安全事件。
如要瞭解結構定義,請參閱「Google SecOps 事件結構定義」。
少於 5 分鐘 metadata.id
(字串表示法)
rule_detections Google SecOps 偵測引擎規則產生的偵測結果。
如需結構定義相關資訊,請參閱「在 Google SecOps 中查看快訊和 IoC」。
少於 5 分鐘
ioc_matches 在 UDM 事件中找到的 IoC 比對結果。
如需結構定義相關資訊,請參閱「在 Google SecOps 中查看快訊和 IoC」。
少於 5 分鐘
entity_graph 實體 (使用者、資產) 及其關係的內容比對資料。
如需結構定義的相關資訊,請參閱「使用 Google SecOps 擴充事件和實體資料」。
約 4 小時
(批次)
ingestion_metrics 記錄檔擷取量和資料來源的統計資料。
如要瞭解結構定義,請參閱「擷取指標結構定義」和「Google SecOps 中 Looker 和 BigQuery 的擷取指標參考資料」。
約 5 分鐘
(僅限附加的時間序列)

查詢範例

以下範例說明如何查詢資料集,以瞭解常見的安全性用途。請記得將 PROJECT_ID 替換為實際的 Google Cloud 專案 ID。

範例:尋找過去 24 小時內來自特定 IP 位址的所有網路連線

這項查詢會在 events 資料表中,搜尋可疑 IP 位址的近期網路活動。

SELECT
  metadata.product_event_type,
  principal.ip,
  target.ip,
  network.application_protocol
FROM
  `PROJECT_ID.secops_linked_data.events`
WHERE
  principal.ip = '192.0.2.1'
  AND metadata.event_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR);

範例:計算最常偵測到的前 10 項規則

rule_detections 資料表上的這項查詢,有助於找出環境中偵測到的最常見威脅或政策違規事項。

SELECT
  rule_name,
  COUNT(*) AS detection_count
FROM
  `PROJECT_ID.secops_linked_data.rule_detections`
WHERE
  detection.id IS NOT NULL
GROUP BY
  1
ORDER BY
  2 DESC
LIMIT
  10;

最佳做法

以下是使用進階 BigQuery 匯出功能查詢資料的最佳做法:

  • 最佳化成本:避免 SELECT *。在查詢中,只指定您需要的資料欄,即可減少掃描的資料量,進而降低查詢費用。
  • 使用分區篩選條件:events 資料表會依 hour_time_bucket 資料欄分區。請務必在這個資料欄中加入 WHERE 子句篩選器,將查詢限制在盡可能小的時間範圍內,大幅提升效能並降低成本。
  • 撰寫有效率的查詢:UDM 結構定義範圍廣泛,但資料稀疏。如要有效篩選特定事件類型,請在相關欄位使用 WHERE... IS NOT NULL。舉例來說,如要只找出 DNS 查詢,請篩選 WHERE network.dns.questions.name IS NOT NULL
  • 驗證查詢:在執行查詢前,請先使用 BigQuery UI 中的查詢驗證工具。查詢驗證器會估算資料處理量,協助您避免執行費用高昂的大型查詢。

已知限制

以下是進階 BigQuery Export 功能的已知限制:

  • 實體圖形延遲時間:entity_graph 資料集是透過批次程序匯出,資料新鮮度約為四小時。
  • 客戶自行管理的加密金鑰 (CMEK):如果客戶在 Google SecOps 執行個體上啟用 CMEK,就無法使用進階 BigQuery Export。
  • UDM 結構定義資料欄:每個資料表的 BigQuery 資料欄軟性限制為 10,000 個。UDM 結構定義包含超過 27,000 個欄位,但填入的資料很少。匯出管道會智慧地只納入特定事件的已填入資料的欄,因此大多數客戶都不會超過上限。Google SecOps 會監控欄使用量,如果接近這個門檻,就會主動為您的租戶專案申請提高上限。
  • 保留政策:匯出至 BigQuery 的所有安全性資料,其資料保留期限會自動與 Google SecOps 專案的資料保留期限同步,無法另外設定。
  • 延遲抵達的資料:在極少數情況下,如果資料延遲抵達處理管道的時間過長,資料可能無法正確合併。系統的設計目標是盡量減少這種情況,但這是高總處理量串流系統的已知特性,這類系統依賴最終一致性。
  • 強化資料:涵蓋範圍僅限於單次強化的 UDM 事件。重新經過擴充的 UDM 事件不會匯出至租戶專案的 BigQuery 執行個體。
  • 歷來資料:啟用進階 BigQuery 匯出功能後,系統就會開始匯出資料,您仍可在現有專案中存取舊資料。如要查詢啟用進階 BigQuery 匯出功能前匯出的資料,您必須使用單一查詢,將兩個專案的資料聯結在一起,或分別對兩個專案執行查詢 (一個查詢舊資料集,另一個查詢新資料集)。

疑難排解與支援

下表提供常見問題的解決方案:

觀察到的症狀 可能原因 建議做法
查詢失敗,並顯示 Access Denied: User does not have permission. 使用者或服務帳戶在 Google Cloud 連結至 Google SecOps 執行個體的專案中,缺少必要的 BigQuery IAM 角色。 將「BigQuery 資料檢視者」和「BigQuery 工作使用者」角色授予主體。使用「gcloud projects get-iam-policy YOUR_PROJECT_ID --flatten="bindings.members" --format='table(bindings.role)' --filter="bindings.members:user:your-user@example.com"」驗證
我的 BigQuery 專案中看不到 secops_linked_data 資料集。 1. 您不在正確的 Google Cloud 專案中。
2. 貴機構未採用 Enterprise Plus 方案。
3. 貴機構使用 Enterprise Plus 方案,但 Google SecOps 執行個體未啟用進階 BigQuery Export。
1. 在 Google Cloud 控制台中,確認已選取連結至 Google SecOps 執行個體的專案。
2. 請與 Google 代表聯絡,確認您的 Google SecOps 授權層級。
3. 請與 Google SecOps 代表聯絡,要求對方在 Google SecOps 執行個體中啟用進階 BigQuery Export。
在查詢結果中看到重複的事件。 這可能是因為高處理量串流中的資料延遲抵達。系統會使用「至少傳送一次」遞送語意。 如懷疑有重複資料,請依「資料集」中列出的主鍵將查詢分組,以取得計數。

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