收集 Cylance PROTECT 記錄

支援的國家/地區:

本文說明如何使用 Bindplane,將 Cylance PROTECT 記錄擷取至 Google Security Operations。Logstash 剖析器程式碼會將 Cylance PROTECT 系統記錄訊息轉換為統一資料模型 (UDM)。這個外掛程式會從系統記錄訊息中擷取欄位、將欄位正規化、對應至 UDM 欄位,並加入威脅嚴重程度和類別資訊,擴充資料內容。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • Windows 2016 以上版本,或搭載 systemd 的 Linux 主機
  • 如果透過 Proxy 執行,防火牆通訊埠已開啟
  • Cylance PROTECT 的特殊存取權

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案。將檔案安全地儲存在要安裝 Bindplane 的系統上。

取得 Google SecOps 客戶 ID

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「設定檔」
  3. 複製並儲存「機構詳細資料」專區中的客戶 ID

安裝 Bindplane 代理程式

Windows 安裝

  1. 以系統管理員身分開啟「命令提示字元」或「PowerShell」
  2. 執行下列指令:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 安裝

  1. 開啟具有根層級或 sudo 權限的終端機。
  2. 執行下列指令:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

其他安裝資源

如需其他安裝選項,請參閱安裝指南

設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps

  1. 存取設定檔:
    • 找出 config.yaml 檔案。通常位於 Linux 的 /etc/bindplane-agent/ 目錄,或 Windows 的安裝目錄。
    • 使用文字編輯器 (例如 nanovi 或記事本) 開啟檔案。
  2. 按照下列方式編輯 config.yaml 檔案:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'CYLANCE_PROTECT'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 視基礎架構需求,替換通訊埠和 IP 位址。

  4. <customer_id> 替換為實際的客戶 ID。

  5. /path/to/ingestion-authentication-file.json 更新為「取得 Google SecOps 擷取驗證檔案」一節中驗證檔案的儲存路徑。

重新啟動 Bindplane 代理程式,以套用變更

  • 如要在 Linux 中重新啟動 Bindplane 代理程式,請執行下列指令:

    sudo systemctl restart bindplane-agent
    
  • 如要在 Windows 中重新啟動 Bindplane 代理程式,可以使用「服務」控制台,或輸入下列指令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

在 Cylance Protect 中設定 Syslog

  1. 登入 Cylance 管理控制台。
  2. 依序前往「設定」>「應用程式」
  3. 勾選「Syslog/SIEM」核取方塊。
  4. 選取所有事件
  5. 提供下列設定詳細資料:
    • SIEM:選取「Syslog」
    • 「通訊協定」:選取「UDP」
    • 勾選「允許超過 2 KB 的訊息」核取方塊。
    • IP/網域:輸入 Bindplane 代理程式 IP 位址。
    • 「Port」(通訊埠):輸入 Bindplane 代理程式通訊埠編號 (例如 UDP 的 514)。
    • 設施:選取應用程式記錄類型。
  6. 按一下「測試連線」
  7. 按一下 [儲存]

UDM 對應表

