选项部分语法

支持的平台:

YARA-L 查询的 options 部分仅适用于规则。

您可以使用 key = value 语法指定选项,其中 key 必须是预定义的选项名称,而 value 必须是该选项的有效值:

rule RuleOptionsExample {
  // Other rule sections

  options:
    allow_zero_values = true
}

选项值

以下是可用的选项值:

allow_zero_values 选项

allow_zero_values 选项的有效值为 truefalse(默认值),用于确定是否启用该选项。如果查询中未指定 allow_zero_values 选项,则该选项处于停用状态。

如需启用 allow_zero_values 设置,请将以下内容添加到查询的 options 部分: allow_zero_values = true

此操作可防止查询隐式过滤掉 match 部分中使用的占位符的零值,如匹配部分中的零值中所述。

suppression_window 选项

借助 suppression_window 选项,您可以控制规则触发检测的频率。即使查询条件多次满足,它也能防止同一规则在指定时间窗口内生成多次检测结果。

抑制窗口使用翻滚窗口方法,该方法可在固定大小的非重叠窗口中抑制重复项。

您可以选择性地提供 suppression_key,以进一步细化在抑制窗口内抑制哪些查询实例。如果未指定,则会抑制查询的所有实例。此键定义为结果变量,仅适用于单事件查询

多事件查询将使用 match 部分中的匹配变量来确定应抑制哪些内容。suppression_window 值还必须大于匹配窗口。

suppression_window 的默认值为 0,也就是说,默认情况下抑制窗口处于停用状态。

示例:单事件查询的抑制窗口选项

在以下示例中,suppression_window 设置为 5msuppression_key 设置为 $hostname 变量。当查询触发了针对 $hostname 的检测后,在接下来的 5 分钟内,系统会抑制针对 $hostname 的任何进一步检测。不过,如果查询因具有不同主机名的事件而触发,系统会创建检测结果。

rule SingleEventSuppressionWindowExample {
  // Other rule sections

  outcome:
    $suppression_key = $hostname

  options:
    suppression_window = 5m
}

示例:多事件查询的抑制窗口选项

在以下示例中,suppression_window 设置为 1h。在查询触发对 ($hostname, $ip) 的检测(时间窗口为 10m)后,接下来的一小时内,系统会抑制对 ($hostname, $ip) 的任何进一步检测。不过,如果查询触发的事件组合不同,系统会创建检测结果。

rule MultipleEventSuppressionWindowExample {
  // Other rule sections

  match:
    $hostname, $ip over 10m

  options:
    suppression_window = 1h
}

其他信息

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