在规则中指定实体风险得分
支持的平台:
Google SecOps
SIEM
本文档介绍了如何在规则中使用实体风险信号。在规则中,实体风险信号的行为方式与实体情境类似。您可以编写 YARA-L 2.0 规则,以将风险得分用作主要检测方法。有关 有关风险分析规则的信息,请参阅创建风险规则 Google Analytics 。如需详细了解更多基于风险的上下文,请参阅创建感知上下文的分析。
如需检索实体风险得分,请将实体与 UDM 事件联接,并检索 从 EntityRisk。
以下示例展示了如何创建规则,以便针对风险得分高于 100 的任何实体主机名生成检测结果。
rule EntityRiskScore {
meta:
events:
$e1.principal.hostname != ""
$e1.principal.hostname = $hostname
$e2.graph.entity.hostname = $hostname
$e2.graph.risk_score.risk_window_size.seconds = 86400 // 24 hours
$e2.graph.risk_score.risk_score >= 100
// Run deduplication across the risk score.
$rscore = $e2.graph.risk_score.risk_score
match:
// Dedup on hostname, risk window, and score across a 4 hour window.
$hostname, $rwindow, $rscore over 4h
outcome:
// Force these risk score based rules to have a risk score of zero to
// prevent self feedback loops.
$risk_score = 0
condition:
$e1 and $e2
}
此示例规则还使用匹配的 部分。如果可能会触发规则检测,但主机名和风险得分 在 4 小时内保持不变,系统将不会创建任何新的检测。
实体风险评分规则的唯一可能风险窗口期为 24 小时或 7 天(分别为 86,400 秒或 604,800 秒)。如果您没有添加 风险窗口大小,规则将返回不准确的结果。
实体风险得分数据与实体上下文数据分开存储。要使用 那么规则必须具有两个独立的实体事件,一个用于 实体上下文,以及实体风险得分,如下所示 示例:
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
}