Vectra

本文說明如何將 Vectra 與 Google SecOps 整合。

應用實例

  1. 擷取 Vectra 偵測結果,用於建立 Google Security Operations 警示。接著,在 Google SecOps 中,警示可用於透過應對手冊或手動分析執行自動化調度管理。
  2. 執行擴充動作:從 Vectra 取得資料,擴充 Google SecOps 快訊中的資料。

產品權限

如要取得 API 權杖,請前往「個人資料」頁面複製。

API 權杖位置

在 Google SecOps 中設定 Vectra 整合

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

整合參數

請使用下列參數設定整合:

參數顯示名稱 類型 預設值 為必填項目 說明
執行個體名稱 字串 不適用 否 要設定整合的執行個體名稱。
說明 字串 不適用 否 執行個體的說明。
API 根層級 字串 https://{address}:{port} 是 Vectra 伺服器的 API 根層級。
API 權杖 密碼 不適用 是 Vectra 帳戶的 API 權杖。
驗證 SSL 核取方塊 已勾選 是 如果已啟用,請確認與 Vectra 伺服器連線的 SSL 憑證有效。
遠端執行 核取方塊 已取消勾選 否 勾選這個欄位,即可從遠端執行設定的整合項目。勾選後,系統會顯示選取遠端使用者 (代理) 的選項。

動作

乒乓

說明

在 Google SecOps Content Hub 整合設定頁面,使用提供的參數測試與 Vectra 的連線能力。

執行日期

系統不會對實體執行這項動作。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 價值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗,也不應停止應對手冊執行作業:

如果成功:

列印「Successfully connected to the Vectra server with the provided connection parameters!」

動作應失敗並停止執行應對手冊:
如果未成功:

列印「Failed to connect to the Vectra server! 錯誤為 {0}".format(exception.stacktrace)

一般

充實端點

說明

依主機名稱或 IP 位址擷取端點的系統資訊。

執行日期

這項動作會對下列實體執行:

  • IP 位址
  • 主機名稱

動作執行結果

實體資料充實
補充資料欄位名稱 來源 (JSON 金鑰) 邏輯 - 應用時機
Vectra_id results/id JSON 格式 (如有)
Vectra_name results/name JSON 格式 (如有)
Vectra_state results/state JSON 格式 (如有)
Vectra_threat results/threat JSON 格式 (如有)
Vectra_certainty 結果/確定性 JSON 格式 (如有)
Vectra_ip results/last_source JSON 格式 (如有)
Vectra_tags 以空格分隔的{results/tags} JSON 格式 (如有)
Vectra_note results/note JSON 格式 (如有)
Vectra_url results/url JSON 格式 (如有)
Vectra_last_modified results/last_modified JSON 格式 (如有)
Vectra_groups 以空格分隔的{結果/群組} JSON 格式 (如有)
Vectra_is_key_asset results/is_key_asset JSON 格式 (如有)
Vectra_has_active_traffic results/has_active_traffic JSON 格式 (如有)
Vectra_is_targeting_key_asset results/is_targeting_key_asset JSON 格式 (如有)
Vectra_privilege_level results/privilege_level JSON 格式 (如有)
Vectra_previous_ip 以空格分隔的 {results/previous_ips} JSON 格式 (如有)
指令碼執行結果
指令碼執行結果名稱 價值選項 範例
is_success True/False is_success:False
JSON 結果
{
            "id": 131,
            "name": "DESKTOP-DAIOS7J",
            "active_traffic": false,
            "has_active_traffic": false,
            "t_score": 0,
            "threat": 0,
            "c_score": 0,
            "certainty": 0,
            "severity": null,
            "last_source": "10.0.2.68",
            "ip": "10.0.2.68",
            "previous_ips": [],
            "last_detection_timestamp": "2019-10-08T17:13:57Z",
            "key_asset": false,
            "is_key_asset": false,
            "state": "inactive",
            "targets_key_asset": false,
            "is_targeting_key_asset": false,
            "detection_set": [],
            "host_artifact_set": [
                {
                    "type": "netbios",
                    "value": "DESKTOP-DAIOS7J",
                    "source": null,
                    "siem": false
                }
            ],
            "sensor": "YLq09aHU",
            "sensor_name": "Vectra X",
            "tags": [],
            "note": null,
            "note_modified_by": null,
            "note_modified_timestamp": null,
            "url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
            "host_url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
            "last_modified": "2020-02-12T13:41:51Z",
            "assigned_to": null,
            "assigned_date": null,
            "groups": [],
            "has_custom_model": false,
            "privilege_level": null,
            "privilege_category": null,
            "probable_owner": null,
            "detection_profile": null,
            "host_session_luids": [],
            "host_luid": "e0M-jygN"
}
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功 ,且至少有一個提供的實體已擴充 (is_success = true):

Print "Successfully enriched the following endpoints from Vectra: \n {0}".format(entity.identifier list)

如果動作在 Vectra 中找到多個與某些 Google SecOps 實體相符的項目,系統會採用第一個相符項目來充實端點:

Print "Multiple matches were found in Vectra, taking first match for the following entities:/n {0}".format(entity.identifiers list)

如果無法擴充特定實體(is_success = true):

列印「No entities were enriched.」

動作應失敗並停止執行應對手冊:
如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:

列印「Error executing action "Enrich Endpoint". 原因:{0}''.format(error.Stacktrace)

一般

新增標記

說明

在 Vectra 中,為端點或偵測結果新增標記。

參數

參數顯示名稱 類型 預設值 是否強制 說明
項目類型 下拉式選單

端點

可能的值:
Endpoint

偵測

是 選取要新增標記的項目類型。
項目 ID 字串 不適用 是 指定偵測/端點的 ID。
標記 CSV 不適用 是 指定要新增至偵測/端點的標記。標記應以半形逗號分隔,例如:tag1, tag2。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 價值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果找到偵測結果/端點,且標記已成功更新 (is_success = true):

Print "Successfully added tags {0} to {1} with ID {2}.format(tags, Item Type, Item ID)

如果偵測到偵測項目/端點,但未新增標記 (is_success=False):

列印「動作無法將標記 {0} 新增至 ID 為 {2} 的 {1}。原因:{3}。format(tags, 項目類型, 項目 ID, tags parameter from response)"。

如果找不到偵測結果/端點 (is_success=False):

列印「找不到 ID 為 {1} 的 {0}。format(Item Type, Item ID)」。

II is_success=false,但沒有特定情況,且不是重大錯誤:

列印「Action wasn't able to add tags to {0} with ID {1}.format(Item Type, Item ID)」:

動作應失敗並停止執行應對手冊:
如果發生嚴重錯誤 (憑證錯誤、連線錯誤、動作異常終止):

列印「執行『新增標記』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般

移除標記

說明

在 Vectra 中移除端點或偵測項目的標記。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
項目類型 下拉式選單

端點

可能的值:
Endpoint

偵測

是 選取要移除標記的項目類型。
項目 ID 字串 不適用 是 指定偵測/端點的 ID。
標記 CSV 不適用 是 指定要從偵測/端點中移除哪些標記。標記應以半形逗號分隔,例如:tag1, tag2。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 價值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果找到偵測結果/端點,且標記已成功更新 (is_success = true):

Print "Successfully removed tags {0} from {1} with ID {2}.format(tags, Item Type, Item ID)

如果找不到偵測結果/端點 (is_success=False):

Print "{0} with ID {1} was not found.".format(Item Type, Item ID)."

如果找到偵測結果/端點,但找不到標記 (is_success=False):

顯示「標記 {0} 不存在於 {1} (ID {2}) 中」。format(list of tags that were not found separated by comma, 項目類型, 項目 ID)。

如果 is_success=false,但沒有特定情況,且不是重大錯誤:

列印「Action wasn't able to remove tags from {0} with ID {1}.format(Item Type, Item ID)」:

動作應失敗並停止執行應對手冊:
如果發生嚴重錯誤 (憑證錯誤、連線錯誤、動作異常終止):

