グループ

以下でサポートされています。
group(field1, field2, field3, ...)

説明

類似するタイプのフィールドをプレースホルダ変数にグループ化します。

UDM 検索では、グループ化されたフィールドを使用して、類似したタイプの複数のフィールドを検索します。グループ関数は、グループ化されたフィールドと似ていますが、グループ化するフィールドを選択して検出をトリガーできる点が異なります。グループ関数を使用すると、さまざまな名詞タイプにわたって、特定のエンティティ(ホスト名、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