將 CSV 與 Google SecOps 整合

本文說明如何將 CSV 與 Google Security Operations 整合。

本文說明如何將 CSV 與 Google Security Operations 整合。

用途

在 Google SecOps 中,CSV 整合支援下列用途:

  • 檔案式威脅搜尋:快速搜尋本機或遠端 CSV 記錄檔,找出特定字串或惡意實體,識別歷來記錄的威脅。

  • 自動產生警示:自動擷取以 CSV 格式輸出資料的舊系統記錄,並透過自訂嚴重性對應,將這些記錄轉換為可採取行動的警示。

  • 資料可攜性和報表:以程式輔助方式將其他應對手冊動作的 JSON 結果轉換為 CSV 格式,簡化匯出至外部報表工具或本機儲存空間的程序。

  • 自動擴充實體:使用 CSV 檔案做為本機威脅情報來源,在執行手冊時自動擴充實體並標示為可疑。

  • 跨系統資料同步:有效率地處理採用不同字元編碼的檔案 (例如舊版 Excel 格式),確保不同安全性工具之間的資料一致性。

事前準備

在 Google SecOps 中設定整合功能前,請確認您具備下列項目:

  • 內部平台功能:這項整合功能提供內建的檔案處理功能,不需要外部第三方 API 金鑰或憑證即可進行驗證。

  • 檔案系統權限:如果使用遠端代理程式,整合功能需要特定權限,才能存取及管理主機系統上的檔案。在代理程式機器上執行下列指令,為目標目錄授予必要權限: chown scripting:scripting "directory_path"

整合參數

CSV 整合需要下列參數:

參數顯示名稱 類型 預設值 為必填 說明
執行個體名稱 字串 不適用 否 要設定整合的執行個體名稱。
說明 字串 不適用 否 執行個體的說明。
遠端執行 核取方塊 已取消勾選 否 勾選這個欄位,即可從遠端執行設定的整合項目。勾選後,系統會顯示選取遠端使用者 (代理) 的選項。

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

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

動作

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

將 JSON 儲存為 CSV

將 JSON 物件儲存為 CSV。

參數

參數名稱 類型 預設值 必填 說明
JSON 物件 JSON 不適用 是 指定要儲存為 CSV 的 JSON 物件。
覆寫 布林值 否 否 啟用後,這項動作會覆寫現有檔案。
檔案路徑 字串 不適用 是 指定新建立 CSV 檔案的絕對檔案路徑。如果只提供檔案名稱,動作會將檔案儲存在 /tmp/ 資料夾中。

執行日期

不適用

動作執行結果

指令碼執行結果
指令碼結果名稱 值
is_success True/False
JSON 結果
{"filepath": "{file name}"}
案件總覽

這項動作會提供下列輸出訊息:

輸出訊息 訊息說明
已成功轉換 JSON 物件,並儲存至提供的檔案路徑。 動作執行成功。
在指定路徑找不到檔案。 檔案不存在。
在 Google Cloud Policy Intelligence 中,找不到所提供服務帳戶的任何活動 這項動作找不到任何所列服務帳戶的資料。
執行「將 JSON 儲存為 CSV」動作時發生錯誤。

動作傳回錯誤。

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

依字串搜尋

在 CSV 檔案中搜尋字串。

參數

參數名稱 類型 預設值 為必填 說明
CSV 路徑 字串 不適用 是 指定 CSV 檔案的路徑,或包含所有 CSV 檔案的資料夾路徑。如果提供資料夾,動作會疊代資料夾中的所有 CSV 檔案。
CSV 欄 字串 不適用 否 指定可包含實體資訊的資料欄清單 (以半形逗號分隔)。如未提供,動作會搜尋所有資料欄。
往回天數 字串 10 否 指定要處理過去幾天的 CSV 檔案。
搜尋值 字串 不適用 否 指定要搜尋的字串。如果啟用「搜尋多個字串」,系統會將這個參數視為以半形逗號分隔的字串清單,並搜尋這些字串。
只傳回第一列。 核取方塊 已取消勾選 否 如果啟用,動作只會傳回與實體相符的第一個檔案中的 1 列。
檔案編碼類型 字串 utf-8、latin-1、iso-8859-1 是 以半形逗號分隔的 CSV 編碼類型清單,用於解碼 CSV 檔案,例如 utf-8、latin-1、iso-8859-1、utf-16...編碼類型的指定順序,決定了檔案解碼時的優先順序。舉例來說 (如上例所示),utf-8 的優先順序最高,主要用於解碼所有檔案。如果 CSV 檔案使用其他編碼,則會使用下一個編碼 (latin-1),依此類推,直到使用最後一個編碼。
搜尋多個字串 核取方塊 已取消勾選 否 啟用後,「搜尋值」會以逗號分隔的清單形式運作,而非單一字串。
要傳回的欄位 CSV 不適用 否 指定要傳回的值,並以逗號分隔的清單呈現。

