创建扩充 Playbook 区块

支持的服务:

本文档介绍了如何创建可在 Google Security Operations Playbook 中使用的可重复使用的区块,以使用来自各种第三方威胁情报和信息服务的数据来扩充实体(例如 IP、网域、文件哈希值和用户)。使用区块有助于提高多个 Playbook 的模块化程度、一致性,并简化维护工作。

核心概念

  • 实体 :提醒或事件中感兴趣的对象,例如 IP 地址、域名、文件哈希值、网址或用户名。
  • 扩充 :从外部数据源向实体添加上下文或信息的过程。这可以包括信誉得分、地理位置、WHOIS 数据、恶意软件分析结果或用户目录详细信息。
  • 区块 :Google SecOps 中可重复使用的一组操作和逻辑,类似于函数或子例程。您可以从多个 Playbook 调用区块,以减少重复。
  • 第三方情报服务 :提供数据以进行扩充的外部服务。示例包括 VirusTotal、Mandiant、AbuseIPDB、WHOIS 服务和内部自定义威胁 Feed。

设计扩充区块

在构建处理各种实体类型并查询多个第三方服务的区块之前,请查看以下原则和要求。

  • 输入 :区块通常对提醒的上下文中存在的实体进行操作。操作会自动以实体为目标,因此您通常不需要特殊的区块输入。
  • 输出 :区块通过添加包含扩充数据的新字段或属性来修改提醒上下文中的实体。它通常不需要返回特定的输出值。
  • 抽象原则
    • 与服务无关 :添加或移除情报来源。
    • 实体类型处理 :根据实体类型有条件地执行操作。
    • 可配置 :允许您切换来源和设置参数。例如,通过集成设置或环境变量设置可疑标志的阈值。

创建扩充区块

本部分介绍了如何创建扩充区块。

定义区块

此示例会创建一个名为 TPI_Enrich_Entities(第三方情报扩充实体)的区块。

如需定义区块,请按以下步骤操作:

  1. 依次前往响应 > Playbook
  2. 点击 添加 ,然后选择 区块
  3. 输入区块的名称:TPI_Enrich_Entities
  4. 提供清晰的说明:Enriches entities (IPs, domains, hashes, URLs) using various third-party intelligence services
  5. 除非服务密钥特定于环境,否则让该区块可用于所有环境。

添加扩充操作

如需向区块添加扩充操作,请根据需要从每个第三方服务的操作 集中拖动以下操作(和其他服务):

  • VirusTotal v3
    • Enrich Hash
    • Enrich IP
    • Enrich Domain
    • Enrich URL
  • Mandiant Threat Intelligence:
    • Mandiant Enrich Entities 此操作通常会在内部处理多种实体类型。
  • AbuseIPDB:
    • Enrich IP

配置操作

如需配置操作,请按以下步骤操作:

  1. 双击每个步骤以配置其参数。
  2. 为需要该区块的环境选择适当的集成实例。如果您的集成不在共享环境中,请使用动态
  3. 阈值 :对于 VirusTotal 等服务,请设置适当的检测阈值(例如:engine_threshold)。
  4. 范围 :大多数扩充操作会自动在提醒中的所有相关实体上运行。

错误处理

如需将区块配置为处理错误,请执行以下操作:

  • 在每个操作的设置中,开启失败时重试 滑块。通常,最好允许对扩充操作至少重试一次,以防第三方出现任何自我纠正的网络或负载问题。进一步重试将取决于您的 API 配额和第三方集成方面的主题专业知识。
  • 配置如果操作失败 选项。通常,最好将其设置为跳过 ,以防止一项服务失败而停止整个扩充过程。您可以手动查看任何失败的步骤。

保存区块

完成区块设置后,请保存该区块以添加到 Playbook 区块。

扩展区块

如需通过添加新的扩充来源来扩展区块,请按以下步骤操作:

  1. 验证是否已在内容中心安装并配置新服务的集成。
  2. 打开 TPI_Enrich_Entities 区块进行修改。
  3. 通过将相关扩充操作从集成拖动到区块中来添加操作
  4. 定义新操作的参数和特定设置。
  5. 使用与新来源相关的实体测试 区块。

在 Playbook 中使用扩充区块

如需在 Playbook 中使用区块,请按以下步骤操作:

  1. 打开要添加扩充的 Playbook。这通常适用于大多数 Playbook。
  2. Playbook 编辑器中,前往区块 标签页。
  3. TPI_Enrich_Entities 区块拖动到 Playbook 流中,通常是在触发器和初始分类步骤之后。 区块实例通常不需要特殊参数,因为它会对提醒的实体执行操作。

示例:默认 Playbook 流

  1. 触发器:所有提醒

  2. 操作:将事件阶段设置为 Triage

  3. 运行区块: TPI_Enrich_Entities

  4. 操作:继续进行人工审核或其他分析。

问题排查

问题 建议
扩充数据未显示
  • 查看事件 Playbook 执行日志或事件墙,了解区块操作中的错误。
  • 确认提醒实体与区块支持的类型匹配。
  • 验证您是否未超出 API 速率限制。
操作失败
  • 查看执行日志中的错误消息。常见问题可能包括网络问题、API 密钥无效或服务中断。
  • 由于操作在失败时设置为 `Skip`,因此其他服务应仍会运行。
意外数据
  • 查看扩充操作的原始 JSON 输出,了解其结构。
  • 根据需要调整任何自定义字段映射或显示小部件。

最佳做法

以下是使用区块的建议做法。

安全

在设置中安全地管理您的 API 密钥。请勿在 Playbook 或区块中硬编码任何凭据。

提升效率

  • 监控每个第三方服务的 API 速率限制。
  • 避免过度调用。
  • 集成通常会在内部处理实体类型过滤。

数据处理

  • 为字段名称添加前缀 :向实体添加扩充数据时,请使用来源名称作为键前缀。这是为了避免冲突并提供清晰度。许多集成会自动执行此操作。如果您手动解析数据,请添加前缀,例如 VT_DetectionRatioMDT_ScoreAIPDB_Confidence
  • 标准化 :虽然在区块内进行完全标准化可能很复杂,但请注意不同的数据格式。尽可能确保数据格式的一致性。
  • JSON 结果 :许多操作都会返回 JSON。使用内置的 JSON 路径表达式从返回 JSON 的操作中提取关键信息。

维护

  • 将集成更新到最新版本。
  • 定期查看每个第三方服务的有效性和可靠性。
  • 在区块说明中记录包含的服务。

测试

  • 使用包含不同实体类型的各种提醒场景测试区块。
  • 验证区块是否正确添加了扩充数据并妥善处理了失败。

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