記錄欄位 UDM 對應 邏輯
代理程式版本 metadata.product_version Agent Version: <value> 擷取的值
Cylance 分數 security_result.severity_details Cylance Score: <value> 擷取的值
security_result.severity 根據下列邏輯對應:
- HIGH:如果 Cylance 分數 > 67
- MEDIUM:如果 Cylance 分數 > 33
- LOW:如果 Cylance 分數 <= 33
偵測者 security_result.detection_fields.value Detected By: <value> 擷取的值
裝置 ID principal.asset_id Device Id: <value> 擷取的值,並在前面加上 Cylance:
裝置 ID principal.asset_id Device Ids: <value> 擷取的值,並加上 Cylance: 前置字元,用於 Device Id 不存在的情況
裝置名稱 principal.hostname Device Name: <value> 擷取的值
裝置名稱 target.hostname Device Name: <value> 擷取的值,用於特定事件類型,例如 ScriptControl
裝置名稱 principal.hostname Device Names: <value> 擷取的值,用於 Device Name 不存在的情況
說明 security_result.summary Description: <value> 擷取的值,用於特定事件類型,例如 OpticsCaeNetworkEvent
目的地 IP target.ip Destination IP: <value> 擷取的值
目的地通訊埠 target.port Destination Port: <value> 擷取的值
活動 ID metadata.product_log_id Event Id: <value> 擷取的值
事件名稱 用於判斷特定事件子類型,並套用對應的邏輯
事件類型 metadata.product_event_type Event Type: <value> 擷取的值
metadata.event_type 根據 Event TypeEvent Name 欄位對應,預設值為 GENERIC_EVENT
檔案名稱 principal.process.file.full_path File Name: <value> 擷取的值,並與 Path: <value> 結合形成完整路徑
檔案路徑 target.file.full_path File Path: <value> 擷取的值
Instigating Process ImageFileSha256 principal.process.file.sha256 Instigating Process ImageFileSha256: <value> 擷取的值
啟動程序名稱 principal.process.file.full_path Instigating Process Name: <value> 擷取的值
啟動程序擁有者 principal.user.userid Instigating Process Owner: <value> 擷取的值,如果存在,則在依 // 分割後擷取使用者名稱
啟動程序擁有者 principal.administrative_domain Instigating Process Owner: <value> 擷取的網域名稱 (如有 //,則會依此分隔)
IP 位址 principal.ip IP Address: (<value>) 擷取的 IP 位址
解譯器 security_result.rule_labels.value Interpreter: <value> 擷取的值
解譯器版本 security_result.rule_labels.value Interpreter Version: <value> 擷取的值
已登入的使用者 about.user.userid Logged On Users: (<value>) 擷取的使用者名稱
MAC 位址 principal.mac MAC Address: (<value>) 擷取 MAC 位址,並以冒號格式化
MD5 principal.process.file.md5 MD5: <value> 擷取的值
訊息 用於擷取特定事件類型的資料,例如 AuditLog
作業系統 principal.platform 如果 OS 欄位包含 Windows,則會對應至 WINDOWS
路徑 principal.process.file.full_path Path: <value> 擷取的值,並與 File Name: <value> 結合形成完整路徑
政策名稱 security_result.rule_name Policy Name: <value> 擷取的值
程序 ID principal.process.pid Process ID: <value> 擷取的值
程序名稱 principal.process.file.full_path Process Name: <value> 擷取的值
已解決的地址 network.dns.answers.name Resolved Address: <value> 擷取的值
SHA256 principal.process.file.sha256 SHA256: <value> 擷取的值
來源 IP principal.ip Source IP: <value> 中擷取的值,用於特定事件類型
狀態 security_result.action 根據值對應至特定 UDM 動作:
- Quarantined:QUARANTINE
- Cleared:ALLOW_WITH_MODIFICATION
目標網域名稱 network.dns.questions.name Target Domain Name: <value> 擷取的值
目標程序 ImageFileSha256 target.process.file.sha256 Target Process ImageFileSha256: <value> 擷取的值
目標程序名稱 target.process.file.full_path Target Process Name: <value> 擷取的值
目標程序擁有者 target.user.userid Target Process Owner: <value> 擷取的值,如果存在,則在依 // 分割後擷取使用者名稱
目標程序擁有者 target.administrative_domain Target Process Owner: <value> 擷取的網域名稱 (如有 //,則會依此分隔)
目標登錄檔 KeyPath target.registry.registry_key Target Registry KeyPath: <value> 擷取的值
威脅分類 security_result.threat_name Threat Classification: <value> 擷取的值
使用者 principal.user.userid 如果存在,則從 User: <value> 擷取使用者名稱;如果不存在,則使用 User Name
使用者 principal.user.email_addresses User: <value> 中擷取的電子郵件地址 (如有),用於 User Name 不存在的情況
使用者名稱 principal.user.userid User Name: <value> 擷取的值
違規類型 security_result.summary Violation Type: <value> 擷取的值,並在前面加上 ExploitAttempt:
違規類型 security_result.threat_name Violation Type: <value> 擷取的值
區域名稱 security_result.description Zone Names: (<value>) 擷取的值,並在前面加上 Zone_Names:
metadata.vendor_name 硬式編碼為 Cylance
metadata.product_name 從記錄訊息中擷取的值,可以是 PROTECTOPTICS
metadata.log_type 硬式編碼為 CYLANCE_PROTECT
network.ip_protocol 針對 OpticsCaeNetworkEvent 個事件硬式編碼為 TCP
network.application_protocol 針對 OpticsCaeDnsEvent 個事件硬式編碼為 DNS
security_result.rule_labels.key 根據可用欄位設為 InterpreterInterpreter Version
security_result.detection_fields.key 硬式編碼為 Detected By
security_result.category 根據事件類型對應,可能的值包括:
- SOFTWARE_SUSPICIOUS
- AUTH_VIOLOATION
- POLICY_VIOLATION
- NETWORK_SUSPICIOUS
- EXPLOIT
- SOFTWARE_MALICIOUS
security_result.action 根據事件類型和特定條件對應,可能的值包括:
- ALLOW
- BLOCK
- QUARANTINE
- ALLOW_WITH_MODIFICATION

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