用途

在 CSV 檔案中搜尋字串。

執行日期

這項操作會對所有實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
count_rows_csv 不限列數 count_rows += 1
JSON 結果
[
    {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        },
        "Entity": "host"
    }, {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        }, "Entity": "1.1.1.1"
    }
]
案件總覽
結果類型 值/說明 類型
輸出訊息*

如果找到記錄: 「已成功找到下列字串的相關資訊:\n (search_string)」

如果找不到某些字串的記錄:「動作找不到下列字串的相關資訊:」

如果所有記錄都未成功:「找不到所提供項目的資訊。」

如果所有編碼都無效:執行「CSV Search by String」動作時發生錯誤。提供的編碼無效。請檢查拼字。」

一般

依實體搜尋

搜尋 CSV 檔案中的實體並加以擴充。

參數

參數名稱 類型 預設值 為必填 說明
CSV 路徑 字串 不適用 是 指定 CSV 檔案的路徑,或包含所有 CSV 檔案的資料夾路徑。如果提供資料夾,動作會疊代資料夾中的所有 CSV 檔案。
CSV 欄 字串 不適用 是 指定可包含實體資訊的資料欄清單 (以半形逗號分隔)。如未提供,動作會搜尋所有資料欄。
回溯天數 字串 10 是 指定要處理過去幾天的 CSV 檔案。
標示為可疑 核取方塊 已取消勾選 否 啟用後,如果檔案中發現實體,動作會將實體標示為可疑。
只傳回第一列。 核取方塊 已取消勾選 否 如果啟用,動作只會傳回與實體相符的第一個檔案中的 1 列。
檔案編碼類型 字串 utf-8、latin-1、iso-8859-1 是 以半形逗號分隔的 CSV 編碼類型清單,用於解碼 CSV 檔案,例如 utf-8、latin-1、iso-8859-1、utf-16...編碼類型的指定順序,決定了檔案解碼時的優先順序。舉例來說 (如上例所示),utf-8 的優先順序最高,主要用於解碼所有檔案。如果 CSV 檔案使用其他編碼,則會使用下一個編碼 (latin-1),依此類推,直到使用最後一個編碼。
充實實體 核取方塊 已勾選 否 如果啟用,這項動作會從 CSV 檔案新增資訊,並加入實體的擴充表格。
建立洞察 核取方塊 已勾選 否 啟用後,如果檔案中含有實體,這項動作就會建立深入分析。
要傳回的欄位 CSV 不適用 否 指定要傳回的值,並以逗號分隔的清單呈現。

執行日期

