將 CSV 與 Google SecOps 集成

本文檔介紹如何將 CSV 與 Google 安全營運整合。

本文檔說明如何將 CSV 與 Google 安全營運整合。

下載此整合的完整原始碼副本。

用途

在 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/ 資料夾中。

Run On

不適用

動作執行結果

指令碼執行結果
指令碼結果名稱 值
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 檔案中搜尋字串。

Run On

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

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
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"
    }
]
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

找到記錄時: "Successfully found information about the following strings: \n (search_string)"

如果系統找不到某些字串的記錄:「Action wasn't able to find information about the following strings:」(Action 無法找到下列字串的相關資訊:)

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

如果所有編碼都無效: "執行「按字串搜尋 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 不適用 否 指定以半形逗號分隔的值清單,這些值需要傳回。

Run On

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

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
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 (實體.識別碼)"

對於未找到的實體:“未找到以下實體的任何資訊:\n (entity.identifier)”

如果所有實體都未找到資訊:“未找到所提供實體的資訊。”

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

一般

Ping

測試連線。

參數

不適用

Run On

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

動作執行結果

指令碼執行結果

不適用

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 檔案中的任何記錄,並轉送這些記錄進行翻譯,然後根據內容將其視為案件的快訊。

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

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

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

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

一開始,檔案會如下所示:1 2 3 { "Default": 50 }

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

首先,我們必須在「嚴重程度欄位名稱」參數中指定要使用 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 =「惡意」的事件時,就會將其嚴重程度設為「重大」。

在 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。請參閱說明文件。

連接器規則

代理支援

此連接器不支援代理。

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