Risikobewertung für Entitäten in Regeln angeben

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Risikobewertungen von Entitäten in Regeln verwenden. In Regeln verhalten sich Entitätsrisikobewertungen ähnlich wie der Entitätskontext. Sie können YARA-L 2.0-Regeln schreiben, um Risikobewertungen als Haupterkennungsmethode zu verwenden. Weitere Informationen zu Regeln für die Risikoanalyse finden Sie unter Regeln für die Risikoanalyse erstellen. Weitere Informationen zu einem risikobasierteren Kontext finden Sie unter Kontextbezogene Analysen erstellen.

Wenn Sie eine Risikobewertung für eine Entität abrufen möchten, müssen Sie eine Entität mit einem UDM-Ereignis zusammenführen und das angegebene Feld aus EntityRisk abrufen.

Im folgenden Beispiel wird gezeigt, wie Sie eine Regel erstellen, um Erkennungen für jeden Entitäts-Hostnamen zu generieren, dessen Risikowert über 100 liegt.

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
}

In dieser Beispielregel wird auch eine Deduplizierung mithilfe des Abgleichsabschnitts durchgeführt. 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 möglichen Risikofenster für Regeln für den Entitätsrisikowert sind 24 Stunden oder 7 Tage (entsprechend 86.400 oder 604.800 Sekunden). Wenn Sie die Größe des Risikofensters nicht in die Regel aufnehmen, werden fehlerhafte Ergebnisse zurückgegeben.

Daten zum Risikowert von Entitäten werden getrennt von Daten zum Entitätskontext 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 den Entitätsrisikowert, 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
}