利用搜索功能,调查检测结果

支持的环境:

本指南适用于希望在 Google Security Operations 搜索中查询、过滤和分析检测结果的安全分析师。借助此功能,您可以使用任何检测属性搜索所有提醒和非提醒检测结果,并获得用于调查威胁的整体工作流。

常见使用场景

本部分列出了一些常见使用场景。

基于实体的威胁搜寻

目标: 确定在特定时间段内由特定实体(例如,主要 IP 地址或主机名)触发的所有检测结果,这些检测结果来自不同的规则。

价值: 帮助您识别在整个环境中持续生成提醒的受侵实体。您无需手动检查各个规则,只需执行一次搜索即可查看实体可疑活动的完整范围。

精细的属性分析

目标: 根据特定字段(例如特定网络连接类型或日志来源)而非仅根据规则名称搜索检测结果。

价值: 能够在检测字段中进行有针对性的搜索。由于多个规则可能会针对类似的网络行为触发,因此按特定属性进行搜索有助于您隔离相关安全发现结果,否则这些结果可能会隐藏在不同的规则集中。

突发事件范围标识

目标: 量化特定事件在过去一个月内导致检测或提醒的次数。

价值: 帮助您了解特定威胁的频率和严重程度。这有助于您确定攻击的完整场景,并确定检测结果是持续性威胁还是孤立事件。

主要术语

  • 搜索: Google SecOps 中的核心搜索功能,用于分析安全遥测数据。

  • 检测结果: 系统根据应用于原始日志和 UDM 事件的规则生成的安全发现结果。

准备工作

您必须拥有分配给用户账号的标准 SecOps 搜索 权限和角色 ,才能执行查询和查看检测结果详细信息。

对检测结果执行搜索

  1. 登录 Google SecOps

  2. 依次点击调查 > 搜索

  3. 搜索 字段中,输入搜索查询。系统会显示与搜索查询匹配的检测结果。

    您可以使用以下功能分析搜索结果:

    • 检测结果表: 显示所选检测结果的所有关联事件的详细视图,以便进行彻底调查。

    • 汇总面板: 通过对字段值进行分组来提供查询结果的摘要视图,让您能够识别数据分布和模式。

    • 列管理器: 通过允许您选择要显示的特定字段来自定义数据表界面。

    • CSV 下载: 将当前结果集导出到逗号分隔值 (CSV) 文件中,以供外部使用。

    • 分页: 将大型结果集划分为可管理的部分,以优化呈现和导航,而不会使显示内容过多。

如需详细了解查询检测结果时可用的字段,请参阅检测结果架构参考

搜索查询示例

本部分列出了用于搜索检测结果的查询示例。

  • 查找来自特定规则的所有检测结果

      detection.detection.rule_name = ""
    
  • 查找所有提醒检测结果

      detection.detection.alert_state = "ALERTING"
    
  • 查找所有严重程度为中等的 GCTI 检测结果

    
      detection.type = "GCTI_FINDING" AND detection.detection.severity = "MEDIUM"
    
    
  • 查找源自 SOAR 提醒或与 SOAR 提醒相关的所有检测结果

    
      detection.id_namespace = "SOAR_ALERT"
    
    
  • 查找在特定时间(纳秒级精度)之后创建的所有检测结果,并将反馈优先级设置为“严重”

    
      detection.created_time.nanos > 621828000 AND detection.feedback_summary.priority = "PRIORITY_CRITICAL"
    
    
  • 查找调查原因标记为“恶意”的所有检测结果

    
      detection.investigation.reason = "REASON_MALICIOUS"
    
    
  • 基本检测结果搜索

    
      detection.detection.rule_name != ""
    
      detection.detection.rule_type = "SINGLE_EVENT"
    
      detection.detection.rule_name = /.+/
    
    
  • 导出到数据表

    
      detection.detection.rule_name = /.+/
    
      outcome:
        $x = detection.id
      export:
      %new_detection_table.write_row(
        testing: $x
      )
    
    
  • 统计查询(搜索汇总结果)

    
      detection.detection.rule_name != ""
      match:
      detection.detection.rule_name
      outcome:
      $detection_count = count(detection.id)
      order:
      $detection_count desc
    
    

启用程序化 API

用于搜索检测结果的程序化 API 遵循与标准搜索操作相同的结构和工作流。如需了解详情,请参阅 异步搜索 API

查询示例:


  google.cloud.chronicle.v1main.SearchRequest {
    parent: "projects/202560381606/locations/us/instances/ebdc4bb9-878b-11e7-8455-10604b7cb5c1"
    query: "detection.id != \"\""
    time_range: {
      start_time: {
        seconds: 1776338958
      }
      end_time: {
        seconds: 1776417358
      }
    }
    dialect: YL2
    result_limit: 3
  }

指定集合数据中的字段进行排序时,请在字段名称前添加 detection 前缀。例如,使用 detection.id 而不是 collection.id

查询示例:


  google.cloud.chronicle.v1main.ListSearchedResultsRequest {
    parent: "projects/202560381606/locations/us/instances/ebdc4bb9-878b-11e7-8455-10604b7cb5c1/searchSessions/s-lro-981b7e6b-4031-4e69-98f6-91029685786c"
    order_by: "detection.id"
  }

延迟时间和限制

  • 对于检测结果的标准搜索,系统最多支持 10 万个结果;对于统计搜索(仅限界面和长时间运行的操作 API),系统最多支持 10 万个结果。

  • 查询支持的最长时间范围为一年。

  • 系统不支持涉及检测结果字段的联接。

  • 检测结果搜索受标准搜索限制和配额的约束

  • 检测结果表仅显示与检测结果相关的事件和实体。

已知问题

搜索检测结果时,结果表中不会显示案例名称。虽然您可以点击特定行以打开 提醒查看器来查看案例名称,但无法直接按案例名称查询检测结果。 例如,以下查询会返回空结果:


  detection.case_name != ""

问题排查

查看这些限制和配额,以排查平台行为方面的问题。

错误修复

下表列出了具体问题以及可采取的修复措施。

问题 说明 修复措施
超出结果限制 查询返回的结果超过 10 万个(或统计查询返回的结果超过 1 万个)。 使用过滤条件优化搜索查询,或缩短时间范围以缩小数据集。
超出时间范围 搜索范围超过 365 天。 调整搜索参数中的开始时间和结束时间,使时间范围不超过一年。
API 排序错误 使用集合 proto 字段时排序失败。 确保排序字段以 detection. 而不是 collection. 为前缀。

验证和测试

如需确定是否启用了检测结果搜索,请检查输入查询后运行搜索 按钮是否保持停用状态。如果是,请与支持团队联系。

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。已更新。请注意,本部分是我们遵循的基于新历程的文档模板的一部分。