收集 Lookout Mobile Endpoint Security 日志

支持的平台:

本文档介绍了如何使用 Bindplane 代理将 Lookout Mobile Endpoint Security 日志注入到 Google Security Operations。

Lookout Mobile Endpoint Security (MES) 是一款全面的移动安全解决方案,可保护 iOS、Android 和 ChromeOS 设备免遭钓鱼式攻击、恶意软件、网络攻击和设备漏洞的侵害。它利用 AI 驱动的威胁情报来检测和防范移动威胁,同时保护用户隐私。Lookout MES 支持通过 syslog 以 CEF(通用事件格式)将安全事件转发到外部 SIEM 系统。

准备工作

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

  • Google SecOps 实例
  • Windows Server 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • Bindplane 代理与 Lookout MES SIEM 连接器主机之间的网络连接
  • 如果在代理后面运行,请确保防火墙端口已根据 Bindplane 代理要求打开
  • 对 Lookout MES 控制台的管理员访问权限
  • 在 Lookout MES 控制台中为 SIEM 连接器身份验证生成的应用密钥

获取 Google SecOps 注入身份验证文件

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载数据注入身份验证文件。将文件安全地保存在将要安装 Bindplane 的系统上。

获取 Google SecOps 客户 ID

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 配置文件
  3. 复制并保存组织详细信息部分中的客户 ID

安装 Bindplane 代理

按照以下说明在 Windows 或 Linux 操作系统上安装 Bindplane 代理。

Windows 安装

  1. 以管理员身份打开命令提示符PowerShell
  2. 运行以下命令:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. 等待安装完成。

  4. 运行以下命令,验证安装是否成功:

    sc query observiq-otel-collector
    

该服务应显示为 正在运行

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
    
  3. 等待安装完成。

  4. 运行以下命令,验证安装是否成功:

    sudo systemctl status observiq-otel-collector
    

该服务应显示为有效(正在运行)

其他安装资源

如需了解其他安装选项和问题排查信息,请参阅 Bindplane 代理安装指南

配置 Bindplane 代理以注入 syslog 并将其发送到 Google SecOps

找到配置文件

  • Linux

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

修改配置文件

  • config.yaml 的全部内容替换为以下配置:

    receivers:
        tcplog:
            listen_address: "0.0.0.0:6514"
    
    exporters:
        chronicle/lookout_mes:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: LOOKOUT_MOBILE_ENDPOINT_SECURITY
            raw_log_field: body
            ingestion_labels:
                log_type: LOOKOUT_MOBILE_ENDPOINT_SECURITY
    
    service:
        pipelines:
            logs/lookout_mes_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/lookout_mes
    

配置参数

替换以下占位符:

  • 接收器配置

    • listen_address:要监听的 IP 地址和端口:
      • 0.0.0.0 监听所有接口
      • 建议使用端口 6514 来实现支持 TLS 的 syslog;如果需要,可使用 5141514
    • 建议使用 tcplog 接收器,因为 Lookout SIEM 连接器支持 TCP syslog,而 TCP 可可靠地传送 CEF 事件
  • 导出器配置

    • creds_file_path:提取身份验证文件的完整路径:
      • Linux/etc/bindplane-agent/ingestion-auth.json
      • WindowsC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id:您的 Google SecOps 客户 ID
    • endpoint:区域端点网址:
      • 美国malachiteingestion-pa.googleapis.com
      • 欧洲europe-malachiteingestion-pa.googleapis.com
      • 亚洲asia-southeast1-malachiteingestion-pa.googleapis.com
      • 如需查看完整列表,请参阅区域级端点

保存配置文件

  • 修改后,保存文件:

    • Linux:依次按 Ctrl+OEnterCtrl+X
    • Windows:依次点击文件 > 保存