列印「執行『移除標記』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般

更新附註

說明

端點或偵測功能的更新附註。

參數

參數顯示名稱 類型 預設值 是否強制 說明
項目類型 下拉式選單

端點

可能的值:
Endpoint

偵測

是 選取要更新附註的項目類型。
項目 ID 字串 不適用 是 指定偵測/端點的 ID。
注意事項 字串 不適用 是 指定要為偵測結果/端點新增的附註。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 價值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果找到偵測結果/端點,且附註已成功更新 (is_success = true):

Print "Successfully updated note on {1} with ID {2}.format(Item Type, Item ID)

如果找不到偵測結果/端點 (is_success=False):

Print "{0} with ID {1} was not found.".format(Item Type, Item ID)."

如果 is_success=false,但沒有特定情況,且不是重大錯誤:

列印「Action wasn't able to update note on {0} with ID {1}.format(項目類型, 項目 ID)」:

動作應失敗並停止執行應對手冊:
如果發生嚴重錯誤 (憑證錯誤、連線錯誤、動作異常終止):

列印「Error executing action "Update Note". 原因:{0}''.format(error.Stacktrace)

一般

更新偵測狀態

說明

更新偵測狀態。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
偵測 ID 整數 不適用 是 指定要更新狀態的偵測 ID。
狀態 DDL

已修正

可能的值:

固定

有效

是 指定要為偵測項目設定的狀態。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 價值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型
輸出訊息\*

動作不應失敗,也不應停止執行應對手冊:

如果偵測到並成功更新狀態 (is_success = true):

Print "Successfully updated status to '{0}' on detection with ID {1}.format(Status, Detection ID)

如果未偵測到 (is_success=False):

Print "Detection with ID {1} was not found.".format(Detection ID)."

如果 is_success=false,但沒有特定情況,且不是重大錯誤:

列印「Action wasn't able to update status on detection with ID {1}.format(detection ID)」:

動作應失敗並停止執行應對手冊:
如果發生嚴重錯誤 (憑證錯誤、連線錯誤、動作異常終止):

列印「Error executing action "Update Detection Status". 原因:{0}''.format(error.Stacktrace)

一般

取得分類規則詳細資料

說明

取得分類規則的詳細資訊。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
分類規則 ID 整數 不適用 是 指定以半形逗號分隔的分類規則 ID 清單。範例:28,29
建立洞察 核取方塊 是 是 如果啟用,這項動作會為每項已處理的分類規則建立獨立深入分析。

執行日期

這項動作不會對實體執行。

動作執行結果

