群组

支持的平台:
group(field1, field2, field3, ...)

说明

将类型相似的字段归入一个占位变量。

在 UDM 搜索中,分组字段用于搜索多个类似类型的字段。与分组字段不同的是,通过 group 函数,您可以选择要分组在一起以触发检测的字段。您可以使用 group 函数来收集有关不同名词类型中特定实体(例如主机名、IP 地址或用户 ID)的信息。

  • 形参类型:Event type

  • 返回类型:Grouped event fields

代码示例

示例:汇总和统计 IP 地址

将所有 IP 地址归为一组,并按降序提供扫描时间范围内最常见的 IP 地址数量。

$ip = group(principal.ip, about.ip, target.ip)
$ip != ""
match:
  $ip

outcome:
  $count = count_distinct(metadata.id)

order:
  $count desc

示例:统计每个 IP 地址的不同事件数

在以下示例中,group() 函数会收集触发检测的所有事件中 principal.ip、target.ip 和 src.ip 字段中发现的所有 IP 地址。然后,这些 IP 地址会被添加到占位变量 $ip 中。然后,该规则会匹配 IP 地址,并针对每个唯一 IP 地址返回不同事件的计数。

$ip = group(detection.collection_elements.references.event.principal.ip, detection.collection_elements.references.event.target.ip, detection.collection_elements.references.event.src.ip)
$ip != ""

match:
  $ip

outcome:
  $count = count_distinct(detection.id)

order:
  $count desc

// Detection1: principal.ip = 1.1.1.1
// Detection2: src.ip = 1.1.1.1, target.ip = 2.2.2.2
// Detection3: target.ip = 1.1.1.1
// Detection4: principal.ip = 2.2.2.2

结果:

$ip $count
1.1.1.1 3
2.2.2.2 2