將 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 專業人員尋求解答。