ルールでエンティティ リスクスコアを指定する
このドキュメントでは、ルールでエンティティ リスクスコア情報を使用する方法について説明します。このプロセスは、ルールでエンティティのコンテキストを使用する場合と同様です。詳細については、コンテキストアウェア分析の作成をご覧ください。
エンティティ リスクスコアを取得するには、エンティティを UDM イベントに結合し、指定されたフィールドを EntityRisk から取得します。
次の例は、UDM イベントに一致するユーザー名を持つエンティティの正規化されたリスクスコアが 100 より大きいかどうかを確認する方法を示しています。
rule EntityRiskScore {
meta:
events:
$log_in.metadata.event_type = "USER_LOGIN"
$log_in.principal.hostname = $host
$risk_score.graph.entity.hostname = $host
$risk_score.graph.risk_score.risk_window_size.seconds = 604800
match:
$host over 2m
outcome:
$entity_risk_score = max($risk_score.graph.risk_score.normalized_risk_score)
condition:
$log_in and $risk_score and $entity_risk_score > 100
}
エンティティ リスクスコアルールで可能なリスク時間枠は、24 時間または 7 日(それぞれ 86,400 秒または 604,800 秒)です。ルールにリスク ウィンドウ サイズを含めないと、不正確な結果が返されます。
エンティティのリスクスコアデータは、エンティティ コンテキスト データとは別に保存されます。ルールで両方を使用するには、次の例に示すように、2 つの個別のエンティティ イベント(エンティティ コンテキスト用とエンティティ リスクスコア用)が必要です。
rule EntityContextAndRiskScore {
meta:
events:
$log_in.metadata.event_type = "USER_LOGIN"
$log_in.principal.hostname = $host
$context.graph.entity.hostname = $host
$context.graph.metadata.entity_type = "ASSET"
$risk_score.graph.entity.hostname = $host
$risk_score.graph.risk_score.risk_window_size.seconds = 604800
match:
$host over 2m
outcome:
$entity_risk_score = max($risk_score.graph.risk_score.normalized_risk_score)
condition:
$log_in and $context and $risk_score and $entity_risk_score > 100
}