利用搜索功能,调查检测结果
本指南适用于希望在 Google Security Operations 搜索功能中查询、过滤和分析检测结果的安全分析师。借助此功能,您可以使用任何检测属性搜索所有会触发提醒的检测和不会触发提醒的检测,并获得全面的威胁调查工作流程。
常见使用场景
本部分列出了一些常见的使用场景。
基于实体的威胁搜寻
目标:确定在一段时间内,特定实体(例如,主 IP 地址或主机名)在不同规则中触发的所有检测。
价值:可帮助您识别在整个环境中持续生成提醒的遭入侵实体。您无需手动检查各个规则,只需执行一次搜索,即可查看实体的可疑活动的完整范围。
精细的属性分析
目标:根据特定字段(例如特定网络连接类型或日志来源)而非仅根据规则名称来搜索检测结果。
值:可在检测字段中启用有针对性的搜索。由于多条规则可能会因类似的网络行为而触发,因此按特定属性进行搜索有助于您隔离相关安全发现结果,否则这些结果可能会分散在不同的规则集中。
突发事件范围识别
目标:量化特定事件在过去一个月内导致检测或提醒的次数。
价值:可帮助您了解特定威胁的频次和严重程度。这有助于您确定攻击的完整场景,并确定检测到的威胁是持续性威胁还是孤立事件。
主要术语
搜索:Google SecOps 中用于分析安全遥测数据的核心搜索功能。
检测:系统根据应用于原始日志和 UDM 事件的规则生成的安全发现结果。
准备工作
您必须拥有分配给用户账号的标准 SecOps 搜索权限和角色,才能执行查询和查看检测详情。
针对检测结果执行搜索
依次点击调查 > 搜索。
在搜索字段中,输入搜索查询。系统会显示与搜索查询匹配的检测结果。
您可以使用以下功能分析搜索结果:
“Detections”表格:显示所选检测的所有关联事件的详细视图,以便进行全面调查。
“汇总”面板:通过对字段值进行分组来提供查询结果的摘要视图,以便您识别数据分布和模式。
列管理器:通过允许您选择要显示的特定字段,自定义数据表界面。
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 万条结果;对于统计信息搜索,系统最多支持 1 万条结果。
查询支持的最长时间范围为一年。
不支持涉及检测字段的联接。
检测搜索受标准搜索限制和配额的约束。
检测表仅显示与检测相关的事件和实体。
已知问题
在搜索检测结果时,结果表格中不会显示诉讼案名称。虽然您可以点击特定行以打开提醒查看器来查看支持请求名称,但无法直接按支持请求名称查询检测结果。例如,以下查询会返回空结果:
detection.case_name != ""
问题排查
查看这些限制和配额,以排查平台行为方面的问题。
错误修复
您可以使用下表将具体问题与可行的修复措施对应起来。
| 问题 | 说明 | 修复 |
|---|---|---|
| 超出结果数量上限 | 查询返回的结果超过 10 万个(或统计查询返回的结果超过 1 万个)。 | 使用过滤条件优化搜索查询,或缩短时间范围以缩小数据集。 |
| 超出时间范围 | 搜索范围超过 365 天。 | 调整搜索参数中的开始时间和结束时间,使其跨度不超过一年。 |
| API 排序错误 | 使用集合 proto 字段时排序失败。 | 确保排序字段的前缀为 detection. 而不是 collection.。
|
验证和测试
如需确定检测搜索是否已启用,请检查在输入查询内容后,运行搜索按钮是否仍处于停用状态。如果显示,请与支持团队联系。
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。已更新。请注意,此部分是我们遵循的基于新用户体验的文档模板的一部分。