使用事件模拟评估检测覆盖率

本指南面向检测工程团队和 SOC 团队,这些团队希望使用 事件模拟以编程方式将真实的威胁序列传递到实时提取流水线中。事件模拟是一种威胁模拟和检测覆盖率评估框架,直接嵌入在 Google Security Operations 中。作为 检测工程智能体 (DEA) 架构的基础功能,事件模拟可验证从遥测数据提取和标准化到多事件关联和提醒的检测生命周期,同时保留运营 SOC 工作流程。

通过将 Google SecOps MCP 工具 与 AI 辅助工具(例如 Gemini 或 Claude Code)连接,事件模拟可自动执行检测工程生命周期:提取原始威胁报告、将威胁策略构建为可执行的威胁检测机会 (TDO)、合成真实的统一数据模型 (UDM) 遥测数据、评估现有 YARA-L 2.0 规则在单事件、多事件和复合规则中的覆盖率,以及起草新检测规则以弥补已发现的安全漏洞。

主要用例

事件模拟和检测工程智能体 (DEA) 支持以下核心工作流程:

  • 实时流水线提取和标准化测试:以编程方式直接通过实时提取流水线、上下文丰富模块和实体图流式传输合成的统一数据模型 (UDM) 遥测数据,以实现完整的端到端检测准备。
  • 持续威胁覆盖率和回归验证:针对特定的攻击者策略、技术和程序 (TTP) 评估托管和自定义 YARA-L 2.0 规则,在生产环境部署之前,在规则集上建立自动化单元测试和持续回归测试。
  • 合成遥测数据生成:生成模拟复杂攻击链(例如 Web 应用利用、凭据访问或横向移动)的架构有效的 UDM 事件,以便在实际生产环境中测试规则。

主要福利和价值主张

  • 主动安全状况和威胁验证:在发生实际突发事件之前,针对新披露的漏洞和威胁行为者行为测试 YARA-L 2.0 规则。
  • 直接合成和提取保证:直接从通过实时 Google SecOps 提取流水线 (ImportEvents) 流动的威胁情报文本合成架构有效的 UDM 事件,以进行完整的标准化、字段对齐和上下文丰富。
  • 隔离遥测数据和生产安全:事件模拟生成的合成事件会使用模拟元数据(SIMULATION 提取标签)进行标记,并生成标记为 INCLUDES_SIMULATION_DATA 的检测结果。模拟数据生成的检测结果会自动从生产案例、playbook、风险分析 (RBA) 流和提醒分类信息中心中排除。

了解事件模拟概念和架构

事件模拟和检测工程智能体 (DEA) 框架的以下核心组件对于部署至关重要:

  • 威胁检测机会 (TDO):一种正式的数据模型,充当单元测试,用于识别、确定优先级和分类从威胁情报报告或自然语言描述中提取的特定攻击者 TTP。TDO 标识符遵循严格的格式要求(例如 t01t02,与正则表达式 ^[a-zA-Z]\d{2}$ 匹配)。
  • 合成 UDM 事件:严格按照 Google SecOps 统一数据模型 (UDM) 架构格式化的机器生成的日志事件。这些事件模拟了使用 ImportEvents 测试检测规则逻辑所需的特定攻击者操作。
  • 模拟标签和提醒标记:合成事件带有提取标签 (metadata.ingestion_labels["SIMULATION"])。在 Collection 原型中,模拟数据生成的检测结果在 tags 下标记为 INCLUDES_SIMULATION_DATA。检测元数据原型字段包括 simulated_event_count(促成检测的模拟事件总数)和 simulated_event_names(促成事件的 SIMULATION 标签值集)。
  • 数据可见性和搜索抑制:标准 Google SecOps UDM 搜索默认会抑制带有模拟标签的事件。搜索查询和界面视图可以使用 simulated_data_visibility 配置参数或用户偏好设置开关显式包含模拟数据。
  • 长时间运行的操作 (LRO):一种异步后端执行机制 (evaluate_rule_coverage_long_running),用于编排按需规则执行批次,而不会遇到 API HTTP 超时。