這項操作會對所有實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
count_rows_csv 不限列數 count_rows += 1
JSON 結果
[
    {
        "EntityResult": [{
            "domain": "example.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "Arcsight",
            "id": "1011",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "blocked",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "Ziv",
            "eventHostName": "WS-ZivDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }, {
            "domain": "SmartCompany.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "ESM",
            "id": "1012",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "allowed",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "GG",
            "eventHostName": "WS-GGDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }],
        "Entity": "192.168.11.11"
    }
]
案件總覽
結果類型 值/說明 類型
輸出訊息*

找到實體時:「已成功找到下列實體的資訊:\n (entity.identifier)」

找不到實體:「找不到下列實體的相關資訊:\n (entity.identifier)」

如果所有實體都未成功:「找不到所提供實體的資訊。」

如果所有編碼都無效: 「執行『依字串搜尋 CSV』動作時發生錯誤。提供的編碼無效。請檢查拼字。」

一般

乒乓

測試連線。

參數

不適用

執行日期

這項操作會對所有實體執行。

動作執行結果

指令碼執行結果

不適用

JSON 結果
N/A

連接器

CSV 連接器

從特定資料夾中的 CSV 檔案擷取資料,並將這些資料轉換為 Google SecOps 系統中的警告。

本主題說明 Google SecOps 產生 CSV 檔案的機制和設定,以及支援的工作流程和平台內採取的動作。

用途

客戶的 CSV 檔案來自某個系統,且檔案可能採用不同的編碼。

*   Add support for comma-separated encodings in the Encoding field in the
    connector.
    *   The connector should try the different encodings by their order in
        the field (first encoding - highest priority, last - lowest
        priority) with try/except. If no matching encoding was found -
        consider the file as an error and notify.
    *   Put a default value for the fields - a list of most common CSV
        encodings by priority (utf8, latin1, and iso...)

存取 CSV 檔案

Google SecOps 存取 CSV 檔案:為 CSV 檔案設定資料夾。

將 CSV 記錄轉送至 Google SecOps

使用 CSV 檔案記錄

設定 Google SecOps 使用 CSV 檔案做為快訊來源時,系統會要求您提供擷取 CSV 的特定資料夾。Google SecOps 會擷取 CSV 檔案中的所有記錄,並轉送這些記錄進行翻譯,然後將其情境化為案件的警示。

如何在連接器中對應嚴重程度

如要對應嚴重程度,您必須在「Severity Field Name」參數中,指定要使用哪個欄位來取得嚴重程度的值。您可以在回應中取得 3 種值:整數、浮點數和字串。如果是整數和浮點數,則不需要進行任何額外設定。連接器會讀取這些值,並根據 Google SecOps 標準進行對應。快速回顧整數值的對應方式:

  • 100 - 重大
  • 100 > x >= 80 (高)
  • 80 > x >=60 中
  • 60 > x >=40 低
  • 40 > x 參考用

如果回覆中包含字串,則需要額外設定。在連接器指令碼所在的資料夾中,您會看到名為 severity_map_config.json 的設定檔。這個檔案定義了嚴重程度的對應規則。

檔案一開始會像這樣:1 2 3 { "Default": 50 }

假設所需的值位於 event.severity,而 event.severity 可能包含下列值:「Malicious」、「Benign」、「Unknown」。

首先,我們必須在「Severity Field Name」參數中指定要使用 event.severity。其次,我們必須更新設定檔。變更後,severity_map_config.json 檔案應如下所示:1 2 3 4 5 6 7 8 { "event.severity": { "Malicious": 100, "Unknown": 60, "Benign": -1 }, "Default": 50 }

現在,當連接器收到 event.severity =「Malicious」的事件時,就會將其嚴重性設為「重大」。

在 Google SecOps 中設定 CSV 連接器

如要瞭解如何在 Google SecOps 中設定連接器,請參閱「設定連接器」一文。

連接器參數

使用下列參數設定連接器:

參數名稱 類型 預設值 為必填 說明
產品欄位名稱 字串 device_product 是 用於判斷裝置產品的欄位名稱。
事件欄位名稱 字串 名稱 否 用於判斷事件名稱 (子類型) 的欄位名稱。
指令碼逾時 (秒) 字串 60 是 執行目前指令碼的 Python 程序逾時限制 (以秒為單位)。
CSV 資料夾路徑 字串 不適用 是 資料夾路徑,包含所有需要擷取的 CSV 檔案。
CSV 限制 字串 不適用 否 每次疊代要處理的 CSV 檔案數量。
規則產生器欄位名稱 字串 不適用 否 這個欄位包含規則產生器的相關資訊。
時間欄位名稱 字串 不適用 否 包含事件時間資訊的欄位名稱。
CSV 含有標頭 核取方塊 已勾選 是 指出 CSV 檔案是否含有標頭。
檔案編碼類型 字串 utf-8 是 設定 CSV 編碼類型,例如 iso-8859-1、latin1、utf-8、utf-16。
警告欄位名稱 字串 不適用 否 包含快訊名稱資訊的欄位名稱。
嚴重性欄位名稱 字串 不適用 否

包含嚴重程度資訊的欄位名稱。
注意:您可以根據回應中的值對應嚴重性。請前往連接器執行資料夾,修改 severity_mapping_config.json。請參閱說明文件。

連接器規則

Proxy 支援

連接器不支援 Proxy。

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