重启 Bindplane 代理以应用更改

  • 如需在 Linux 中重启 Bindplane 代理,请运行以下命令:

    sudo systemctl restart observiq-otel-collector
    
    1. 验证服务是否正在运行:

      sudo systemctl status observiq-otel-collector
      
    2. 检查日志是否存在错误:

      sudo journalctl -u observiq-otel-collector -f
      
  • 如需在 Windows 中重启 Bindplane 代理,请选择以下选项之一:

    • 以管理员身份运行命令提示符或 PowerShell:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
  • 服务控制台:

    1. Win+R,输入 services.msc,然后按 Enter 键。
    2. 找到 observIQ OpenTelemetry 收集器
    3. 右键点击并选择重新启动
    4. 验证服务是否正在运行:

       ```cmd
       sc query observiq-otel-collector
       ```
      
    5. 检查日志是否存在错误:

       ```cmd
       type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
       ```
      

配置 Lookout Mobile Endpoint Security syslog 转发

Lookout MES 使用 SIEM 连接器应用通过 syslog 以 CEF 格式导出安全事件。SIEM 连接器会向 Lookout Mobile Risk API 进行身份验证,检索威胁事件,并以 CEF 格式的 syslog 消息将这些事件转发给您的 Bindplane 代理。

为 SIEM 连接器生成应用密钥

  1. 前往 https://app.lookout.com,登录 Lookout MES 控制台

  2. 在左侧导航栏中,依次前往系统 > 应用密钥

  3. 点击右上角的 Generate Key(生成密钥)。

  4. 标签字段中,输入一个描述性名称(例如 Bindplane-Chronicle-CEF)。

  5. 点击下一步

  6. 点击点击将应用密钥复制到剪贴板,复制生成的应用密钥。

    重要提示:请立即复制并保存应用密钥。关闭此对话框后,您将无法再次检索此密钥。

  7. 记录系统设置中的企业 GUID。这是您的唯一 Lookout 租户标识符。

安装和配置 Lookout SIEM 连接器

  1. 从 Lookout 帮助门户下载 Lookout SIEM 连接器应用,或联系 Lookout Enterprise 支持团队获取最新的分发软件包。
  2. 在可同时访问 Lookout API 端点 (https://api.lookout.com) 和 Bindplane 代理的主机上安装 SIEM 连接器。
  3. 打开 SIEM 连接器配置文件。
  4. 提供以下配置详细信息:

    • 应用密钥:您从 Lookout MES 控制台生成的应用密钥
    • 企业 GUID:您的 Lookout 租户标识符
    • API 基本网址https://api.lookout.com
    • 输出格式:选择 CEF
    • 传输协议:选择 TCP
    • Syslog 服务器主机:输入 Bindplane 代理主机(例如 192.168.1.100)的 IP 地址
    • Syslog 服务器端口:输入与 Bindplane 代理接收器配置相符的端口号(例如 6514
  5. 保存配置文件。

  6. 启动 SIEM 连接器服务。

验证 syslog 传送

  1. 检查 SIEM 连接器日志,确认事件是否正在从 Lookout Mobile Risk API 检索并转发到 Bindplane 代理。
  2. 在 Bindplane 代理主机上,检查代理日志以确认是否正在接收 CEF 事件:

    Linux

    sudo journalctl -u observiq-otel-collector -f
    

    Windows

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    
  3. 在 Google SecOps 控制台中,验证 Lookout Mobile Endpoint Security 事件是否显示在搜索结果中。

UDM 映射表

日志字段 UDM 映射 逻辑
deviceNtDomain about.administrative_domain 直接复制值
deviceExternalId about.asset.asset_id 由 device_vendor、device_product、deviceExternalId 连接而成
filePath about.file.full_path 来自 filePath 的值,如果不是哈希,则来自 fileHash
fileHash about.file.full_path
fname about.file.names 直接复制值
_hash about.file.sha256 来自 _hash 或 fileHash 的值
fileHash about.file.sha256
fsize about.file.size 已转换为 uinteger
dvchost about.hostname 直接复制值
dvc about.ip 从 dvc 中提取 IP,然后进行拆分和验证
dvcmac about.mac 直接复制值
deviceTranslatedAddress about.nat_ip 直接复制值
deviceProcessName about.process.command_line 来自 deviceProcessName、Subject、Emne 或 Path 的值
主题 about.process.command_line
Emne about.process.command_line
路径 about.process.command_line
dvcpid about.process.pid 直接复制值
filePermission about.resource.attribute.permissions 直接复制值
device_security_result about.security_result 直接复制值
已收到 metadata.collected_timestamp 根据“Received”标头解析,使用 yyyy-MM-ddTHH:mm:ss 日期格式
msg metadata.description 直接复制值
file_full_path metadata.event_type 如果设置了 file_full_path,则设置为 SCAN_UNCATEGORIZED;如果存在 principal_hostname、principal_ip、principal_mac,则设置为 STATUS_UPDATE;否则,设置为 GENERIC_EVENT;如果存在 has_principal_user,则设置为 USER_UNCATEGORIZED;如果存在 has_principal_host,则设置为 STATUS_UPDATE
principal_hostname metadata.event_type
has_principal_user metadata.event_type
principal_ip metadata.event_type
principal_mac metadata.event_type
device_event_class_id metadata.product_event_type 由 device_event_class_id - event_name 或 type 连接而成
event_name metadata.product_event_type
类型 metadata.product_event_type
externalId metadata.product_log_id 来自 externalId 或 target.id 的值
target.id metadata.product_log_id
device_product metadata.product_name 直接复制值
device_version metadata.product_version 直接复制值
device_vendor metadata.vendor_name 直接复制值
app_protocol_src network.application_protocol 根据预定义的协议规则,从 app_protocol_src 映射
deviceDirection network.direction 如果为 0,则设置为 INBOUND;如果为 1,则设置为 OUTBOUND
requestMethod network.http.method 直接复制值
requestClientApplication network.http.user_agent 直接复制值
proto network.ip_protocol 使用 IANA 协议编号从 protocol_number_src 映射
英寸 network.received_bytes 已转换为 uinteger
out network.sent_bytes 已转换为 uinteger
sntdom principal.administrative_domain 来自 sntdom、Domain 或 Domene 的值
网域 principal.administrative_domain
Domene principal.administrative_domain
sourceServiceName principal.application 来自 sourceServiceName 或 details.applicationName 的值
details.applicationName principal.application
帮助 principal.asset.asset_id 由 metadata.vendor_name、metadata.product_name 和 AID 连接而成
_hardware principal.asset.hardware 直接复制值
principal_hostname principal.asset.hostname 来自 principal_hostname 的值(来自 Device_name、Enhetsnavn、shost [如果不是 IP]、entName)
av principal.asset.platform_software.platform_version 直接复制值
agentZoneURI_label principal.asset.attribute.labels 从各种标签合并
agentTimeZone_label principal.asset.attribute.labels
agentType_label principal.asset.attribute.labels
agentReceiptTime_label principal.asset.attribute.labels
token_new principal.asset.attribute.labels
details.path principal.file.full_path 直接复制值
Group_name principal.group.group_display_name 来自 Group_name 或 Gruppenavn 的值
Gruppenavn principal.group.group_display_name
Device_name principal.hostname 来自 Device_name、Enhetsnavn、shost(如果不是 IP)或 entName 的值
Enhetsnavn principal.hostname
shost principal.hostname
entName principal.hostname
src principal.ip 如果 src 是有效的 IP,则返回 src 中的值;如果 src 是 IP,则返回 shost;否则返回 agt
shost principal.ip
agt principal.ip
smac principal.mac 直接复制值
sourceTranslatedAddress principal.nat_ip 直接复制值
sourceTranslatedPort principal.nat_port 转换为整数
target.platform principal.platform 如果为 IOS,则设置为 MAC;如果为 ANDROID,则设置为 ANDROID
target.osVersion principal.platform_version 直接复制值
spt principal.port 转换为整数
sproc principal.process.command_line 来自 sproc 或 about.process.command_line 的值
about.process.command_line principal.process.command_line
details.fileName principal.process.file.full_path 直接复制值
spid principal.process.pid 直接复制值
old_permissions principal.resource.attribute.permissions 直接复制值
target.type principal.resource.name 直接复制值
principal_role principal.user.attribute.roles 直接复制值
suser principal.user.user_display_name 如果 suser 中的值不为空,则为 suser 中的值,否则为 CustomerName
CustomerName principal.user.user_display_name
suid principal.user.userid 来自 suid 或 target.emailAddress 的值
target.emailAddress principal.user.userid
oldFilePath src.file.full_path 直接复制值
oldFileSize src.file.size 已转换为 uinteger
old_permissions src.resource.attribute.permissions 直接复制值
dntdom target.administrative_domain 直接复制值
destinationServiceName target.application 直接复制值
target_hostname target.asset.hostname 来自 target_hostname(来自 temp_dhost)的值
token_new target.asset.attribute.labels 从 token_new 合并
temp_dhost target.hostname 直接复制值
dst_ip target.ip 直接复制值
mac_address target.mac 直接复制值
destination_translated_address target.nat_ip 直接复制值
destinationTranslatedPort target.nat_port 转换为整数
dpt target.port 转换为整数
dproc target.process.command_line 直接复制值
file_full_path target.process.file.full_path file_full_path 中的值(来自 File_name、Object、Objekt、Infected_Resource)
dpid target.process.pid 直接复制值
请求 target.url 来自请求或 details.url 的值
details.url target.url
target_role target.user.attribute.roles 直接复制值
temp_duser target.user.user_display_name 来自 temp_duser 或 CustomerName 的值
CustomerName target.user.user_display_name
temp_duid target.user.userid 来自 temp_duid、User 或 Bruker 的值
用户 target.user.userid
Bruker target.user.userid
_action security_result.action 如果操作与 accept/notified/REDIRECTED_USER_MAY_PROCEED/Success 相匹配,则设置为 ALLOW;如果操作与 deny/blocked/BLOCKED/Failure/Failed 相匹配,则设置为 BLOCK;如果操作与 Failure 相匹配,则设置为 FAIL
act security_result.action_details 来自 act、details.action 或 Action_Taken 的值
details.action security_result.action_details
Action_Taken security_result.action_details
security_result.category_details 来自 cat 或 sec_result_category_details 的值
sec_result_category_details security_result.category_details
catdt_field security_result.detection_fields 从各种标签合并
categorySignificance_label security_result.detection_fields
categoryBehavior_label security_result.detection_fields
categoryDeviceGroup_label security_result.detection_fields
categoryOutcome_label security_result.detection_fields
categoryObject_label security_result.detection_fields
operation_label security_result.detection_fields
operasjon_label security_result.detection_fields
permission_label security_result.detection_fields
tillatelse_label security_result.detection_fields
infection_channel_label security_result.detection_fields
spyware_Grayware_Type_label security_result.detection_fields
threat_probability_label security_result.detection_fields
categoryOutcome_label security_result.outcomes 直接复制值
mwProfile security_result.rule_name 直接复制值
和程度上减少 security_result.severity 如果值为 0-3/LOW,则映射为 LOW;如果值为 4-6/MEDIUM/INFO/SUBSTANTIAL,则映射为 MEDIUM;如果值为 7-8/HIGH/SEVERE,则映射为 HIGH;如果值为 9-10/CRITICAL/VERY-HIGH,则映射为 CRITICAL
details.severity security_result.severity
reason security_result.summary 来自原因、appcategory 或结果的值
appcategory security_result.summary
结果 security_result.summary
间谍软件 security_result.threat_name 间谍软件、病毒/恶意软件名称或未知威胁的值
Virus_Malware_Name security_result.threat_name
Unknown_Threat security_result.threat_name
actor.type event.idm.read_only_udm.additional.fields 从变更日志映射
actor_type event.idm.read_only_udm.additional.fields 从变更日志映射
changeType event.idm.read_only_udm.additional.fields 从变更日志映射
id event.idm.read_only_udm.principal.resource.product_object_id 从变更日志映射
CustomerName event.idm.read_only_udm.target.user.userid 从变更日志映射
details.type", "details.packageSha", "details.packageName", "details.assessments", "details.activationStatus", "details.securityStatus", and "details.protectionStatus additional.fields 从变更日志映射
target.manufacturer principal.asset.hardware.manufacturer 从变更日志映射

更新日志

查看相应解析器的更改日志

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。