整合 SiemplifyUtilities 與 Google SecOps

本文說明如何將 SiemplifyUtilities 與 Google Security Operations (Google SecOps) 整合。

用途

SiemplifyUtilities 整合功能可解決下列用途:

  • 匯出及共用:使用 Google SecOps 功能和「Export Entities as OpenIOC File」(將實體匯出為 OpenIOC 檔案) 動作,快速從安全性實體 (例如 IP、檔案雜湊或網址) 產生標準化 OpenIOC 檔案,並與威脅情報平台或其他資安團隊共用。

  • 邏輯清單操作:使用 Google SecOps 功能搭配「List Operations」動作,對 Playbook 中的兩個不同值清單執行複雜的邏輯運算 (例如交集、聯集、減法),提供進階篩選或合併資料來源。

  • 資料轉換與數據分析:使用 Google SecOps 功能和「從 JSON 擷取前幾項」動作,根據特定巢狀鍵 (例如嚴重性分數) 排序,處理大型巢狀 JSON 資料集並排定優先順序,且只傳回前幾項相關結果,以便立即進行數據分析。

  • 電子郵件鑑識:使用 Google SecOps 功能和「剖析 EML 為 JSON」動作,將原始、Base64 編碼的電子郵件訊息 (EML 或 MSG 檔案) 轉換為結構化 JSON 格式,讓電子郵件的標頭、內文、附件和連結可供自動剖析和調查。

事前準備

這項整合功能提供原生平台功能,不需要外部第三方 API 金鑰或憑證即可進行驗證。開始之前,請確認已從 Google SecOps 執行個體的內容中心安裝整合項目。

整合參數

無

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

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

動作

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

計算範圍內的實體

使用「Count Entities in Scope」,擷取特定範圍內的實體數量。

這項動作會對所有 Google SecOps 實體執行。

動作輸入內容

「Count Entities in Scope」動作需要下列參數:

參數 說明
Entity Type

這是必填欄位。

目標實體的類型。

動作輸出內容

「Count Entities in Scope」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「Count Entities in Scope」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

There are NUMBER_OF_ENTITIES entities from ENTITY_TYPE type.

動作成功。
Error executing action "Count Entities in Scope". Reason: ERROR_REASON

動作失敗。

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

指令碼執行結果

下表說明使用「計算範圍內的實體數量」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
list_count NUMBER_OF_ENTITIES

計數清單

使用「Count List」動作擷取清單中的項目數量。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

「Count List」動作需要下列參數:

參數 說明
Input String

選填。

以逗號分隔的清單字串,例如 value1,value2,value3。

Delimiter

選填。

用來分隔 Input String 中個別值的符號。

動作輸出內容

「Count List」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

Count List 動作可傳回下列輸出訊息:

輸出訊息 訊息說明

List length is: NUMBER_OF_ENTITIES

動作成功。
Error executing action "Count List". Reason: ERROR_REASON

動作失敗。

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

指令碼執行結果

下表說明使用「Count List」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
list_count NUMBER_OF_ENTITIES

刪除檔案

使用「刪除檔案」動作,從檔案系統中刪除所選檔案。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

「Delete File」動作需要下列參數:

參數 說明
File Path

這是必填欄位。

要刪除的檔案絕對路徑。

動作輸出內容

「刪除檔案」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
JSON 結果

以下範例顯示使用「Delete File」動作時,收到的 JSON 結果輸出內容:

{
"filepath": ""
"status": "deleted/not found"
}
輸出訊息

「Delete File」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully deleted file.

動作成功。
Error executing action "Delete File". Reason: ERROR_REASON

動作失敗。

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

指令碼執行結果

下表列出使用「Delete File」(刪除檔案) 動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

將實體匯出為 OpenIOC 檔案

使用「Export Entities as OpenIOC File」動作,將目前案件中支援的資安構件,封裝成標準 OpenIOC 檔案格式。這個檔案可用於分享、威脅情報,或匯入其他安全性工具。

這項動作會在下列 Google SecOps 實體上執行:

  • Filehash

  • IP Address

  • URL

  • Hostname

  • User

動作輸入內容

