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 dedup-Abschnitt in Ihrer YARA-L-Syntax. Wenn Sie UDM-Felder in diesen Bereich 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 maximal einem Tag.
  • Latenz: Bereiche zwischen 7 und 30 Tagen erhöhen die Latenz erheblich und können zu Zeitüberschreitungen bei Abfragen führen.

Wir empfehlen, bei der Anwendung des Operators dedup immer den kürzestmöglichen Zeitraum zu verwenden, der für Ihre Untersuchung geeignet ist.

Entfernen von Duplikaten nach Suchanfragetyp

Das Verhalten bei der Deduplizierung 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 die Abschnitte match, match und outcome oder aggregated outcome. Die Deduplizierung erfolgt nach der Ermittlung der Ergebnisse.

Fügen Sie für diese Anfragen dem dedup-Abschnitt die folgenden Felder hinzu:

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

UDM-Suchanfragen

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

Wenn Sie UDM-Suchvorgänge deduplizieren möchten, fügen Sie diese Felder dem Abschnitt dedup hinzu:

  • Alle nicht wiederholten, nicht gruppierten und nicht als Array definierten Ereignisfelder.
  • Platzhalterfelder aus dem Bereich events.
  • Ergebnisvariablen aus dem Abschnitt outcome (wenn keine Aggregate 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 sehen Sie die Gesamtzahl der zwischen principal.ip und target.ip gesendeten Byte. 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 eingegrenzt, die mit eindeutigen externen Hostnamen verknüpft sind. Hinweis: Dieses Format eignet sich für Anfragen, für die keine Aggregationen erforderlich sind.

metadata.log_type != ""

dedup:
    target.hostname

Das folgende Beispiel entspricht dem obigen, jedoch 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 eindeutigen 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