將 SiemplifyUtilities 與 Google SecOps 整合
整合版本:20.0
本文說明如何將 SiemplifyUtilities 與 Google Security Operations (Google SecOps) 整合。
用途
SiemplifyUtilities 整合功能可解決下列用途:
匯出及分享:使用 Google SecOps 功能,透過「Export Entities as OpenIOC File」(將實體匯出為 OpenIOC 檔案) 動作,從安全實體 (例如 IP、Filehash 或 URL) 快速產生標準化的 OpenIOC 檔案,並與威脅情報平台或其他安全團隊分享。
清單操作邏輯:使用 Google SecOps 功能和「清單操作」動作,對劇本中的兩個不同值清單執行複雜的邏輯運算 (例如交集、聯集、差集),進而進階篩選或合併資料來源。
資料轉換和分析:使用 Google SecOps 功能和「Extract top From JSON」動作,依據特定巢狀索引鍵 (例如嚴重程度分數) 排序大型巢狀 JSON 資料集,並只傳回最相關的結果,以供立即分析,藉此處理及排定優先順序。
電子郵件鑑識:使用 Google SecOps 功能和「將 EML 剖析為 JSON」動作,將原始的 base64 編碼電子郵件訊息 (EML 或 MSG 檔案) 轉換為結構化 JSON 格式,以便自動剖析和調查電子郵件的標題、內文、附件和連結。
整合參數
無
動作
如要進一步瞭解動作,請參閱「 從工作台回覆待處理動作」和「執行手動動作」。
計算範圍內的實體
使用「計算範圍內的實體」,即可擷取特定範圍內的實體數量。
這項操作會對所有 Google SecOps 實體執行。
動作輸入內容
「Count Entities in Scope」(計算範圍內的實體數量) 動作需要下列參數:
| 參數 | 說明 |
|---|---|
Entity Type |
必填。 目標實體的類型。 |
動作輸出內容
「計算範圍內的實體數量」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
輸出訊息
「計算範圍內的實體數量」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Count Entities in Scope". Reason:
ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
指令碼結果
下表說明使用「計算範圍內的實體」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
list_count |
NUMBER_OF_ENTITIES |
計數清單
使用「計算清單」動作,即可擷取清單上的項目數量。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「Count List」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Input String |
選填。 以半形逗號分隔的字串清單,例如 |
Delimiter |
選填。 用於分隔 |
動作輸出內容
「Count List」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
輸出訊息
「Count List」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Count List". Reason:
ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
指令碼結果
下表說明使用「計算清單」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
list_count |
NUMBER_OF_ENTITIES |
刪除檔案
使用「刪除檔案」動作,從檔案系統中刪除所選檔案。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「刪除檔案」動作需要下列參數:
| 參數 | 說明 |
|---|---|
File Path |
必填。 要刪除的檔案絕對路徑。 |
動作輸出內容
「刪除檔案」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「刪除檔案」動作時收到的 JSON 結果輸出內容:
{
"filepath": ""
"status": "deleted/not found"
}
輸出訊息
「刪除檔案」動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Delete File". Reason:
ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「刪除檔案」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
true或false |
將實體匯出為 OpenIOC 檔案
使用「Export Entities as OpenIOC File」(將實體匯出為 OpenIOC 檔案) 動作,將目前案件中支援的安全性構件封裝為標準 OpenIOC 檔案格式。這個檔案可用於分享、威脅情報或匯入其他安全性工具。
這項動作會對下列 Google SecOps 實體執行:
FilehashIP AddressURLHostnameUser
動作輸入內容
「Export Entities as OpenIOC File」(將實體匯出為 OpenIOC 檔案) 動作需要下列參數:
| 參數 | 說明 |
|---|---|
Export Folder Path | 必填。 要儲存所產生 OpenIOC 檔案的資料夾本機路徑。 |
動作輸出內容
「將實體匯出為 OpenIOC 檔案」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「Export Entities as OpenIOC File」動作時收到的 JSON 結果輸出內容:
{
"absolute_file_path": OpenIOC_{random_guid}.txt
}
輸出訊息
「Export Entities as OpenIOC File」(將實體匯出為 OpenIOC 檔案) 動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Export Entities as OpenIOC File". Reason:
ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
從 JSON 擷取頂端
使用「從 JSON 擷取前幾項」動作,依特定鍵排序輸入 JSON,並傳回排名最高的樹狀結構或記錄。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「從 JSON 擷取頂層」動作需要下列參數:
| 參數 | 說明 |
|---|---|
JSON Data | 必填。 要處理的 JSON 資料。 |
Key To Sort By | 必填。 用於排序的巢狀鍵,區隔以半形句號分隔。 使用 |
Field Type | 必填。 用於排序的鍵資料類型。 可能的值如下:
|
Reverse (DESC -> ASC) | 選填。 如果選取這個選項,排序順序為「遞減」。如未選取,排序順序為「遞增」。 (預設為啟用)。 |
Top Rows | 選填。 要從排序後的 JSON 輸出內容擷取的前幾筆記錄 (資料列) 數量。 |
動作輸出內容
「從 JSON 擷取頂層」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
JSON 結果
下列範例顯示使用「從 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 擷取頂層」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Extract top From JSON". Reason:
ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「從 JSON 擷取頂層」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
result |
RESULTS |
篩選 JSON
使用「篩選 JSON」動作,根據指定條件篩選 JSON 物件,並擷取特定結果。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「篩選 JSON」動作需要下列參數:
| 參數 | 說明 |
|---|---|
JSON Data | 必填。 要套用篩選器的 JSON 字典資料。 |
Root Key Path | 選填。 以半形句號分隔的 JSON 搜尋起始路徑。 |
Condition Path | 必填。 以半形句號分隔的路徑,指向要根據 |
Condition Operator | 必填。 要在條件中使用的比較運算子。 可能的值如下:
|
Condition Value | 必填。
|
Output Path | 選填。 以半形句號分隔的路徑,指向要從經過篩選的 JSON 傳回的特定資料元素。 |
Delimiter | 選填。 如果傳回多個元素,則用來合併輸出值的字元。 預設值為 |
動作輸出內容
「篩選 JSON」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「篩選 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」動作可以傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Filter JSON". Reason:
ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「篩選 JSON」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
true或false |
取得部署網址
使用「取得部署網址」動作,擷取目前 Google SecOps 執行個體的部署網址。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
無
動作輸出內容
「Get Deployment URL」(取得部署網址) 動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「取得部署網址」動作時收到的 JSON 結果輸出內容:
{
"url": ""
}
輸出訊息
「取得部署網址」動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Get Deployment URL". Reason:
ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「取得部署網址」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
true或false |
可列出作業
使用「列出作業」動作,在兩個以半形逗號分隔的清單之間執行集合運算。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「列出作業」動作需要下列參數:
| 參數 | 說明 |
|---|---|
First List | 必填。
|
Second List | 必填。
|
Delimiter | 選填。 用於分隔 預設值為 |
Operator | 必填。 要執行的 可能的值如下:
|
動作輸出內容
「列出作業」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「列出作業」動作時收到的 JSON 結果輸出內容:
{
"results": {
"count": 6,
"data": [
"item",
"item1",
"item2"
]
}
}
指令碼結果
下表列出使用「列出作業」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
result_list |
RESULTS |
將 EML 剖析為 JSON
使用「Parse EML to JSON」(將 EML 剖析為 JSON) 動作,將 EML 或 MSG 電子郵件檔案的內容轉換為 Google SecOps 中的結構化 JSON 物件。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「將 EML 剖析為 JSON」動作需要下列參數:
| 參數 | 說明 |
|---|---|
EML Content | 必填。 EML 或 MSG 檔案的 Base64 編碼內容。 |
Blacklisted Headers | 選填。 以半形逗號分隔,列出要從最終 JSON 輸出內容中排除的標頭。 |
Use Blacklist As Whitelist | 選填。 如果選取這個選項, |
動作輸出內容
「將 EML 剖析為 JSON」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「將 EML 剖析為 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 |
查詢合併字元
使用「查詢聯結器」動作,結合搜尋值清單、目標欄位和邏輯運算子,動態建構結構化查詢字串。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「查詢聯結器」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Values | 必填。 以逗號分隔的搜尋值清單,例如 |
Query Field | 必填。 要搜尋的目標欄位名稱,例如 |
Query Operator | 必填。 用於合併值的邏輯運算子,例如 |
Add Quotes | 選填。 如果選取這個選項,系統會在 預設為停用。 |
Add Double Quotes | 選填。 如果選取這個選項,系統會在 預設為停用。 |
動作輸出內容
「Query Joiner」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
輸出訊息
「Query Joiner」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Query Joiner". Reason:
ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「查詢聯結器」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
query |
QUERY_FIELD=
VALUE_1
OPERATOR
QUERY_FIELD=
VALUE_2
OPERATOR
QUERY_FIELD=
VALUE_3 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。