「Export Entities as OpenIOC File」(將實體匯出為 OpenIOC 檔案) 動作需要下列參數:

                       
參數說明
Export Folder Path

這是必填欄位。

   

儲存所產生 OpenIOC 檔案的資料夾本機路徑。

   

動作輸出內容

「Export Entities as OpenIOC File」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
JSON 結果

以下範例顯示使用「Export Entities as OpenIOC File」(將實體匯出為 OpenIOC 檔案) 動作時,收到的 JSON 結果輸出內容:

{
    "absolute_file_path": OpenIOC_{random_guid}.txt
}
輸出訊息

「Export Entities as OpenIOC File」動作可傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully created an OpenIOC file based on provided entities.

Action wasn't able to create an OpenIOC file, because there are no entities in the action execution scope.

動作成功。
Error executing action "Export Entities as OpenIOC File". Reason: ERROR_REASON

動作失敗。

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

從 JSON 擷取頂層

使用「從 JSON 擷取前幾項」動作,依特定索引鍵排序輸入 JSON,並傳回排名最高的項目。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

「Extract top From JSON」動作需要下列參數:

                                                                       
參數說明
JSON Data

這是必填欄位。

   

要處理的 JSON 資料。

   
Key To Sort By

這是必填欄位。

   

用於排序的巢狀鍵,區隔以半形句號分隔。

使用 * 做為萬用字元。例如:Host.*.wassap_list.Severity。

   
Field Type

這是必填欄位。

   

指定用於排序的鍵資料類型。

可能的值如下:

  • int
  • string
  • Date
   
Reverse (DESC -> ASC)

選填。

   

如果選取,排列順序為「遞減」。如未選取,排列順序會是「遞增」。

   

(預設為啟用)。

   
Top Rows

選填。

   

要從排序 JSON 輸出內容擷取的重要記錄 (資料列) 數量。

   

動作輸出內容

「Extract top From JSON」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
JSON 結果

以下範例說明使用「Extract top From JSON」動作時,收到的 JSON 結果輸出內容:

[
    {
        "HOST": {
            "DETECTION":{
                "QID": "82003",
                "SEVERITY": "1",
                "RESULTS": "Timestamp of host (network byte ordering): 03:40:14 GMT"
            },
            "IP": "1.1.1.1",
            "LAST_SCAN_DATETIME": "2018-08-13T10:24:35Z",
            "OS": "Windows 10"
        },
        "DATETIME": "2018-08-29T14:01:12Z"
    }, {
        "HOST":{
            "DETECTION": {
                "PORT": "443",
                "QID": "11827",
                "PROTOCOL": "tcp",
                "RESULTS": "X-Frame-Options or Content-Security-Policy: frame-ancestors HTTP Headers missing on port 443.",
                "SEVERITY": "2"
            },
            "IP": "1.1.1.1",
            "LAST_SCAN_DATETIME": "2018-08-13T08:31:58Z",
            "OS": "Linux 3.13"
        },
        "DATETIME": "2018-08-29T14:01:12Z"
    }, {
        "HOST": {
            "DETECTION": {
                "PORT": "53",
                "QID": "15033",
                "PROTOCOL": "udp",
                "RESULTS": "--- IPv4 --- ",
                "SEVERITY": "4"
            },
            "IP": "1.1.1.1",
            "LAST_SCAN_DATETIME": "2018-08-13T08:31:58Z",
            "OS": "Linux 3.13"
        },
        "DATETIME": "2018-08-29T14:01:12Z"
    }
]
輸出訊息

「從 JSON 擷取頂層」動作可傳回下列輸出訊息:

輸出訊息 訊息說明

Results: RESULTS.

No branches were found.

動作成功。
Error executing action "Extract top From JSON". Reason: ERROR_REASON

動作失敗。

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

指令碼執行結果

下表列出使用「Extract top From JSON」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
result RESULTS

篩選 JSON

使用「Filter JSON」(篩選 JSON) 動作,根據指定條件篩選 JSON 物件,並擷取特定結果。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

「Filter JSON」動作需要下列參數:

                                                                                               
參數說明
JSON Data

這是必填欄位。

   

要套用篩選器的 JSON 字典資料。

   
Root Key Path

