表达式构建器用例
本文档提供了一些使用情形,详细介绍了如何在 Google Security Operations 平台上的 playbook 操作中构建和实现动态表达式。本教程重点介绍如何使用表达式构建器解析、过滤和提取之前操作结果(例如列表数据、实体详情和扫描报告)中的特定数据,以便在后续 playbook 步骤中实现复杂的自动化逻辑。
准备工作
在开始之前,请遵循以下建议:
- 使用 Qualys - 列出扫描可获取 Qualys 的所有最新扫描(硬编码为 30 天)。
- 使用表达式构建器提取最新扫描的 ID (REF) 作为占位符,以下载虚拟机扫描结果。虚拟机扫描结果下载相关报告。
- 使用列出操作从报告中提取网络上发现的漏洞标识符(常见漏洞和披露 [CVE])列表,并将其与支持请求中的 CVE 进行比较。
- 使用 IPS 提醒触发 playbook。
使用场景:入侵防御系统 IPS
此用例假设您正在构建一个剧本,该剧本在网络中发现了恶意流量。
假设某个漏洞管理工具(例如 Qualys)已安排每日扫描。
创建占位符
如需创建占位符,请执行以下操作:
- 首先使用
Active Directory_Enrich Entities
操作来丰富所有可能受影响的实体。 - 使用 Qualys VM - 列出扫描来检索网络机器的最新扫描结果。
- 确定是否有任何结果容易受到检测到的流程的攻击。
- 请参阅
QualysVM_Download VM Scan Results_1
。您应该会看到占位符和添加的表达式构建器。
添加占位符
如需添加占位符,请执行以下操作:
- 点击 [ ] 占位符。系统会显示插入占位符对话框。
- 依次选择 Playbook > QualysVM_list_Scans_1_JSONResult。
- 点击表达式构建器图标;系统随即会显示“表达式构建器”页面。
-
在表达式字段中,添加以下内容:这些表达式使用 MAX 按日期
LAUNCH_DATETIME
获取最新结果,然后提取相关扫描的特定扫描 ID,其中 REF 是扫描 ID。
示例:| max(LAUNCH_DATETIME) | REF
- 点击运行。系统应显示预期结果。
- 点击插入,将表达式构建器作为占位符的一部分包含在内。
- 点击操作 > 使用来自支持请求的 CVE 列出操作,系统会显示表达式构建器。
-
当 playbook 实时触发后,您可以在侧边抽屉中看到扫描结果,包括以 PDF 文件形式呈现的具体扫描结果。
使用情形:登录尝试失败次数过多
此用例通过丰富实体数据来确定提醒严重程度,从而解决登录尝试失败的问题。目的是快速找到用户的部门及其上次密码更改日期。
- 首先,使用
ActiveDirectory_Enrich
实体的操作来收集与提醒关联的所有内部实体的详细信息。 - 在后续的“数据洞见”消息中,使用表达式生成器提取目标用户及其上次登录时间。
添加占位符
如需添加这些占位符,请执行以下操作:
- 在消息字段中,点击 [ ] 占位符。
-
在插入占位符页面上,点击
ActiveDirectory_Enrich entities_JSONResult
旁边的表达式构建器图标。 -
在表达式字段中添加以下内容:这将选择实体标识符。如果多个实体返回了结果,我们将以英文逗号分隔的列表形式获取结果。
| 实体
-
点击运行,系统会显示示例结果。在此示例中,值为
user@domain.com
。 - 点击插入,将此内容用作占位消息的一部分。在消息中添加相关自由格式文本。
-
点击 [ ] 占位符,然后点击
ActiveDirectory_Enrich entities_JSONResult
旁边的表达式构建器图标。 - 添加以下表达式。此属性用于捕获指定用户的上次登录时间。| EntityResult.lastLogon
- 点击插入,然后点击保存。
-
当剧本被实时触发后,“数据洞见”窗格中会显示一条消息,其中包含用户名和上次登录时间。
使用情形:VirusTotal 哈希分析
此使用情形展示了如何从特定扫描引擎(例如 Kaspersky)提取文件哈希的信誉,以确定文件是否恶意并创建相应的实体。
- 使用 VirusTotal_Scan 哈希操作检索文件报告。
后续操作 Siemplify_Create 或 Update Entity Properties 会根据扫描结果创建或修改实体属性,例如 Detected by Kaspersky
。
如需添加此占位符,请执行以下操作:
- 在“字段值”字段中,点击 [] 占位符。
-
在插入占位符页面上,点击
VirusTotal_ScanHash_JSONResult
旁边的表达式构建器图标。
-
添加以下表达式:
| filter(EntityResult.scans.Kaspersky.detected, "=", "true") | Entity
如果我们扫描了多个哈希,则会按卡巴斯基标记为恶意的所有实体对象过滤结果,然后仅返回实体名称。
- 依次点击插入 > 点击保存。结果会在运行时显示。
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。