CSV
整合版本:31.0
權限先決條件
如要透過整合功能處理檔案,您必須具備正確的權限。執行下列指令,為資料夾提供正確的權限:chown scripting:scripting "directory_path"
在 Google Security Operations 中設定 CSV 整合
如需在 Google SecOps 中設定整合功能的詳細操作說明,請參閱「設定整合功能」。
整合參數
請使用下列參數設定整合:
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 | 
|---|---|---|---|---|
| 執行個體名稱 | 字串 | 不適用 | 否 | 您要設定整合的執行個體名稱。 | 
| 說明 | 字串 | 不適用 | 否 | 執行個體的說明。 | 
| 遠端執行 | 核取方塊 | 已取消勾選 | 否 | 勾選這個欄位,即可遠端執行設定的整合項目。勾選後,系統會顯示選取遠端使用者 (服務專員) 的選項。 | 
動作
將 JSON 儲存為 CSV
說明
將 JSON 物件儲存為 CSV 檔案。
參數
| 參數名稱 | 類型 | 預設值 | 必填 | 說明 | 
|---|---|---|---|---|
| JSON 物件 | JSON | 不適用 | 是 | 指定要儲存為 CSV 檔案的 JSON 物件。 | 
| 覆寫 | 布林值 | 否 | 否 | 如果啟用,這項動作會覆寫現有檔案。 | 
| 檔案路徑 | 字串 | 不適用 | 是 | 指定新建立的 CSV 檔案的絕對檔案路徑。如果只提供檔案名稱,動作會將檔案儲存在 /tmp/ 資料夾中。 | 
執行時間
不適用
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值 | 
|---|---|
| is_success | True/False | 
JSON 結果
{"filepath": "{file name}"}
案件總覽
這個動作會提供下列輸出訊息:
| 輸出訊息 | 訊息說明 | 
|---|---|
| 已成功轉換 JSON 物件,並儲存至提供的檔案路徑。 | 動作成功。 | 
| 系統在提供的路徑中找不到檔案。 | 檔案不存在。 | 
| 在 Google Cloud 政策智慧中,找不到所提供服務帳戶的活動 | 這項動作找不到任何列出服務帳戶的資料。 | 
| 執行「將 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"
    }
]
案件總覽
| 結果類型 | 值 / 說明 | 類型 | 
|---|---|---|
| 輸出訊息* | 找到記錄時:「Successfully found information about the following strings: \n (search_string)」 如果系統找不到某些字串的記錄:「Action wasn't able to find information about the following strings:」(Action 無法找到下列字串的相關資訊:) 如果所有記錄都找不到相符資訊:「找不到所提供項目的資訊。」 如果所有編碼都無效: 「Error executing action "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 Security Operations 產生 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 資訊
 
如果回應中包含字串,則需要額外設定。在連接器指令碼所在的資料夾中,您會看到名為 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。 | 
| 快訊欄位名稱 | 字串 | 不適用 | 否 | 包含快訊名稱相關資訊的欄位名稱。 | 
| 嚴重性欄位名稱 | 字串 | 不適用 | 否 | 包含嚴重程度資訊的欄位名稱。  | 
連接器規則
Proxy 支援
連接器不支援 Proxy。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。