准备工作

事件模拟与检测工程智能体工具包共享底层环境前提条件、IAM 权限和服务器设置。在开始之前,请确认满足以下前提条件:

如何注入合成遥测数据

可以使用 MCP 智能体工具包或直接 Chronicle API 调用将合成遥测数据注入到 Google SecOps 中:

  1. MCP 子智能体调用:使用目标威胁检测机会 (TDO) ID 和行为规范调用 generate_synthetic_events 工具。
  2. Chronicle API 端点:使用 ImportEvents REST API 端点 (POST /v1alpha/projects/{project}/locations/{location}/instances/{instance}/events:import) 以编程方式流式传输合成 UDM 事件。
  3. 模拟标签:直接调用 ImportEvents API 时,调用方必须手动在请求载荷中添加包含键 "SIMULATION" 和唯一模拟或测试运行标识符作为值的 metadata.ingestion_labels(例如 "key": "SIMULATION", "value": "TEST123""t01")。API 不会自动填充模拟标签。

UDM 提取调用示例

HTTP 请求:

POST https://chronicle.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/events:import

请求正文:

{
  "events": [
    {
      "metadata": {
        "event_type": "PROCESS_LAUNCH",
        "event_timestamp": "2026-08-05T20:00:00Z",
        "ingestion_labels": [
          {
            "key": "SIMULATION",
            "value": "TEST123"
          }
        ]
      },
      "principal": {
        "user": {
          "userid": "victim_user"
        }
      },
      "target": {
        "process": {
          "command_line": "powershell.exe -ExecutionPolicy Bypass -File dump.ps1"
        }
      }
    }
  ]
}

事件模拟使用 ImportEvents 直接注入合成的 UDM 事件,评估 UDM 标准化、上下文丰富和规则检测;在检测工程智能体 (DEA) 工具中生成合成事件期间测试原始日志解析。

为合成测试数据配置用户偏好设置

如需在 Google SecOps 中通过界面、API 或 MCP 工具查看合成测试事件和模拟提醒,请根据您的界面配置可见性:

Google SecOps 控制台

如需在 SIEM 搜索 页面或界面控制台中查看合成事件,请执行以下操作:

  1. 在 Google SecOps 控制台中,点击导航栏中的个人资料头像,然后选择用户偏好设置
  2. 前往数据可见性
  3. 显示合成测试数据 设置为开启
  4. 点击保存

Chronicle API

对于程序化 API 查询,在使用 Chronicle API 查询 UDM 搜索、规则或检测端点时,请提供 simulated_data_visibility = "SIMULATED_DATA_INCLUDED"

{
  "query": "metadata.event_type = \"USER_LOGIN\"",
  "simulated_data_visibility": "SIMULATED_DATA_INCLUDED"
}

支持的 simulated_data_visibility 参数枚举值:

  • SIMULATED_DATA_EXCLUDED(默认值):抑制带有模拟标签的事件和提醒。
  • SIMULATED_DATA_INCLUDED:在查询结果中返回生产数据和合成测试数据。

Google SecOps MCP 服务器

使用 MCP 客户端(例如 Gemini CLI 或 AntiGravity)与 Google SecOps 互动时,请在工作区上下文文件 (Gemini.mdsettings.json) 中配置租户级模拟可见性:

使用 GoogleSecOps MCP 服务器时,请为所有 UDM 搜索、规则评估和检测查询工具设置 simulated_data_visibility = "SIMULATED_DATA_INCLUDED"

了解下游系统隔离

为确保在 Google SecOps 中正确处理测试数据,事件模拟会为下游组件强制执行清晰的隔离边界:

