グループ
以下でサポートされています。
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 |