收集 Cylance PROTECT 日志

支持的语言:

本文档介绍了如何使用 Bindplane 将 Cylance PROTECT 日志注入到 Google Security Operations。Logstash 解析器代码会将 Cylance PROTECT syslog 消息转换为统一数据模型 (UDM)。它从 syslog 消息中提取字段,对其进行标准化处理,将其映射到 UDM 字段,并使用威胁严重程度和类别信息来丰富数据。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • Windows 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • 如果在代理后运行,防火墙端口处于开放状态
  • 对 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. 打开具有 root 或 sudo 权限的终端。
  2. 运行以下命令:

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

其他安装资源

如需了解其他安装选项,请参阅安装指南

配置 Bindplane 代理以注入 Syslog 并将其发送到 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
    • 选中允许发送超过 2KB 的消息复选框。
    • IP/网域:输入 Bindplane 代理 IP 地址。
    • 端口:输入 Bindplane 代理端口号(例如,对于 UDP,输入 514)。
    • 设备:选择应用日志记录的类型。
  6. 点击测试连接
  7. 点击保存

UDM 映射表

日志字段 UDM 映射 逻辑
代理版本 metadata.product_version Agent Version: <value> 中提取的值
Cylance 得分 security_result.severity_details Cylance Score: <value> 中提取的值
security_result.severity 根据以下逻辑进行映射:
- 高:如果 Cylance 得分 > 67
- 中:如果 Cylance 得分 > 33
- 低:如果 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> 中提取的值
发起进程 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:隔离
- Cleared:允许并修改
目标域名 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 专业人士那里获得解答。