Datenflüsse mit Sankey-Diagrammen visualisieren
In diesem Leitfaden erfahren Sicherheitsingenieure und ‑analysten, wie sie Sicherheitsereignisse, die Multi-Hop-Pfade, Beziehungen oder gerichtete Flüsse umfassen, mithilfe von Sankey-Diagrammen im Google SecOps Dashboard visualisieren können. In diesen speziellen Diagrammen werden Knoten (die Datenpunkte darstellen) angezeigt, die durch Links (die den Fluss zwischen Datenpunkten darstellen) verbunden sind. Die Breite der einzelnen Links ist proportional zum Volumen oder Gewicht des Flusses. So lassen sich wichtige Datenpfade, Engpässe und Anomalien erkennen.
Gängige Anwendungsfälle
Sankey-Diagramme sind besonders nützlich für die folgenden Anwendungsfälle:
Analyse des Netzwerkverkehrs
- Ziel: Traffic visualisieren, der von Quell-IPs über bestimmte Ports oder Firewallregeln zu Ziel-IPs fließt.
- Wert: Erkennen Sie anormale Traffic-Spitzen, nicht autorisierte Ausgangsports und potenzielle laterale Bewegungen in Ihrer Umgebung, ohne Tausende von Rohprotokollen für Netzwerkverbindungen durchsuchen zu müssen.
Erkennung von Daten-Exfiltration
- Ziel: Die Bewegung von Daten aus internen Systemen (z. B. Datenbanken und lokaler Speicher) zu externen Zielen (z. B. Cloud-Speicher und externe Domains) nachvollziehen.
- Wert: Die Erkennung von Insider-Bedrohungen und unbefugten Datenübertragungen wird beschleunigt, indem ausgehende Flows mit hohem Volumen zu nicht vertrauenswürdigen externen Domains, Cloud-Diensten oder Speicher-Buckets visuell dargestellt werden.
Authentifizierungsabläufe
- Ziel: Nutzeranmeldeversuche nach Quellland, Identitätsanbieter, Zielservice und endgültigem Authentifizierungsergebnis zuordnen.
- Wert: Durch die Visualisierung von Mustern für fehlgeschlagene und erfolgreiche Authentifizierungen an verschiedenen Standorten und in verschiedenen Anwendungen können Sie Credential Stuffing, Brute-Force-Angriffe und Anomalien bei unmöglichen Reisen erkennen.
SOC-Workflow-Monitoring
- Ziel: Die Schritte zur Triage von Benachrichtigungen visualisieren, von der Erkennung der Benachrichtigung über den zugewiesenen Mitarbeiter bis hin zum endgültigen Urteil oder Status.
- Wert: Engpässe bei der Triage aufdecken, die Arbeitslast der Analysten ausgleichen und die Genauigkeit von Erkennungsregeln bewerten, indem Sie nachverfolgen, wie sich Benachrichtigungen von der Generierung bis zur endgültigen Lösung entwickeln.
Hinweis
Damit ein Sankey-Diagramm gerendert werden kann, müssen die Dashboard-Abfrage und -Konfiguration die folgenden technischen Anforderungen erfüllen:
- Anzahl der Spalten: In der Antwort auf die Anfrage müssen mindestens drei Datenspalten zurückgegeben werden.
- Spaltentypen: Der Datensatz muss Folgendes enthalten:
- Mindestens zwei kategorische Spalten (z. B. Textstrings, die Knoten darstellen).
- Mindestens eine numerische Spalte, die den Flusswert oder die Gewichtung darstellt (z. B.
sumodercount).
- Struktur von gerichteten azyklischen Graphen (Directed Acyclic Graphs, DAGs): Sankey-Diagramme unterstützen nur gerichtete, nicht wiederholende Pfade:
- Keine Schleifen: Die Quell- und Zielknoten dürfen auf keiner Ebene identisch sein (z. B.
Node A flowing to Node A). - Keine zyklischen Abhängigkeiten: Datenbeziehungen dürfen keine Schleifen bilden (z. B.
Node A flowing to Node B with Node B flowing back to Node A).
- Keine Schleifen: Die Quell- und Zielknoten dürfen auf keiner Ebene identisch sein (z. B.
Sankey-Diagramm konfigurieren
So erstellen und konfigurieren Sie ein Sankey-Diagramm in einem benutzerdefinierten Dashboard:
- Öffnen Sie Ihr benutzerdefiniertes Dashboard in Google SecOps und klicken Sie auf Hinzufügen > Visualisierung.
- Führen Sie eine Abfrage aus, die die erforderlichen Spalten zurückgibt, z. B. eine YARA-L 2.0-Abfrage, die Quell-IP, Ziel-IP und Ereignisanzahl zurückgibt.
- Wählen Sie im Bereich Diagrammkonfiguration rechts den Diagrammtyp Sankey aus.
- Ordnen Sie unter Dateneinstellungen die Felder für die erste Flussebene zu:
- Quellknoten: Wählen Sie die Spalte aus, die den Ursprung des Ablaufs darstellt.
- Zielknoten: Wählen Sie die Spalte aus, die das Ziel des Ablaufs darstellt.
- Wert: Wählen Sie die numerische Spalte aus, die das Volumen oder Gewicht der Verbindung darstellt.
- Optional: Wenn Sie einen Pfad mit mehreren Ebenen erstellen möchten, klicken Sie auf Ebene hinzufügen und konfigurieren Sie die Felder „Quelle“, „Ziel“ und „Wert“ für den nächsten Hop. Sie können einem einzelnen Sankey-Diagramm bis zu fünf Ebenen hinzufügen.
- Klicken Sie auf Speichern, um die Diagrammkachel dem Dashboard hinzuzufügen.
Interaktive Features
Sankey-Diagramme bieten die folgenden interaktiven Funktionen:
- Details per Mauszeiger aufrufen: Bewegen Sie den Mauszeiger auf einen Link, um Details zum Volumen (Gewicht) zwischen Quelle und Ziel aufzurufen. Bewegen Sie den Mauszeiger auf einen beliebigen Knoten, um das gesamte eingehende und ausgehende Volumen zu sehen.
- Drilldowns: Klicken Sie auf einen bestimmten Knoten oder Flusslink, um das Kontextmenü zu öffnen. Sie können Drilldown-Vorgänge ausführen, um gefilterte Abfragen für die Rohdaten basierend auf dem ausgewählten Knoten oder Pfad auszuführen.
Beispielabfragen für YARA-L 2.0 für Sankey-Diagramme
Dieser Abschnitt enthält mehrere genaue Beispiele, mit denen Sie Sankey-Diagramme in Dashboard-Diagrammen erstellen können.
Die besten visuellen Ergebnisse erzielen Sie, wenn Sie Felder mit hoher Kardinalität in Kategorien gruppieren (z. B. mit Subnetzen, Ländern, Asset-Kategorien oder Firewallaktionen) oder die Abfrage filtern, um sich nur auf Schlüsselwerte (z. B. bestimmte Ports) zu konzentrieren.
Visualisierung des Log-Aufnahmeflusses
Diese Abfrage visualisiert den Log-Pipeline-Ablauf von den Rohlogtypen über den jeweiligen Sicherheitsanbieter bis hin zu den Bestimmten Produkten, die aufgenommen werden.
metadata.log_type != ""
$log_type = metadata.log_type
$vendor = metadata.vendor_name
$product = metadata.product_name
match:
$log_type, $vendor, $product
outcome:
$ingested_count = count(metadata.id)
Konfigurationszuordnung:
| Quellknoten | Zielknoten | Wert | |
|---|---|---|---|
| Level 1 | $log_type | $vendor | $ingested_count |
| Level 2 | $vendor | $product | $ingested_count |
Ausführungskette vom übergeordneten zum untergeordneten Prozess
Diese Abfrage visualisiert die Hierarchie der Prozessausführung und verfolgt den übergeordneten Prozess, der eine Zielbinärdatei ausführt, sowie die resultierende Sicherheitsaktion.
metadata.event_type = "PROCESS_LAUNCH"
$parent_process = principal.process.parent_process.file.full_path
$target_process = principal.process.file.full_path
$action = security_result.action
match:
$parent_process, $target_process, $action
outcome:
$execution_count = count(metadata.id)
Konfigurationszuordnung:
| Quellknoten | Zielknoten | Wert | |
|---|---|---|---|
| Level 1 | $parent_process | $target_process | $execution_count |
| Level 2 | $target_process | $action | $execution_count |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten