VMware Carbon Black Enterprise EDR

整合版本:6.0

產品用途

  1. 執行調查動作:在 Google Security Operations 中分析快訊時,從 CB Enterprise EDR 取得資料。
  2. 執行設定動作 - 從 Google SecOps 設定 CB Enterprise EDR 資訊提供/監控清單。

產品權限

存取 Carbon Black Enterprise EDR (ThreatHunter) API 時,您需要瞭解下列概念:

  1. 服務主機名稱
  2. API 金鑰
  3. RBAC
  4. 機構金鑰

服務主機名稱

Carbon Black Cloud 主機名稱有兩個:

  • https://defense-<environment>.conferdeploy.net/
  • https://api-<environment>.conferdeploy.net/

此外,我們還有多個環境,例如 (這並非完整清單):

  • prod02
  • prod04
  • prod05

對於 Carbon Black Enterprise EDR (ThreatHunter) API,將使用下列主機名稱:https://defense-<environment>.conferdeploy.net/

API 金鑰

Carbon Black Enterprise EDR (ThreatHunter) API 和服務會透過 API 金鑰進行驗證。使用者可以在 Carbon Black Cloud 控制台的「設定」>「API 金鑰」下方,查看 API 金鑰設定。

API 金鑰包含兩部分:

  • API 密鑰 (先前為 API 金鑰)。
  • API ID (先前為連接器 ID)。

驗證會透過 X-Auth-Token HTTP 標頭傳遞至 API。

  1. 如要產生適當的標頭,請將 API 密鑰與 API ID 串連,並在兩者之間加上斜線。
  2. 舉例來說,如果 API 密鑰為 ABCD,API ID 為 1234,對應的 X-Auth-Token HTTP 標頭會是:X-Auth-Token: ABCD/1234

所有 API 要求都必須使用 API 密鑰和 API ID 進行驗證。 未通過驗證的要求會傳回 HTTP 401 錯誤。

如何取得 API 密鑰和 API ID

  1. 登入 Carbon Black Cloud 機構。
  2. 依序前往「設定」>「API 金鑰」
  3. 按一下「新增 API 金鑰」
  4. 設定名稱、存取層級等。
  5. 取得 API 密鑰和 API ID 配對。

這樣一來,機構管理員就能定義 API 金鑰,並取得驗證 API 要求所需的 API 密鑰和 API ID。此外,基於安全考量,管理員可以將這個 API 金鑰的使用限制在特定 IP 位址。

API 金鑰存取層級

目前 API 金鑰頁面提供四種主要存取層級。每個存取層級提供的 API 路徑存取層級不同:

  1. 自訂金鑰存取層級:提供可自訂的授權。

    • 自訂 API 金鑰是我們角色型存取控管 (RBAC) 措施的成果。
    • 方便客戶套用存取控制機制,並建立最低權限的 API 金鑰。
    • 自訂 API 金鑰可指派使用者角色或存取層級。
  2. API 金鑰存取層級:可存取所有 API,但 Notifications API 和 Live Response API 除外。

  3. SIEM 金鑰存取層級:提供 Notifications API 的存取權。

  4. 即時回應金鑰存取層級:提供 (1) 以上所有 API 的存取權,以及即時回應 API 的存取權。

Carbon Black Enterprise EDR (ThreatHunter) 服務至 API 存取層級的關聯性 平台 API 以粗體顯示