選填。

   

JSON 搜尋的起始路徑,以點分隔。

   
Condition Path

這是必填欄位。

   

以點分隔的路徑,指向要根據 filter 條件評估值的欄位。

   
Condition Operator

這是必填欄位。

   

條件中使用的比較運算子。

   

可能的值如下:

  • =
  • !=
  • >
  • <
  • >=
  • <=
  • in
  • not in
   
Condition Value

這是必填欄位。

   

要在 filter 條件中使用的特定值。

   
Output Path

選填。

   

以點分隔的路徑,指向要從篩選 JSON 傳回的特定資料元素。

   
Delimiter

選填。

   

如果傳回多個元素,則使用這個字元彙整輸出值。

   

預設值為 ,。

   

動作輸出內容

「篩選 JSON」動作會提供下列輸出內容:

                                                                                                                                                       
動作輸出類型可用性
案件總覽附件無法使用
案件總覽連結無法使用
案件總覽表格無法使用
補充資訊表格無法使用
JSON 結果可用
輸出訊息可用
指令碼執行結果可用
JSON 結果

以下範例顯示使用「Filter JSON」動作時,收到的 JSON 結果輸出內容:

{
    "a": {
        "HOST": [
            {
                "DETECTION": {
                    "QID": "82003",
                    "SEVERITY": "1",
                    "RESULTS": "Timestamp of host (network byte ordering): 03:40:14 GMT"
                },
                "IP": "1.1.1.1",
                "LAST_SCAN_DATETIME": "2018-08-13T10:24:35Z",
                "OS": "Windows 10"
            }
        ],
        "DATETIME": "2018-08-29T14:01:12Z"
    }
}
輸出訊息

「篩選 JSON」動作可傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully filtered JSON.

動作成功。
Error executing action "Filter JSON". Reason: ERROR_REASON

動作失敗。

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

指令碼執行結果

下表列出使用「Filter JSON」(篩選 JSON) 動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

取得部署作業網址

使用「Get Deployment URL」動作,擷取目前 Google SecOps 執行個體的部署作業網址。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

無

動作輸出內容

「Get Deployment URL」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
JSON 結果

以下範例顯示使用「Get Deployment URL」動作時,收到的 JSON 結果輸出內容:

{
"url": ""
}
輸出訊息

「Get Deployment URL」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully retrieved deployment URL.

動作成功。
Error executing action "Get Deployment URL". Reason: ERROR_REASON

動作失敗。

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

指令碼執行結果

下表列出使用「Get Deployment URL」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

可列出作業

使用「List Operations」動作,在兩個提供的逗號分隔的清單之間執行集合運算。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

List Operations 動作需要下列參數:

                                                           
參數說明
First List

這是必填欄位。

   

set 運算的第一個逗號分隔值清單。

Second List

這是必填欄位。

   

set 運算的第二個逗號分隔值清單。

Delimiter

選填。

   

用於分隔 First List 和 Second List 值的符號或字元。

   

預設值為 ,。

Operator

這是必填欄位。

   

要執行的 set 作業類型。

   

可能的值如下:

  • intersection
  • union
  • subtract
  • xor (互斥或)。

動作輸出內容

「List Operations」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
JSON 結果

以下範例顯示使用列出作業動作時,收到的 JSON 結果輸出內容:

{
    "results": {
        "count": 6,
        "data": [
            "item",
            "item1",
            "item2"
        ]
    }
}​​
指令碼執行結果

下表列出使用「List Operations」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
result_list RESULTS

將 EML 剖析為 JSON

使用「將 EML 剖析為 JSON」動作,將 EML 或 MSG 電子郵件檔案的內容,轉換為 Google SecOps 中的結構化 JSON 物件。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

「Parse EML to JSON」動作需要下列參數:

                                               
參數說明
EML Content

這是必填欄位。

   

EML 或 MSG 檔案的 Base64 編碼內容。

Blacklisted Headers

選填。

   

列出要從最終 JSON 輸出內容中排除的標頭,並以半形逗號分隔。

Use Blacklist As Whitelist

選填。

   

如果選取這個選項,Blacklisted Headers 中提供的清單會做為許可清單,只在 JSON 輸出內容中列出這些標頭。