洞察資料
洞察標題 洞察說明
"Triage Rule {0}".format(triage_rule) "偵測類別:{0}\n 分類類別:{1}\n 偵測:{2}\n 說明:{3}".format(detection_category, triage_category, detection, description)
指令碼執行結果
指令碼執行結果名稱 價值選項 範例
is_success True/False is_success:False
JSON 結果
{
    "id": 28,
    "url": "https://api.demo.vectranetworks.com/api/v2.1/rules/28",
    "description": "whatever",
    "enabled": true,
    "created_timestamp": "2020-10-01T17:21:19Z",
    "last_timestamp": "2020-10-01T17:21:19Z",
    "is_whitelist": false,
    "priority": 1,
    "active_detections": 1,
    "total_detections": 1,
    "template": false,
    "additional_conditions": {
        "OR": [
            {
                "AND": [
                    {
                        "ANY_OF": {
                            "field": "remote1_ip",
                            "values": [
                                {
                                    "url": null,
                                    "value": "35.166.75.118",
                                    "label": "35.166.75.118"
                                }
                            ],
                            "groups": [],
                            "label": "C&C Server IP"
                        }
                    }
                ]
            }
        ]
    },
    "source_conditions": {
        "OR": [
            {
                "AND": [
                    {
                        "ANY_OF": {
                            "field": "host",
                            "values": [
                                {
                                    "url": "https://api.demo.vectranetworks.com/api/v2.1/hosts/142",
                                    "value": 142,
                                    "label": "IP-10.10.100.10"
                                }
                            ],
                            "groups": [],
                            "label": "Host"
                        }
                    }
                ]
            }
        ]
    },
    "detection_category": "COMMAND & CONTROL",
    "triage_category": "triage rule 1",
    "detection": "Hidden HTTPS Tunnel"
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功,且至少有一個提供的規則 ID 已擴充 (is_success = true):

Print "Successfully retrieved information about the following triage rules from Vectra: \n {0}".format(processed rule ids)

如果無法擴充特定實體(is_success = true):

Print "Action was not able to retrieve information about the following triage rules\n: {0}".format(not processed rule ids)

如果無法為所有實體充實資料 (is_success = false):

列印「未擷取到任何分類規則相關資訊。」

動作應失敗並停止執行應對手冊:
如果發生嚴重錯誤 (憑證錯誤、連線錯誤、動作異常終止):

列印「執行『取得分類規則詳細資料』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般
案件總覽表格

資料表名稱:分類規則詳細資料

表格欄:

ID (對應為 id)

已啟用 (對應為已啟用)

偵測類別 (對應為 detection_category)

分類類別 (對應為 triage_category)

偵測 (對應為偵測)

許可清單 (對應為 is_whitelist)

Priority (對應為 priority)

建立時間 (對應為 created_timestamp)

一般

連接器

Vectra - 偵測連接器

在 Google SecOps 中設定 Vectra - Detections 連接器

如要瞭解如何在 Google SecOps 中設定連接器,請參閱「設定連接器」一文。

連接器參數

使用下列參數設定連接器:

參數顯示名稱 類型 預設值 為必填項目 說明
產品欄位名稱 字串 產品名稱 是 輸入來源欄位名稱,擷取產品欄位名稱。
事件欄位名稱 字串 eventType 是 輸入來源欄位名稱,擷取事件欄位名稱。

環境欄位名稱

字串 "" 否

說明儲存環境名稱的欄位名稱。

如果找不到環境欄位,則環境為預設環境。

環境規則運算式模式

字串 .* 否

要對「環境欄位名稱」欄位中的值執行的規則運算式模式。

預設值為 .*,可擷取所有值並傳回未變更的值。

用於允許使用者透過規則運算式邏輯操控環境欄位。

如果規則運算式模式為空值或空白,或環境值為空值,則最終環境結果為預設環境。

指令碼逾時 (秒) 整數 180 是 執行目前指令碼的 Python 程序逾時限制。
API 根層級 字串 https://x.x.x.x:x:x 是 Vectra 伺服器的 API 根層級。
API 權杖 密碼 不適用 是 Vectra 帳戶的 API 權杖。
要擷取的最低威脅分數 整數 50 是

用於擷取偵測結果的最低威脅分數。

下限:0

上限:100

要擷取的最低確定度分數 整數 0 否

用於擷取偵測結果的最低確定性分數。

下限:0

上限:100

類別過濾 逗號分隔值 指揮與控制,殭屍網路 ,偵察,橫向移動,資料竊取,資訊

指定要擷取至 Google SecOps 的偵測項目類別。

可能的值包括:

指揮與控制

Botnet

偵察

橫向移動

資料竊取

資訊

擷取過去幾小時內的資料 (上限) 整數 1 否 要擷取威脅的小時數。
要擷取的偵測項目數量上限 整數 25 否 每次連接器疊代要處理的偵測數量。上限為 5000。這是 Vectra 的限制。
將許可清單當做黑名單使用 核取方塊 已取消勾選 是 如果啟用,許可清單會當做黑名單使用。
驗證 SSL 核取方塊 已勾選 是 如果已啟用,請確認與 Vectra 伺服器連線的 SSL 憑證有效。
Proxy 伺服器位址 字串 不適用 否 要使用的 Proxy 伺服器位址。
Proxy 使用者名稱 字串 不適用 否 用於驗證的 Proxy 使用者名稱。
Proxy 密碼 密碼 不適用 否 用於驗證的 Proxy 密碼。

連接器規則

Proxy 支援

連接器支援 Proxy。

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