Risikobewertung für Entitäten in Regeln angeben
In diesem Dokument wird beschrieben, wie Sie Risikobewertungen für Entitäten in Regeln verwenden. In Regeln verhalten sich Risikobewertungen für Rechtssubjekte ähnlich wie der Kontext von Rechtssubjekten. Sie können YARA-L 2.0-Regeln schreiben, um Risikobewertungen als primäre Erkennungsmethode zu verwenden. Weitere Informationen zu Regeln für die Risikoanalyse finden Sie unter Regeln für die Risikoanalyse erstellen. Weitere Informationen zu risikobasierten Kontexten finden Sie unter Kontextbezogene Analysen erstellen.
Um eine Risikobewertung für eine Entität abzurufen, verknüpfen Sie eine Entität mit einem UDM-Ereignis und rufen Sie das angegebene Feld aus EntityRisk ab.
Im folgenden Beispiel wird gezeigt, wie Sie eine Regel erstellen, um Erkennungen für jeden Entitätshostnamen zu generieren, dessen Risikobewertung größer als 100 ist.
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 and risk score across a 4 hour window.
$hostname, $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
}
Diese Beispielregel führt auch eine Selbstdeduplizierung mithilfe des Abschnitts „match“ durch. Wenn eine Regelerkennung ausgelöst werden könnte, der Hostname und der Risikowert aber innerhalb eines Zeitraums von vier Stunden unverändert bleiben, werden keine neuen Erkennungen erstellt.
Die einzigen unterstützten Risikofenster für Regeln für den Risikowert von Entitäten sind 24 Stunden (86.400 Sekunden) bzw. 7 Tage (604.800 Sekunden). Wenn Sie in der Regel keine Größe für das Risikofenster angeben, wird standardmäßig entweder 24 Stunden oder 7 Tage festgelegt.
Daten zum Risikowert von Einheiten werden getrennt von Kontextdaten zu Einheiten gespeichert. Wenn Sie beide in einer Regel verwenden möchten, muss die Regel zwei separate Entitätsereignisse haben, eines für den Entitätskontext und eines für die Risikobewertung der Entität, wie im folgenden Beispiel gezeigt:
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
}
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten