表达式构建器用例

支持的平台:

本文档提供了一些使用情形,详细介绍了如何在 Google Security Operations 平台上的 playbook 操作中构建和实现动态表达式。本教程重点介绍如何使用表达式构建器解析、过滤和提取之前操作结果(例如列表数据、实体详情和扫描报告)中的特定数据,以便在后续 playbook 步骤中实现复杂的自动化逻辑。

准备工作

在开始之前,请遵循以下建议:

  • 使用 Qualys - 列出扫描可获取 Qualys 的所有最新扫描(硬编码为 30 天)。
  • 使用表达式构建器提取最新扫描的 ID (REF) 作为占位符,以下载虚拟机扫描结果。虚拟机扫描结果下载相关报告。
  • 使用列出操作从报告中提取网络上发现的漏洞标识符(常见漏洞和披露 [CVE])列表,并将其与支持请求中的 CVE 进行比较。
  • 使用 IPS 提醒触发 playbook。

使用场景:入侵防御系统 IPS

此用例假设您正在构建一个剧本,该剧本在网络中发现了恶意流量。
假设某个漏洞管理工具(例如 Qualys)已安排每日扫描。

创建占位符

如需创建占位符,请执行以下操作:

  1. 首先使用 Active Directory_Enrich Entities 操作来丰富所有可能受影响的实体。
  2. 使用 Qualys VM - 列出扫描来检索网络机器的最新扫描结果。
  3. 确定是否有任何结果容易受到检测到的流程的攻击。
  4. 请参阅 QualysVM_Download VM Scan Results_1。您应该会看到占位符和添加的表达式构建器。

添加占位符

如需添加占位符,请执行以下操作:

  1. 点击 [ ] 占位符。系统会显示插入占位符对话框。
  2. 依次选择 Playbook > QualysVM_list_Scans_1_JSONResult
  3. 点击表达式构建器图标;系统随即会显示“表达式构建器”页面。
  4. 表达式字段中,添加以下内容:这些表达式使用 MAX 按日期 LAUNCH_DATETIME 获取最新结果,然后提取相关扫描的特定扫描 ID,其中 REF 是扫描 ID。
    示例:| max(LAUNCH_DATETIME) | REF
  5. 点击运行。系统应显示预期结果。
  6. 点击插入,将表达式构建器作为占位符的一部分包含在内。
  7. 点击操作 > 使用来自支持请求的 CVE 列出操作,系统会显示表达式构建器。
  8. 当 playbook 实时触发后,您可以在侧边抽屉中看到扫描结果,包括以 PDF 文件形式呈现的具体扫描结果。

使用情形:登录尝试失败次数过多

此用例通过丰富实体数据来确定提醒严重程度,从而解决登录尝试失败的问题。目的是快速找到用户的部门及其上次密码更改日期。

  1. 首先,使用 ActiveDirectory_Enrich 实体的操作来收集与提醒关联的所有内部实体的详细信息。
  2. 在后续的“数据洞见”消息中,使用表达式生成器提取目标用户及其上次登录时间。

添加占位符

如需添加这些占位符,请执行以下操作:

  1. 消息字段中,点击 [ ] 占位符
  2. 插入占位符页面上,点击 ActiveDirectory_Enrich entities_JSONResult 旁边的表达式构建器图标。
  3. 在表达式字段中添加以下内容:这将选择实体标识符。如果多个实体返回了结果,我们将以英文逗号分隔的列表形式获取结果。
    | 实体
  4. 点击运行,系统会显示示例结果。在此示例中,值为 user@domain.com
  5. 点击插入,将此内容用作占位消息的一部分。在消息中添加相关自由格式文本。
  6. 点击 [ ] 占位符,然后点击 ActiveDirectory_Enrich entities_JSONResult 旁边的表达式构建器图标。
  7. 添加以下表达式。此属性用于捕获指定用户的上次登录时间。| EntityResult.lastLogon
  8. 点击插入,然后点击保存
  9. 当剧本被实时触发后,“数据洞见”窗格中会显示一条消息,其中包含用户名和上次登录时间。

使用情形:VirusTotal 哈希分析

此使用情形展示了如何从特定扫描引擎(例如 Kaspersky)提取文件哈希的信誉,以确定文件是否恶意并创建相应的实体。

  • 使用 VirusTotal_Scan 哈希操作检索文件报告。

后续操作 Siemplify_CreateUpdate Entity Properties 会根据扫描结果创建或修改实体属性,例如 Detected by Kaspersky

如需添加此占位符,请执行以下操作:

  1. 在“字段值”字段中,点击 [] 占位符
  2. 插入占位符页面上,点击 VirusTotal_ScanHash_JSONResult 旁边的表达式构建器图标。
  3. 添加以下表达式:
    | filter(EntityResult.scans.Kaspersky.detected, "=", "true") | Entity

    如果我们扫描了多个哈希,则会按卡巴斯基标记为恶意的所有实体对象过滤结果,然后仅返回实体名称。

  4. 依次点击插入 > 点击保存。结果会在运行时显示。

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