Suchergebnisse deduplizieren

Unterstützt in:

In Google Security Operations können Suchergebnisse Duplikate enthalten, wenn dasselbe Ereignis von mehreren Systemen protokolliert wird, z. B. wenn ein Authentifizierungssystem und eine Firewall beide eine einzelne Anmeldung protokollieren.

Wenn Sie nur eindeutige Ergebnisse zurückgeben möchten, verwenden Sie den Abschnitt dedup in Ihrer YARA-L-Syntax. Wenn Sie UDM-Felder in diesen Abschnitt einfügen, wird sichergestellt, dass die Abfrage für jede eindeutige Kombination von Werten ein einzelnes Ergebnis zurückgibt.

Leistungsrichtlinien

Der Operator dedup verarbeitet alle Daten innerhalb eines Zeitbereichs als eine Einheit, um die Richtigkeit zu gewährleisten.

  • Optimale Zeiträume: Die Leistung ist am besten für Zeiträume von einem Tag oder weniger.
  • Latenz: Bereiche zwischen 7 und 30 Tagen erhöhen die Latenz erheblich und können zu Zeitüberschreitungen bei Abfragen führen.

Wir empfehlen, immer den kürzestmöglichen Zeitraum zu verwenden, der für Ihre Untersuchung geeignet ist, wenn Sie den Operator dedup anwenden.

Entfernen von Duplikaten nach Abfragetyp

Das Deduplizierungsverhalten hängt davon ab, ob in Ihrer Abfrage Aggregationen verwendet werden, und gilt für die folgenden Arten von Such- und Dashboard-Abfragen.

Aggregierte Suchanfragen

Aggregierte Suchanfragen enthalten match-, match- und outcome- oder aggregated outcome-Abschnitte. Die Deduplizierung erfolgt nach der Ermittlung der Ergebnisse.

Fügen Sie diesen Abfragen die folgenden Felder im Abschnitt dedup hinzu:

  • Felder aus dem Abschnitt match
  • Felder aus dem Abschnitt outcome

UDM-Suchanfragen

UDM-Suchanfragen schließen die Abschnitte match, outcome oder den aggregierten Abschnitt outcome aus. Hinweis: UDM-Suchanfragen können einen outcome-Abschnitt enthalten, sofern keine Aggregate und kein match-Abschnitt vorhanden sind.

Fügen Sie die folgenden Felder dem Abschnitt dedup hinzu, um UDM-Suchvorgänge zu deduplizieren:

  • Alle nicht wiederholten, nicht als Array und nicht gruppierten Ereignisfelder.
  • Platzhalterfelder aus dem Bereich events.
  • Ergebnisvariablen aus dem Abschnitt outcome (wenn keine Zusammenfassungen vorhanden sind).

In diesem Abschnitt wird die YARA-L-Syntax gezeigt, die in Search ausgeführt werden kann.

Beispiel: Nach eindeutigen IP-Adressen suchen

Mit der folgenden Beispielabfrage werden Netzwerkverbindungen zwischen internen und externen IP-Adressen ermittelt, die nach der internen IP-Adresse (principal.ip) dedupliziert werden:

events:
   metadata.event_type = "NETWORK_CONNECTION"
   target.ip != ""
   principal.ip != ""

match:
   target.ip, principal.ip

dedup:
   principal.ip

Beispiel: Eindeutige IP-Adressen mit Trafficvolumen

Ähnlich wie im vorherigen Beispiel werden in der folgenden Beispielsuche Netzwerkverbindungsereignisse mit eindeutigen IP-Adressen angezeigt. Wenn Sie dedup auf principal.ip anwenden, werden die Ergebnisse auf Ereignisse mit eindeutigen IP-Adressen eingegrenzt. Im Bereich outcome werden die insgesamt zwischen principal.ip und target.ip gesendeten Byte angezeigt. Die Ergebnisse sind nach dem höchsten bis zum niedrigsten Trafficvolumen sortiert.

events:
   metadata.event_type = "NETWORK_CONNECTION"
   target.ip != ""
   principal.ip != ""

match:
   target.ip, principal.ip

outcome:
   $total_bytes = sum(network.sent_bytes)

dedup:
   principal.ip

order:
   $total_bytes desc

Beispiel: Einfache UDM-Deduplizierung

Im folgenden Beispiel wird nach einer allgemeinen Übersicht der eindeutigen Hostnamen gesucht, auf die über alle Logtypen hinweg zugegriffen wurde. Wenn Sie dedup auf target.hostname anwenden, werden die Ergebnisse auf Ereignisse mit eindeutigen externen Hostnamen eingegrenzt. Hinweis: Dieses Format eignet sich für Abfragen, für die keine Aggregationen erforderlich sind.

metadata.log_type != ""

dedup:
    target.hostname

Hier ist ein entsprechendes Beispiel ohne die Option dedup. In der Regel werden deutlich mehr Ereignisse zurückgegeben.

metadata.log_type != "" AND target.hostname != ""

Beispiel: Eindeutige Hostnamen

Ähnlich wie im vorherigen Beispiel werden bei dieser Suche Netzwerkverbindungsereignisse mit eindeutigen Hostnamen angezeigt. Wenn Sie die Option dedup auf principal.hostname anwenden, werden die Ergebnisse auf Ereignisse eingegrenzt, die mit einzelnen Hosts verknüpft sind:

events:
   metadata.event_type = "NETWORK_CONNECTION"
   target.hostname != ""
   principal.hostname != ""

match:
   target.hostname, principal.hostname

outcome:
   $total_bytes = sum(network.sent_bytes)

dedup:
   principal.hostname

order:
   $total_bytes desc

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten