收集 ThreatDown EDR 日志
本文档介绍了如何配置 ThreatDown EDR(Nebula 和 OneView),以使用 Webhook 将日志推送到 Google Security Operations。
ThreatDown EDR 由 Malwarebytes 提供支持,可提供端点检测和响应功能,包括威胁检测、可疑活动监控和端点保护。Nebula 平台适用于单租户环境,而 OneView 是面向 MSP 的多租户管理控制台。这两个平台都支持与 Google Security Operations 的原生集成,可使用 MALWAREBYTES_EDR 日志类型将检测数据和可疑活动数据导出为统一数据模型 (UDM) 事件。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- ThreatDown EDR(Nebula 或 OneView)支持通过 Webhook 传送日志
- 对 Google Cloud Console 的访问权限(用于创建 API 密钥)
- 对于 Nebula:在 Nebula 控制台中拥有超级用户访问权限,并且拥有有效的 Nebula 账号,该账号已有效订阅终端检测和响应服务
- 对于 OneView:在 OneView 控制台中具有全局管理员访问权限,并且具有针对端点检测和响应的有效订阅的网站
- 拥有对 Google Cloud 项目的管理员访问权限,以便生成 Google Cloud Platform API 密钥
- 对 Google Chronicle SIEM 的管理员访问权限
在 Google SecOps 中创建 Webhook Feed
创建 Feed
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称(例如
Malwarebytes)。 - 选择 Webhook 作为来源类型。
- 选择 Malwarebytes EDR 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- 拆分分隔符(可选):留空。ThreatDown 发出的每个 webhook 请求都包含结构化事件数据。
- 资产命名空间:资产命名空间
- 注入标签:要应用于此 Feed 中事件的标签
- 点击下一步。
- 在最终确定界面中查看新的 Feed 配置,然后点击提交。
获取 Feed 端点网址
- 前往相应 Feed 的详细信息标签页。
- 在端点信息部分,复制 Feed 端点网址。
网址格式为:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate或
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate保存此网址以供后续步骤使用。
生成并保存密钥
创建 Feed 后,您必须生成用于身份验证的密钥:
- 前往 Feed 的密钥标签页。
- 点击 Generate Secret Key(生成 Secret Key)。
- 系统会显示一个对话框,其中包含密钥。
复制并妥善保存此密钥。
重要提示:密钥只会显示一次,之后无法再检索。如果您丢失了密钥,必须生成新的密钥。
点击完成。
创建 Google Cloud API 密钥
ThreatDown 与 Google SecOps 的集成需要 Google Cloud Platform (GCP) API 密钥。
创建 API 密钥
- 前往 Google Cloud 控制台的“凭据”页面。
- 选择您的项目(与您的 Chronicle 实例关联的项目)。
- 依次点击创建凭据> API 密钥。
- 系统会创建一个 API 密钥,并在对话框中显示该密钥。
- 复制 API 密钥并妥善保存。
- 在弹出式窗口中,点击修改 API 密钥。
限制 API 密钥
- 在 API 密钥设置页面中:
- 名称:输入一个描述性名称(例如
Chronicle Webhook API Key)
- 名称:输入一个描述性名称(例如
- 选择限制密钥。
在下拉菜单中,选择 Chronicle API。
点击保存。
配置 ThreatDown EDR 网络钩子
ThreatDown 在 Nebula 和 OneView 控制台的集成页面上提供原生 Google Chronicle SIEM 集成。请选择与您的平台相符的下方部分。
选项 A:配置 Nebula
- 使用超级用户凭据登录 cloud.malwarebytes.com 上的 ThreatDown Nebula 控制台。
- 前往左侧导航菜单中的集成页面。
- 找到 Google Chronicle SIEM,然后点击配置。
- 提供以下配置详细信息:
- 网络钩子网址:粘贴从 Google SecOps Feed 详情页面的端点信息字段复制的网址。
- Webhook Secret:粘贴从“Google SecOps Feed Secret Key”标签页生成的密钥。
- GCP API 密钥:粘贴从 Google Cloud 获取的 API 密钥。
- 点击保存。
保存后,Nebula 会开始将检测和可疑活动日志直接导出到 Google SecOps。
选项 B:配置 OneView
- 使用全局管理员凭据登录 cloud.malwarebytes.com 上的 ThreatDown OneView 控制台。
- 前往左侧导航菜单中的集成页面。
- 找到 Google Chronicle SIEM,然后点击配置。
- 开启启用设置。
- 提供以下配置详细信息:
- 网络钩子网址:粘贴从 Google SecOps Feed 详情页面的端点信息字段复制的网址。
- Webhook Secret:粘贴从“Google SecOps Feed Secret Key”标签页生成的密钥。
- GCP API 密钥:粘贴从 Google Cloud 获取的 API 密钥。
- 网站选择:选择要从中注入数据的网站。
- 点击保存。
保存后,OneView 会开始将所选网站的检测日志和可疑活动日志直接导出到 Google SecOps。
验证日志注入
配置集成后,验证 ThreatDown EDR 日志是否正在被提取到 Google SecOps 中:
- 在 Google SecOps 中,依次前往调查 > SIEM 搜索。
输入以下 UDM 搜索查询:
metadata.vendor_name = "Malwarebytes" and metadata.log_type = "MALWAREBYTES_EDR"选择所需的日期范围。
点击运行搜索。
点击活动标签页。从 ThreatDown EDR 提取的数据会使用统一数据模型 (UDM) 显示。
Webhook 限制和最佳实践
请求限制
| 限制 | 值 |
|---|---|
| 最大请求大小 | 4 MB |
| 最大 QPS(每秒查询次数) | 15000 |
| 请求超时 | 30 秒 |
| 重试行为 | 自动(使用指数退避算法) |
需要更多帮助?
- 启用 Nebula 与 Google Chronicle SIEM 的集成 - support.threatdown.com
- 启用 OneView 与 Google Chronicle SIEM 的集成 - support.threatdown.com
- Requirements for Nebula integration with Google Chronicle SIEM - support.threatdown.com
- OneView 与 Google Chronicle SIEM 集成的要求 - support.threatdown.com
- “ThreatDown Nebula and OneView with Google Chronicle SIEM”博文 - threatdown.com
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
| payload.payload.sa_details.data.list.0.details.0.detected_by.0.description | metadata.description | 直接复制值 |
| has_principal | metadata.event_type | 最初设置为“GENERIC_EVENT”,然后如果具有正文和目标文件,则设置为“SCAN_FILE”;如果具有正文,则设置为“STATUS_UPDATE”;如果具有用户,则设置为“USER_UNCATEGORIZED”;否则设置为“GENERIC_EVENT” |
| has_user | metadata.event_type | |
| has_target_file | metadata.event_type | |
| 类型 | metadata.product_event_type | 直接复制值 |
| id | metadata.product_log_id | 直接复制值 |
| machine.id | principal.asset.asset_id | 由“MACHINE:”和 machine.id 串联而成 |
| machine.name | principal.asset.hostname | 直接复制值 |
| payload.payload.group_name | principal.group.group_display_name | 直接复制值 |
| account.default_group_id | principal.group.product_object_id | 直接复制值 |
| machine.name | principal.hostname | 直接复制值 |
| account.id | principal.user.product_object_id | 直接复制值 |
| account.name | principal.user.user_display_name | 直接复制值 |
| account.owner_user_id | principal.user.userid | 直接复制值 |
| payload.payload.category | security_result.category_details | 直接复制值 |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.name | security_result.detection_fields | 将每个集合标记为具有键的标签,然后进行合并 |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.description | security_result.detection_fields | |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.hyperlink | security_result.detection_fields | |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.tag | security_result.detection_fields | |
| payload.payload.policy_id | security_result.detection_fields | |
| payload.payload.policy_name | security_result.detection_fields | |
| payload.id | security_result.detection_fields | |
| payload.payload.sa_details.data.list.0.details.0.detected_by.0.tag | security_result.summary | 直接复制值 |
| payload.payload.threat_name | security_result.threat_name | 直接复制值 |
| payload.payload.sa_details.data.list.0.user | target.administrative_domain | 使用 grok 模式提取以获取网域 |
| payload.payload.path | target.file.full_path | 直接复制值 |
| payload.payload.sa_process_graph.data.children.0.children.0.node_info.process_path | target.process.file.full_path | 直接复制值 |
| payload.payload.sa_process_graph.data.children.0.node_info.process_path | target.process.parent_process.file.full_path | 直接复制值 |
| payload.payload.sa_process_graph.data.children.0.node_info.process_id | target.process.parent_process.pid | 直接复制值 |
| payload.payload.sa_process_graph.data.children.0.children.0.node_info.process_id | target.process.pid | 直接复制值 |
| payload.payload.sa_details.data.list.0.user | target.user.userid | 使用 grok 模式提取,以获取 tar_user |
| metadata.product_name | metadata.product_name | 设置为“Malwarebytes EDR” |
| metadata.vendor_name | metadata.vendor_name | 设置为“Malwarebytes” |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。