Risikobewertung für Entitäten in Regeln angeben

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Risikobewertungen für Entitäten in Regeln verwenden. In Regeln verhalten sich Risikobewertungen für Entitäten ähnlich wie der Entitätenkontext. 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 risikobasiertem Kontext 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
}

Mit dieser Beispielregel wird auch eine Selbstdeduplizierung mithilfe des Match-Abschnitts durchgeführt. Wenn eine Regel erkannt wird, der Hostname und der Risikowert jedoch innerhalb eines Zeitraums von vier Stunden unverändert bleiben, werden keine neuen Erkennungen erstellt.

Die einzigen möglichen Risikofenster für Regeln für den Entitätsrisikoscore sind entweder 24 Stunden oder 7 Tage (86.400 bzw. 604.800 Sekunden). Wenn Sie die Größe des Risikofensters nicht in die Regel aufnehmen, liefert die Regel ungenaue Ergebnisse.

Daten zum Risikowert von Rechtssubjekten werden getrennt von Kontextdaten zu Rechtssubjekten 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