使用進階 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 匯出功能並開始查詢資料:
- 確認授權:確認貴機構擁有 Google SecOps Enterprise Plus 授權。
- 找出專案:登入 Google Cloud 控制台,然後選取連結至 Google SecOps 執行個體的 Google Cloud 專案。
- 找出連結的資料集:在 BigQuery 控制台中,使用「Explorer」窗格前往專案的資源。您會看到名為「
secops_linked_data
」的連結資料集。這個資料集是唯讀指標,指向由 Google SecOps 管理的即時安全性資料。 驗證身分與存取權管理 (IAM) 權限:如要查詢資料,使用者或服務帳戶必須在專案中具備下列 IAM 角色:
roles/bigquery.dataViewer
roles/bigquery.jobUser
使用者 (例如安全分析師和資料消費者) 只要具備這些角色,就能在連結的資料集中查詢資料,並在專案中執行 BigQuery 工作。
執行測試查詢:開啟 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 匯出功能前匯出的資料,您必須使用單一查詢,將兩個專案的資料聯結在一起,或分別對兩個專案執行查詢 (一個查詢舊資料集,另一個查詢新資料集)。
疑難排解與支援
下表提供常見問題的解決方案:
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。