動作輸出內容

「Parse EML to JSON」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
JSON 結果

以下範例顯示使用「Parse EML to JSON」動作時,收到的 JSON 結果輸出內容:

{
    "HTML Body": "<div><br></div>",
    "Attachments": {},
    "Recipients": "john_doe@example.com",
    "CC": "",
    "Links": {
        "urls_1": "https://lh4.googleusercontent.com/rE6-WYjfFuiHbHUV33G31NCtUeBl9YGnw4bvlorqMeNaC60qWagqtohFwCpq2eJxlMYMJPPDAqqXRZW6Oja8GqOjt3jB3aB6tzJP-jdtbCBoj-m3vu49tttHmWpXGJUSI6UuTUYS",
        "urls_2": "https://lh4.googleusercontent.com/Uih5TalWnJjBbG_QaRICp8emX5wIakbCmstEDP3YHT7l45qdjIllcxg_Ddapvrh5DqGKszK3KKM5M0kEoC1YX6TgbWKJKPX0OxD5BeWr3uu6SRAHs7lwP20khjHSlxsIM46egQ-M"
    },
    "BCC": "",
    "To": "john_doe@example.com",
    "Date": "Mon, 13 Aug 2018 13:20:34 +0300",
    "From": "john_doe@example.com",
    "Subject": "TEST6:::Test:::ADVANCE NOTICE: 07.08.2018-Disable Accounts-user\\\r\\\\n Office Il Office"
}
指令碼執行結果

下表列出使用「Parse EML To JSON」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
parsed_eml RESULTS

系統會重新建構 with 欄位的動作 JSON 輸出內容,將 ID 值分隔至專屬欄位。這項異動適用於第 10 版及更新版本的整合,詳情請參閱下表:

                                               
整合項目版本欄位結構和說明範例 JSON
第 9 版以下ID 和通訊協定會合併到 with 欄位。{"with": "smtp id ID"}
10 以上版本ID 會儲存在新的 id 欄位中,而 with 欄位只會包含通訊協定。{"id": "ID", "with": "SMTP"}

乒乓

使用 Ping 動作測試與 SiemplifyUtilities 的連線能力。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

無

動作輸出內容

Ping 動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

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

輸出訊息 訊息說明
Connection Established. 動作成功。
Failed to connect to SiemplifyUtilities. Error is ERROR_REASON

動作失敗。

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

指令碼執行結果

下表說明使用 Ping 動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success True或False

查詢聯結器

使用「Query Joiner」動作,結合搜尋值清單、目標欄位和邏輯運算子,動態建構結構化查詢字串。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

查詢聯結器動作需要下列參數:

參數 說明
Values

必要。

以半形逗號分隔的值清單,例如 value1,value2,value3。

Query Field

必要。

要搜尋的目標欄位名稱,例如 SrcIP、DestHost 或 UserName。

Query Operator

必要。

用於合併值的邏輯運算子,例如 AND 或 OR。

Add Quotes

選填。

如果選取,動作會在 Values 中的每個項目周圍加上單引號 (')。

Add Double Quotes

選填。

如果選取,這項動作會在 Values 的每個項目兩側加上雙引號 (")。

Add Backticks

選填。

如果選取,這項動作會在 Values 的每個項目周圍加上反引號 (`)。

這項功能可用於逸出複雜字串或特殊字元 (例如長網址),避免查詢編譯錯誤。

Delimiter

選填。

用於分隔 Values 中項目的字元。

如未提供值,預設分隔符號為半形逗號 (,)。

動作輸出內容

「Query Joiner」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

Query Joiner 動作可傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully formed query: QUERY_FIELD= VALUE_1 OPERATOR QUERY_FIELD= VALUE_2 OPERATOR QUERY_FIELD= VALUE_3

動作成功。
Error executing action "Query Joiner". Reason: ERROR_REASON

動作失敗。

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

指令碼執行結果

下表列出使用「Query Joiner」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
query QUERY_FIELD= VALUE_1 OPERATOR QUERY_FIELD= VALUE_2 OPERATOR QUERY_FIELD= VALUE_3

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