系统或功能 合成数据处理 隔离机制
检测和提醒存储区 隔离并标记 Collection 原型中,模拟遥测数据生成的检测结果在 tags 下标记为 INCLUDES_SIMULATION_DATA,并包含检测元数据原型字段 simulated_event_countsimulated_event_names。除非请求 simulated_data_visibility = "SIMULATED_DATA_INCLUDED",否则会从标准检测读取和列表 API 中抑制。
UDM 搜索和信息中心 默认隐藏 除非指定 simulated_data_visibility = "SIMULATED_DATA_INCLUDED",否则会过滤。
案例和突发事件分类 已排除 带有模拟标签的检测结果会自动跳过案例创建。
Playbook 和 SOAR 自动化 已排除 自动化 SOAR playbook 不会针对模拟提醒触发。
风险分析 (RBA) 已排除 流式风险得分汇总流水线会丢弃带有模拟标签的事件。
威胁搜寻智能体 (THA) 已排除 威胁搜寻数据集查询会自动抑制带有模拟标签的遥测数据。

智能体套件和工具功能

事件模拟利用了 Google SecOps MCP 服务器公开的子智能体工具功能。如需详细了解可用的子智能体工具(包括 generate_threat_detection_opportunitygenerate_synthetic_eventsevaluate_rule_coverage_long_runningget_operationgenerate_rulescreate_rule)、关键输入和输出架构,请参阅 使用检测工程智能体评估威胁覆盖率

了解检测工程生命周期和工作流程

端到端事件模拟检测工程工作流程遵循结构化的多阶段生命周期:

  1. 情报处理和遥测数据提取:将原始威胁情报文本传递给 generate_threat_detection_opportunity 以提取结构化的 TDO(例如 t01t02),应用预检时间戳偏移,并调用 generate_synthetic_events 以通过实时 Google SecOps 提取流水线 (ImportEvents) 流式传输带有 SIMULATION 标签的 UDM 日志。
  2. 异步覆盖率评估:执行 evaluate_rule_coverage_long_running 以评估合成遥测数据中的 YARA-L 2.0 规则覆盖率,轮询 get_operation 直到完成以检索规则匹配矩阵。
  3. 漏洞修复和规则生命周期管理:针对任何未覆盖的 TDO 调用 generate_rules 以生成经过验证的 YARA-L 2.0 规则草稿,并使用 create_rule 将审核后的规则部署到生产环境。

如需详细了解每个检测生命周期阶段的工具调用载荷和完整代码示例,请参阅使用检测工程智能体评估威胁覆盖率

问题排查

本部分包含一些常见的问题排查问题及其解答。

按照设计,标准 Google SecOps UDM 搜索会抑制带有 SIMULATION 提取标签的事件,以保持 SOC 运营卫生。如需在 UDM 搜索或界面控制台中查看合成事件,请确保在用户偏好设置中启用显示合成测试数据,或在查询请求中设置simulated_data_visibility = "SIMULATED_DATA_INCLUDED"

问:如何防止模拟数据生成的检测结果提醒 SOC 分析师?

当规则针对合成事件触发时,后端编译器会使用 INCLUDES_SIMULATION_DATA 标记生成的检测结果。默认情况下,带有此标签的检测结果会从生产案例、Playbook、风险分析 (RBA) 和提醒分类信息中心中排除。

问:为什么 evaluate_rule_coverage_long_running 为我的合成事件返回 0 个匹配项?

验证您的合成事件时间戳是否在滚动 1 小时执行窗口 ([StartTime - 1 hour, StartTime]) 内。确保您的 TDO ID 符合所需的正则表达式 (^[a-zA-Z]\d{2}$,例如 t01)。

问:应如何处理原子指标(IP 地址、域名、文件哈希)与行为规则?

使用 Google SecOps IOC 匹配或数据表管理原子指标,而不是直接将静态 IP 地址或哈希值硬编码到 YARA-L 2.0 检测规则中。为行为模式和 TTP 关联保留 YARA-L 2.0。

问:TDO 覆盖率评估调用的最大批次大小是多少?

为优化性能并符合 API 网关参数,批次覆盖率评估请求限制为每个 evaluate_rule_coverage_long_running 调用最多三个 TDO 或 40 个合成事件。

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