利用搜索功能,调查检测结果
本指南适用于希望在 Google Security Operations 搜索中查询、过滤和分析检测结果的安全分析师。借助此功能,您可以使用任何检测属性搜索所有提醒和非提醒检测结果,并获得用于调查威胁的整体工作流。
常见使用场景
本部分列出了一些常见使用场景。
基于实体的威胁搜寻
目标: 确定在特定时间段内由特定实体(例如,主要 IP 地址或主机名)触发的所有检测结果,这些检测结果来自不同的规则。
价值: 帮助您识别在整个环境中持续生成提醒的受侵实体。您无需手动检查各个规则,只需执行一次搜索即可查看实体可疑活动的完整范围。
精细的属性分析
目标: 根据特定字段(例如特定网络连接类型或日志来源)而非仅根据规则名称搜索检测结果。
价值: 能够在检测字段中进行有针对性的搜索。由于多个规则可能会针对类似的网络行为触发,因此按特定属性进行搜索有助于您隔离相关安全发现结果,否则这些结果可能会隐藏在不同的规则集中。
突发事件范围标识
目标: 量化特定事件在过去一个月内导致检测或提醒的次数。
价值: 帮助您了解特定威胁的频率和严重程度。这有助于您确定攻击的完整场景,并确定检测结果是持续性威胁还是孤立事件。
主要术语
搜索: Google SecOps 中的核心搜索功能,用于分析安全遥测数据。
检测结果: 系统根据应用于原始日志和 UDM 事件的规则生成的安全发现结果。
准备工作
您必须拥有分配给用户账号的标准 SecOps 搜索 权限和角色 ,才能执行查询和查看检测结果详细信息。
对检测结果执行搜索
依次点击调查 > 搜索 。
在搜索 字段中,输入搜索查询。系统会显示与搜索查询匹配的检测结果。
您可以使用以下功能分析搜索结果:
检测结果表: 显示所选检测结果的所有关联事件的详细视图,以便进行彻底调查。
汇总面板: 通过对字段值进行分组来提供查询结果的摘要视图,让您能够识别数据分布和模式。
列管理器: 通过允许您选择要显示的特定字段来自定义数据表界面。
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 专业人士的解答。已更新。请注意,本部分是我们遵循的基于新历程的文档模板的一部分。