API/服務類別 允許的 API 金鑰存取層級
PSC /appservices/* 自訂 (具備適當權限)
CB-TH /threathunter/* 自訂 (具備適當權限) API
CB-LO /livequery/* 自訂 (具備適當權限)
CB-D /integrationServices/v3/notification/ SIEM
CB-D /integrationServices/* APILive 回應

機構金鑰

除了 API 金鑰,許多 Carbon Black Cloud API 或服務也需要在 API 請求路徑中提供 org_key。這是為了支援管理多個機構的客戶。

您可以在 Carbon Black Cloud Console 的「Settings」>「API Keys」下方找到 org_key。

設定 Carbon Black Enterprise EDR (ThreatHunter) Google SecOps 整合的 API 存取權

如要為 Carbon Black Enterprise EDR (ThreatHunter) Google SecOps 整合設定 API 存取權,請按照下列步驟操作:

  1. 登入 Carbon Black Cloud Console,然後依序前往「Settings」(設定) >「API Access」(API 存取權)
  2. 在「API 存取權」頁面中,前往「存取層級」。
  3. 在「存取層級」頁面中,按一下「+ 新增存取層級」
  4. 在開啟的視窗中,提供新存取層級的名稱和說明,然後選取權限,如下方螢幕截圖所示:

    必要權限清單

  5. 返回「API 存取權」分頁標籤。

  6. 按一下「+ 新增 API 金鑰」,建立新的 API 金鑰。

  7. 在開啟的分頁中填寫必填欄位,然後選取您在步驟 4 中設定的存取層級:

    編輯 API 金鑰設定

  8. 點選「儲存」後,系統會顯示 API ID 和 API 密鑰。 請儲存這些值,因為這些值只會顯示一次。

  9. 儲存 API ID 和 API 密鑰後,即可在 Carbon Black Enterprise EDR (ThreatHunter) 中存取 API。

在 Google SecOps 中設定 VMware Carbon Black Enterprise EDR (Threat Hunter) 整合

如需在 Google SecOps 中設定整合功能的詳細操作說明,請參閱「設定整合功能」。

整合參數

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

參數顯示名稱 類型 預設值 為必填項目 說明
執行個體名稱 字串 不適用 您要設定整合的執行個體名稱。
說明 字串 不適用 執行個體的說明。
API 根層級 字串 不適用 VMware Carbon Black Cloud API 根網址。
機構金鑰 字串 不適用 VMware Carbon Black Cloud 機構金鑰。
API ID 字串 不適用 Vmware Carbon Black Cloud API ID (自訂 API 金鑰 ID)。
API 密鑰 字串 不適用 Vmware Carbon Black Cloud API 密鑰 (自訂 API 密鑰)。
遠端執行 核取方塊 不適用 勾選這個欄位,即可遠端執行設定的整合項目。勾選後,系統會顯示選取遠端使用者 (服務專員) 的選項。

動作

乒乓

說明

使用 Google Security Operations Marketplace 分頁中整合設定頁面提供的參數,測試與 VMware Carbon Black Enterprise EDR 的連線。

參數

不適用

應對手冊用途示例

這項動作用於在 Google Security Operations Marketplace 分頁的整合設定頁面上測試連線,可做為手動動作執行,但不會用於劇本。

執行時間

這項動作不會在實體上執行,也沒有強制輸入參數。

動作執行結果

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

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

  • 如果成功:列印「Successfully connected to the VMware Carbon Black Enterprise EDR server with the provided connection parameters!」(已使用提供的連線參數成功連線至 VMware Carbon Black Enterprise EDR 伺服器!)

動作應會失敗並停止執行應對手冊:

  • 如果連線失敗:請列印「Failed to connect to the VMware Carbon Black Enterprise EDR server! Error is {0}".format(exception.stacktrace)
一般

說明

根據提供的搜尋參數,使用 CB 感應器搜尋主機上的程序活動相關資訊。這項動作接受主機 Google SecOps 實體。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
查詢 字串 不適用 要在程序搜尋中執行的查詢。例如,process_name:svchost.exe - 依程序名稱搜尋;process_hash:9520a99e77d6196d0d09833146424113 - 依程序雜湊搜尋。
時間範圍 整數 4 指定要擷取快訊的時間範圍 (以小時為單位)。
記錄限制 整數 20 指定動作可傳回的記錄數。
排序依據 字串 不適用 指定排序資料的參數。
排列順序 DDL 遞增 排序順序。

應對手冊用途示例

根據提供的搜尋參數,搜尋由程序造成的事件。

在分析與 CB Platform 管理的特定主機相關的快訊時,使用者想調查主機,並根據提供的搜尋參數,搜尋由執行中的程序所造成的特定事件。使用者可以執行這項動作來進行威脅搜尋活動,主動搜尋可疑程序/事件是否出現在有問題的主機上。

執行時間

這項操作會在主機實體上執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
{
"results": [
    {
        "alert_id": [
            "null/WSD2CQMT"
        ],
        "backend_timestamp": "2020-03-04T21:42:45.080Z",
        "device_id": 3078944,
        "device_name": "qaam\\manticorewin864",
        "device_policy_id": 6525,
        "device_timestamp": "2020-03-04T21:39:33.180Z",
        "enriched": true,
        "enriched_event_type": "CREATE_PROCESS",
        "event_description": "The script \"<share><link hash=\"74fcbbb574bfd505cf0680575a1c025f6cead071fce78ee0cc2c7bac7dd24ce9\">C:\\programdata\\wmirepair.bat</link></share>\" invoked the application \"<share><link hash=\"7eadc73f8aa77148ca289d5ce5c2632f3a157d313079583454c0421bb97d5646\">C:\\windows\\syswow64\\regsvr32.exe</link></share>\". ",
        "event_id": "ecc6954f5e6011eaa0de89cc027330db",
        "event_type": "childproc",
        "ingress_time": 1583358118950,
        "legacy": true,
        "org_id": "7DESJ9GN",
        "parent_guid": "7DESJ9GN-002efb20-00001604-00000000-1d5f26cab1067fe",
        "parent_pid": 5636,
        "process_guid": "7DESJ9GN-002efb20-00000d58-00000000-1d5f26d6615c568",
        "process_hash": [
            "629ae017d28848b68485bd2aeede9129",
            "74fcbbb574bfd505cf0680575a1c025f6cead071fce78ee0cc2c7bac7dd24ce9"
        ],
        "process_name": "c:\\programdata\\wmirepair.bat",
        "process_pid": [
            3416
        ],
        "process_username": [
            "NT AUTHORITY\\SYSTEM"
        ]
    },
    ...
]  }
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

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

  • 如果成功:列印「Found process information for the following entities:\n {0}」。format( entity.Identifiers list)
  • 如果所有提供的實體 is_success=False,請列印「No search results were returned.」。
  • 如果因為找不到指定搜尋參數的結果,導致部分提供的實體 is_success=False,請列印「Action was not able to find process information for the following entities:\n {0}」(動作無法找到下列實體的程序資訊:\n {0})。format(entity.Identifiers list)
  • 如果因為執行搜尋時發生錯誤 (例如逾時),導致部分提供的實體 is_success=False,請列印「Failed to get results because of the errors running search for the following entities:/n {0}」。format(entity.identifiers list)

動作應會失敗並停止執行應對手冊:

  • 如果發生嚴重錯誤 (例如憑證錯誤、無法連線至伺服器等),請列印「Failed to execute action! Error is {0}".format(exception.stacktrace)
兩者並用
資料表

資料表名稱:處理「{entityIdentifier}」的搜尋結果

欄:

  • 活動 ID (event_id)
  • 事件類型 (「enriched_event_type」)
  • 程序名稱 (process_name)
  • 程序 GUID (process_guid)
  • 程序 PID (process_pid)
  • 程序父項 GUID (parent_guid)
  • 程序父項 PID (parent_pid)
  • 處理檔案雜湊 (process_hash)
  • 以「process_username」身分執行程序
  • 建立時間 (「device_timestamp」)
  • 活動說明 (event_description)
  • 本機 IPv4 位址 (event_network_local_ipv4)
  • 網路通訊協定 (event_network_protocol)
  • 遠端 IPv4 位址 (event_network_remote_ipv4)
  • 遠端通訊埠 (event_network_remote_port)
實體

依程序 GUID 取得與程序相關聯的事件

說明

根據 VMware Carbon Black Enterprise EDR 的資訊,取得與特定程序相關的事件。與「Process Search」(程序搜尋) 動作相比,這項動作可取得特定程序活動的更詳細結果。注意:如要讓動作正常運作,傳遞至動作的 Google SecOps 處理構件應為程序 GUID 類型。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
搜尋條件 字串 不適用 指定要求的搜尋條件。目前只接受「event_type」值做為搜尋條件,例如 netconn。接受以逗號分隔的多個值。
查詢 搜尋 不適用 要在程序搜尋中執行的查詢。例如:「netconn_action:ACTION_CONNECTION_CREATE OR netconn_action:ACTION_CONNECTION_ESTABLISHED」
時間範圍 整數 4 指定要擷取快訊的時間範圍 (以小時為單位)。
記錄限制 整數 20 指定動作可傳回的記錄數。
排序依據 字串 不適用 指定排序資料的參數。
排列順序 DDL 遞增 排列順序

應對手冊用途示例

調查特定程序活動。

在分析與 CB Platform 管理的特定主機相關的快訊時,發現該主機正在執行可疑程序。Google SecOps 使用者需要執行某項動作,透過 CB Enterprise EDR 功能,從 Google SecOps 取得與特定程序相關聯的事件。

執行時間

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

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
{
    "results": [
        {
            "backend_timestamp": "2020-04-26T18:38:50.128Z",
            "created_timestamp": "2020-05-19T03:56:53.483Z",
            "event_guid": "ufzid3pPQs-yrRlPBe8-ww",
            "event_hash": "ce6a949bcd3879897c9eac258ec6a091",
            "event_timestamp": "2020-04-26T18:34:16.258Z",
            "event_type": "netconn",
            "legacy": false,
            "netconn_action": "ACTION_CONNECTION_CREATE",
            "netconn_inbound": true,
            "netconn_local_ipv6": "FF020000000000000000000000010003",
            "netconn_local_port": 5355,
            "netconn_protocol": "PROTO_UDP",
            "netconn_remote_ipv6": "FE800000000000000000000000000000",
            "netconn_remote_port": 58994,
            "process_guid": "7DESJ9GN-002efb20-000003ec-00000000-1d5fb6d63ba535c",
            "process_pid": 1004
        },
        ...
    ]
}
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

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

  • 如果成功:列印「Found events for the following process guids:\n {0}」(找到下列程序 GUID 的事件:\n {0})。format(程序 GUID 清單)
  • 如果所有提供的程序 GUID 的 is_success=False,請列印「No search results were returned.」。
  • 如果因為找不到指定的程序 GUID,導致部分提供的實體 is_success=False,請列印「Action was not able to find information for the following processes:\n {0}」(動作無法找到下列程序的資訊:\n {0})。format(程序 GUID 清單)。
  • 如果因為執行搜尋時發生錯誤 (例如逾時),導致部分提供的實體 is_success=False:print "Failed to get results because of errors running search for the following process guids:/n {0}".format(entity.identifiers list)

動作應會失敗並停止執行應對手冊:

  • 如果發生嚴重錯誤 (例如憑證錯誤、無法連線至伺服器等),請列印「Failed to execute action! Error is {0}".format(exception.stacktrace)
一般
資料表

資料表名稱:找到程序「{程序構件 ID}」的事件

欄:應根據傳回的結果自動產生。

實體

充實雜湊

說明

根據 VMware Carbon Black Enterprise EDR 的資訊,擴充 Google SecOps 檔案雜湊實體。

應對手冊用途示例

使用 CB Enterprise EDR 的資訊擴充 Google SecOps 檔案雜湊實體。

處理與主機相關的可能惡意軟體感染警報時,使用者需要從 CB Enterprise EDR (平台的一部分) 取得特定檔案雜湊的擴充資料,這些資料與有疑問的警報相關聯,以利調查。舉例來說,使用者可以透過強化功能取得相關的檔案雜湊中繼資料、系統首次在機構中偵測到這個檔案雜湊的時間,以及檔案雜湊所在的主機。

執行時間

這項動作會以 Sha256 格式在 Filehash 實體上執行。

動作執行結果

實體擴充
補充資料欄位名稱 來源 (JSON 金鑰) 邏輯 - 應用時機
CB_ENT_EDR.sha256 sha256 一律
CB_ENT_EDR.md5 md5 一律
CB_ENT_EDR.architecture 架構 一律
CB_ENT_EDR.available_file_size available_file_size 一律
CB_ENT_EDR.charset_id charset_id 一律
CB_ENT_EDR.comments 留言 如果不是空值
CB_ENT_EDR.company_name company_name 一律
CB_ENT_EDR.copyright 版權 一律
CB_ENT_EDR.file_available file_available 一律
CB_ENT_EDR.file_description file_description 一律
CB_ENT_EDR.file_size file_size 一律
CB_ENT_EDR.file_version file_version 一律
CB_ENT_EDR.internal_name internal_name 一律
CB_ENT_EDR.lang_id lang_id 如果不是空值
CB_ENT_EDR.original_filename original_filename 一律
CB_ENT_EDR.os_type os_type 一律
CB_ENT_EDR.private_build private_build 如果不是空值
CB_ENT_EDR.product_description product_description 如果不是空值
CB_ENT_EDR.product_name product_name 一律
CB_ENT_EDR.product_version product_version 一律
CB_ENT_EDR.special_build special_build 如果不是空值
CB_ENT_EDR.trademark trademark 如果不是空值
CB_ENT_EDR.found_times num_devices 一律
CB_ENT_EDR.first_seen_device_timestamp first_seen_device_timestamp 一律
CB_ENT_EDR.first_seen_device_id first_seen_device_id 一律
CB_ENT_EDR.first_seen_device_name first_seen_device_name 一律
CB_ENT_EDR.last_seen_device_timestamp last_seen_device_timestamp 一律
CB_ENT_EDR.last_seen_device_id last_seen_device_id 一律
CB_ENT_EDR.last_seen_device_name last_seen_device_name 一律
指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
{
    "sha256": "e24dd278cec867486b68418c9066ffa9bd4f394dac3ba94125d58415f677f0f4",
    "architecture": [
        "amd64"
    ],
    "available_file_size": 207800,
    "charset_id": 1200,
    "comments": null,
    "company_name": "Example Organization",
    "copyright": "Copyright  © 2019",
    "file_available": true,
    "file_description": "OpenJDK Platform binary",
    "file_size": 207800,
    "file_version": "8.0.2320.9",
    "internal_name": "java",
    "lang_id": null,
    "md5": "afede6f64ed8878bc0cac57e1831a3bc",
    "original_filename": "java.exe",
    "os_type": "WINDOWS",
    "private_build": null,
    "product_description": null,
    "product_name": "OpenJDK Platform 8",
    "product_version": "8.0.2320.9",
    "special_build": null,
    "trademark": null
}
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

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

  • 如果成功且至少有一個提供的實體經過擴充:請列印「Successfully enriched entities: {0}」。format([entity.Identifier])。
  • 如果無法擴充所有提供的實體,請列印「No entities were enriched.」(沒有任何實體經過擴充)。
  • 如果無法在 VMware Carbon Black Enterprise EDR 中找到資料來擴充特定實體,請列印「Action was not able to find VMware Carbon Black Enterprise EDR info to enrich the following entities: {0}」(動作無法找到 VMware Carbon Black Enterprise EDR 資訊來擴充下列實體:{0})。format([entity.identifier])
  • 如果其中一個查詢無法執行 (例如在取得某個回應時發生錯誤 500),但另一個查詢正常運作,則 is_success 應為 False,但動作應使用從其他回應取得的資料進行擴充,並列印:「The following entities were partially enriched because of the errors getting entity data:/n {0}」。format(entityIdentifier list)

動作應會失敗並停止執行應對手冊:

  • 如果發生嚴重錯誤 (例如憑證錯誤、無法連線至伺服器等),請列印「Failed to execute Enrich Entities action! Error is {0}".format(exception.stacktrace)
一般