Logs zu Rohdaten suchen
Wenn Sie eine Suche durchführen, werden in Google Security Operations zuerst die Sicherheitsdaten untersucht, die erfasst, geparst und normalisiert wurden. Wenn die Informationen nicht in den normalisierten Daten gefunden werden, können Sie die Rohlog-Suche verwenden, um die rohen, nicht geparsten Logs zu untersuchen. Sie können auch reguläre Ausdrücke verwenden, um die Rohlogs genauer zu untersuchen.
Mit der Rohlog-Suche können Sie Artefakte untersuchen, die in Logs enthalten sind, aber nicht indexiert werden. Dazu gehören:
- Nutzernamen
- Dateinamen
- Registrierungsschlüssel
- Befehlszeilenargumente
- Rohdaten zu HTTP-Anfragen
- Auf regulären Ausdrücken basierende Domainnamen
- Asset-Namespaces und -Adressen
Primäre Anwendungsfälle für die Rohlogsuche
Die Rohlog-Suche ist ein spezielles Prüftool für die folgenden Anwendungsfälle:
- Normalisierung überprüfen und Fehler bei Parsern beheben: Vergleichen Sie Rohlogbucheinträge mit generierten UDM-Ereignissen, um Normalisierungslücken zu erkennen, die Feldzuordnung zu überprüfen oder nicht geparste Logs zu ermitteln.
- Detaillierte forensische Untersuchung und Suche nach Bedrohungen: Suchen Sie nach ungewöhnlichen oder nicht indexierten Kompromittierungsindikatoren (Indicators of Compromise, IOCs), Befehlszeilenargumenten, Registrierungsschlüsseln, Dateipfaden oder bestimmten Strings, die nicht strukturierten UDM-Feldern zugeordnet sind.
- Unstrukturierte und benutzerdefinierte Daten untersuchen: Sie können sofort neue oder proprietäre Log-Quellen abfragen, ohne auf die Entwicklung eines UDM-Parsers warten zu müssen.
Rohlogsuche
Sie können mit der Suchleiste auf der Landingpage oder in der Menüleiste eine Rohlog-Suche durchführen. Sie haben folgende Möglichkeiten:
Verwenden Sie das Format raw=.
Sie können Rohlogs mit dem Format raw= abfragen. Dies ist die empfohlene Methode.
- Wenn Sie nach einer Teilzeichenfolge suchen möchten, setzen Sie den Suchbegriff in Anführungszeichen. Beispiel:
raw = "ABC". - Wenn Sie mit einem regulären Ausdruck suchen möchten, setzen Sie den Ausdruck in Schrägstriche (/) ein, z. B.
raw = /AB*C/. - Optional: Mit dem Keyword
parsedkönnen Sie nach dem Status der Analyse filtern:parsed = false: Zeigt nicht geparste Logs an, für die kein UDM-Ereignis generiert wurde.parsed = true: Zeigt Logs an, die erfolgreich in UDM-Ereignisse geparst wurden.
Alte Methode: Prompt für die Rohlogsuche verwenden
- Geben Sie in der Leiste Suchen einen Suchstring mit mindestens vier Zeichen ein, z. B. einen MD5-Hash, einschließlich Platzhaltern.
- Wenn die Suche keine Ergebnisse liefert, wird die Option Rohlog-Suche angezeigt.
- Optional: Geben Sie die Startzeit und die Endzeit an. Der Standardzeitraum umfasst die letzten 7 Tage.
- Optional: Wählen Sie in der Liste Log Sources (Protokollquellen) eine oder mehrere Protokollquellen aus. Die Standardeinstellung ist Alle.
- Klicken Sie auf Suchen.
Ereignisse, die mit dem Suchstring verknüpft sind, werden auf der Zeitachse angezeigt. Klicken Sie auf ein Ereignis oder das Symbol für das Rohlog, um das entsprechende Rohlog zu öffnen. Die Suchanfrage und die angewendeten Filter sind auch auf der Seite Rohlog-Suche zu sehen.
Abfragen für Rohlogs optimieren
Bei Rohlog-Suchvorgängen werden nicht indexierte Log-Nutzlasten durchsucht. Sie sind in der Regel langsamer als UDM-Suchvorgänge. So verbessern Sie die Suchleistung:
- Auswahl für den Zeitraum: Beschränken Sie den Zeitraum der Daten, für die Sie die Abfrage ausführen.
- Auswahl für Logquellen: Sie können die Suche nach Rohlogs auf Logs aus bestimmten Quellen beschränken. Wählen Sie im Menü Log Sources (Log-Quellen) eine oder mehrere Log-Quellen aus (die Standardeinstellung ist All (Alle)) oder hängen Sie den Filter
log_sourcedirekt an Ihre Abfrage an (log_source = IN["<var>LOG_SOURCE_NAME</var>"]). - Reguläre Ausdrücke: Verwenden Sie einen bestimmten regulären Ausdruck. Beispiel:
raw = /goo\w{3}\.com/wird mitgoogle.com,goodle.comundgoog1e.comabgeglichen, um den Umfang der Suche in Rohlogs weiter einzuschränken.
Beispiele für gezielte Suchen in Rohdaten-Logs
Kombinieren Sie das Präfix raw = mit den Filtern log_source und parsed, um die Suche auf relevante Feeds zu beschränken und zu verhindern, dass Logquellen mit hohem Volumen Ihre Ergebnisse kürzen:
In einer einzelnen Protokollquelle nach einem exakten String suchen:
raw = "<var>SEARCH_TERM</var>" and log_source = IN["<var>LOG_SOURCE_NAME</var>"]In einer Teilmenge von Logquellen suchen:
raw = "<var>SEARCH_TERM</var>" and log_source = IN["<var>LOG_SOURCE_1</var>", "<var>LOG_SOURCE_2</var>"]Nicht geparste Logs mit einem regulären Ausdruck durchsuchen:
raw = /<var>REGULAR_EXPRESSION</var>/ and parsed = false and log_source = IN["<var>LOG_SOURCE_NAME</var>"]
Trend im Laufe der Zeit
Mit dem Diagramm Trend im Zeitverlauf können Sie die Verteilung der Rohlogs im Zeitraum Ihrer Suche nachvollziehen. Sie können Filter auf das Diagramm anwenden, um nach geparsten und Roh-Logs zu suchen. Klicken Sie auf Mehr maximieren (oder Weniger maximieren), um das Diagramm zu maximieren oder zu minimieren.
Rohlogergebnisse
Wenn Sie eine Rohlog-Suche ausführen, sind die Ergebnisse eine Kombination aus UDM-Ereignissen und Entitäten, die aus den Rohlogs generiert werden, die Ihren Suchanfragen entsprechen, sowie den Rohlogs selbst. Sie können die Suchergebnisse weiter untersuchen, indem Sie auf eines der Ergebnisse klicken:
UDM-Ereignis oder ‑Entität: Wenn Sie auf ein UDM-Ereignis oder eine UDM-Entität klicken, werden in Google SecOps alle zugehörigen Ereignisse und Entitäten sowie das mit diesem Element verknüpfte Rohlog angezeigt.
Rohlog: Wenn Sie auf einen Rohlog klicken, wird die gesamte Rohlogzeile zusammen mit der Quelle für diesen Log angezeigt.
Ergebnislimits und Stichprobenerhebung
Für die Suche in Rohlogs gelten die folgenden Ergebnis- und Abfragelimits:
- Ergebnislimit für große Batches: Für kürzlich aufgenommene Logs, die vor dem Export in den langfristigen spaltenorientierten Speicher in Batchspeicher gespeichert werden,gilt ein Limit von 1.000 Ergebnissen,die aus großen Log-Batches mit 1.000 oder mehr Ereignissen zurückgegeben werden. Sobald Logs in den langfristigen Spaltenspeicher exportiert wurden, gilt dieses Limit von 1.000 Ergebnissen pro Batch nicht mehr.
- Gesamtlimit für Benutzeroberfläche und CSV-Export: Eine einzelne Rohprotokollsuche in der Google SecOps-Konsole oder ein CSV-Export gibt insgesamt bis zu 10.000 Ergebnisse für alle abgefragten Protokollquellen zurück. Wenn eine Anfrage mehr als 10.000 Einträge umfasst, gibt Google SecOps eine repräsentative Stichprobe von 10.000 Ergebnissen zurück.
- API-Ergebnislimit: Für die Raw Log Search API (
SearchRawLogs) gilt ein maximales Limit von 10.000 Einträgen pro Anfrage (page_size). - Länge der Suchanfrage: Das Eingabefeld für die Rohlog-Suche ist auf 150 Zeichen begrenzt.
Wenn Sie gleichzeitig in mehreren Logquellen suchen (das Menü Log Sources ist auf All eingestellt), führt Google SecOps Abfragen parallel in verteilten Speichershards aus. Dabei werden vor dem In-Memory-Filtern schützende Abfragelimits angewendet, um schnelle Reaktionszeiten zu gewährleisten. Aufgrund dieser verteilten Architektur kann die Gesamtzahl der zurückgegebenen Ergebnisse bei umfassenden Multi-Source-Abfragen und Single-Source-Abfragen aus folgenden Gründen variieren:
- Unterschiedliche Erfassungsvolumina: Logquellen mit hohem Volumen generieren große Batches,die das Batchlimit von 1.000 Ergebnissen schneller erreichen als Quellen mit geringerem Volumen.
- Verteiltes Batch-Sampling: Bei großen Batches mit 1.000 oder mehr Ereignissen werden vor Anwendung des allgemeinen Sampling-Limits von 10.000 Ergebnissen für Abfragen nur 1.000 Ergebnisse zurückgegeben. Dadurch ändert sich der Anteil der zurückgegebenen Stichprobenprotokolle bei verschiedenen Abfragen.
- Aktuelle und frühere Speicherebenen: Kürzlich aufgenommene Logs werden aus dem Batchspeicher mit geringer Latenz abgefragt, damit sie sofort durchsucht werden können. Hier gilt das Limit von 1.000 Ergebnissen für große Batches. Sobald Protokolle in den langfristigen spaltenbasierten Speicher exportiert wurden, werden einzelne Protokolleinträge direkt gescannt, ohne dass das Batchlimit von 1.000 Ergebnissen gilt (bis zum Gesamtabfragelimit von 10.000 Ergebnissen). So werden konsistentere Ergebnisanzahlen für frühere Suchanfragen erzielt.
Rohdaten-Log-Ergebnisse herunterladen
Wenn Sie Rohlog-Ergebnisse in eine CSV-Datei herunterladen möchten, klicken Sie in der Ergebnistabelle Rohlogs auf Mehr > Als CSV-Datei herunterladen.
Standardmäßig enthält die CSV-Datei immer die Spalte Rohlog. Mit dem Button Spalten können Sie den Spaltenmanager öffnen und die Spalten Zeitstempel und Typ entfernen oder hinzufügen. Wenn Sie weitere Spalten hinzufügen, werden sie in der Tabelle angezeigt, aber nicht in die CSV-Datei heruntergeladen.
Wenn Sie UDM-Felder herunterladen möchten, führen Sie eine UDM-Suche aus, wählen Sie die erforderlichen Spalten aus und laden Sie die Daten dann als CSV-Datei herunter.
Wenn der Fehler Failed to execute 'showSaveFilePicker' in Google Chrome angezeigt wird, führen Sie die folgenden Schritte aus:
Rufen Sie Geräte > Chrome > Einstellungen auf.
Wählen Sie Nutzer und Browser aus.
Suchen Sie nach der Einstellung Schreibzugriff auf Dateisystem.
Fügen Sie
prefix.backstory.chronicle.securityder Liste der zulässigen Websites hinzu.
Reguläre Ausdrücke
Sie können reguläre Ausdrücke in Google SecOps verwenden, um in Ihren Sicherheitsdaten nach Gruppen von Zeichenfolgen zu suchen und diese abzugleichen. Mit regulären Ausdrücken können Sie Ihre Suche eingrenzen, indem Sie nur Informationsfragmente verwenden, anstatt eine genaue Übereinstimmung zu erzwingen.
So führen Sie eine Suche mit der Syntax für reguläre Ausdrücke aus:
- Geben Sie in SIEM Search (SIEM-Suche)
raw = /YOUR_REGEX/in das Suchfeld ein und klicken Sie auf Run Search (Suche ausführen). - In der alten Suchleiste:
- Geben Sie im Feld Suchen einen regulären Ausdruck mit 4 bis 66 Zeichen ein.
- Klicken Sie das Kästchen Abfrage als regulären Ausdruck ausführen an und klicken Sie auf Suchen (oder auf der Ergebnisseite Rohlog-Suche auf Suche aktualisieren).
Die Infrastruktur für reguläre Ausdrücke von Google SecOps basiert auf Google RE2, einer Open-Source-Engine für reguläre Ausdrücke. Google SecOps verwendet dieselbe Syntax für reguläre Ausdrücke.
In der folgenden Tabelle finden Sie einige der gängigen regulären Ausdrücke, die Sie für Ihre Suchanfragen verwenden können.
| Beliebiges Zeichen | . |
| x beliebige Zeichen | {x} |
| Zeichenklasse | [xyz] |
| Negierte Zeichenklasse | [^xyz] |
| Alphanumerisch (0–9A–Za–z) | [[:alnum:]] |
| Alphabetisch (A–Z, a–z) | [[:alpha:]] |
| Ziffern (0–9) | [[:digit:]] |
| Kleinbuchstaben (a–z) | [[:lower:]] |
| Großbuchstaben (A–Z) | [[:upper:]] |
| Textzeichen (0–9A–Za–z_) | [[:word:]] |
| Hexadezimale Ziffer (0–9A–Fa–f) | [[:xdigit:]] |
| Fragezeichensymbol (?) | Entspricht null oder einem Vorkommen des vorherigen Elements. |
| Sternchen (*) | Entspricht null oder mehr Vorkommen des vorherigen Zeichens oder der vorherigen Gruppe. |
| Pluszeichen (+) | Entspricht einem oder mehreren Vorkommen des vorherigen Zeichens oder der vorherigen Gruppe. |
Die folgenden Beispiele veranschaulichen, wie Sie reguläre Ausdrücke verwenden können, um Daten zu durchsuchen:
goo.le\.com: Stimmt mit jedem String überein, der mitgoobeginnt, gefolgt von einem beliebigen einzelnen Zeichen und dann vonle.com, z. B.google.comodergoo0le.com.goo\w{3}\.com: Stimmt mit Strings überein, die mitgoobeginnen, gefolgt von genau drei Wortzeichen (\w) und endend mit.com. Beispiele:google.com,goojle.comodergoodle.com.[[:digit:]]\.[[:alpha:]]: Entspricht einem String mit einer einzelnen Ziffer, gefolgt von einem Punkt (.) und einem einzelnen Buchstaben, z. B.34323.system,23458.officeoder897.net.
Beispiele für reguläre Ausdrücke zum Suchen nach Windows-Logs
In diesem Abschnitt finden Sie reguläre Ausdrücke, die Sie mit der Rohlog-Suche von Google SecOps verwenden können, um häufig überwachte Windows-Ereignisse zu finden. In diesen Beispielen wird davon ausgegangen, dass die Windows-Logeinträge im JSON-Format vorliegen.
Weitere Informationen zu häufig überwachten Windows-Ereignis-IDs finden Sie unter Zu überwachende Ereignisse. Die Beispiele folgen einem ähnlichen Muster, das in diesen Anwendungsfällen beschrieben wird.
| Anwendungsbeispiel: Ereignisse mit der EventID 1150 zurückgeben | |
| String für regulären Ausdruck: | \"EventID\"\:\s*1150 |
| Abgeglichene Werte: | "EventID":1150 |
| Anwendungsbeispiel:Rückgabe von Ereignissen mit der Ereignis-ID 1150 oder 1151 | |
| String für regulären Ausdruck | (?:\"EventID\"\:\s*)(?:1150|1151) |
| Abgeglichene Werte | "EventID":1150 und "EventID":1151 |
| Anwendungsbeispiel: Ereignisse mit der Ereignis-ID 1150 oder 1151 und der ThreadID 9092 zurückgeben | |
| String für regulären Ausdruck | (?:\"EventID\"\:\s*)(?:1150|1151).*(?:\"ThreadID\"\:\s*9092) |
| Abgeglichene Werte | "EventID":1150 <...any number of characters...> "ThreadID":9092
und "EventID":1151 <...any number of characters...> "ThreadID":9092 |
Ereignisse zur Kontoverwaltung finden
Mit diesen regulären Ausdrücken werden gängige Ereignisse zur Kontoverwaltung anhand des Attributs „EventID“ identifiziert.
| Art des Ereignisses | Regulärer Ausdruck |
| Nutzerkonto erstellt | "EventID\"\:\s*4720 |
| Nutzerkonto aktiviert | "EventID\"\:\s*4722 |
| Nutzerkonto deaktiviert | "EventID\"\:\s*4725 |
| Nutzerkonto gelöscht | "EventID\"\:\s*4726 |
| Änderung der Nutzerrechte | "EventID\"\:\s*4703 |
| Mitglied zu sicherheitsaktivierter globaler Gruppe hinzugefügt | "EventID\"\:\s*4728 |
| Mitglied aus sicherheitsaktivierter globaler Gruppe entfernt | "EventID\"\:\s*4729 |
| Globale Gruppe mit aktivierter Sicherheit wurde gelöscht | "EventID\"\:\s*4730 |
Erfolgreiche Anmeldeversuche finden
Mit diesen Abfragestrings für reguläre Ausdrücke werden Arten von erfolgreichen Anmeldeereignissen anhand der Attribute „EventID“ und „LogonType“ identifiziert.
| Art des Ereignisses | Regulärer Ausdruck |
| Anmeldung erfolgreich | "EventID\"\:\s*4624 |
| Anmeldung erfolgreich – interaktiv (LogonType=2) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"2\" |
| Erfolgreiche Anmeldung – Batch-Anmeldung (LogonType=4) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"4\" |
| Erfolgreiche Anmeldung – Dienstanmeldung (LogonType=5) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"5\" |
| Erfolgreiche Anmeldung – RemoteInteractive-Anmeldung (LogonType=10) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"10\" |
| Anmeldung erfolgreich – interaktiv, Batch, Dienst oder RemoteInteractive | (?:"EventID\"\:\s*4624.*?LogonType\"\:\s*\")(?:2|4|5|10)\" |
Anmeldefehlerereignisse finden
Mit diesen regulären Ausdrücken werden Arten von fehlgeschlagenen Anmeldeereignissen anhand der Attribute „EventID“ und „LogonType“ identifiziert.
| Art des Ereignisses | Regulärer Ausdruck |
| Fehler bei der Anmeldung | "EventID\"\:\s*4625 |
| Anmeldefehler – interaktiv (LogonType=2) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"2\" |
| Fehler bei der Anmeldung – Batchanmeldung (LogonType=4) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"4\" |
| Fehler bei der Anmeldung – Dienstanmeldung (LogonType=5) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"5\" |
| Fehler bei der Anmeldung – RemoteInteractive-Anmeldung (LogonType=10) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"10\" |
| Anmeldefehler – interaktiv, Batch, Dienst oder RemoteInteractive | (?:"EventID\"\:\s*4625.*LogonType\"\:\s*\")(?:2|4|5|10)\" |
Prozess-, Dienst- und Aufgabenereignisse finden
Mit diesen regulären Ausdrücken werden bestimmte Prozess- und Dienstereignisse anhand des Attributs „EventID“ identifiziert.
| Art des Ereignisses | Regulärer Ausdruck |
| Prozessbeginn | "EventID\"\:\s*4688 |
| Prozess beenden | "EventID\"\:\s*4689 |
| Dienst installiert | "EventID\"\:\s*4697 |
| Neuer Dienst erstellt | "EventID\"\:\s*7045 |
| Geplante Aufgabe erstellt | "EventID\"\:\s*4698 |
Ereignisse im Zusammenhang mit dem Objektzugriff finden
Mit diesen regulären Ausdrücken werden verschiedene Arten von prozess- und dienstbezogenen Ereignissen anhand des Attributs „EventID“ identifiziert.
| Art des Ereignisses | Regulärer Ausdruck |
| Audit-Log gelöscht | "EventID\"\:\s*1102 |
| Versuchter Objektzugriff | "EventID\"\:\s*4663 |
| Freigegebene Inhalte aufgerufen | "EventID\"\:\s*5140 |
Fehlerbehebung
In der folgenden Tabelle finden Sie Informationen zur Behebung häufiger Probleme bei der Suche in Rohlogs:
| Problem | Beschreibung | Korrigieren |
|---|---|---|
| Inkonsistente Anzahl von Ergebnissen bei verschiedenen Suchanfragen | Wenn Sie Abfragen für mehrere Log-Quellen (Alle) ausführen, werden für kürzlich aufgenommene Logs aufgrund des Limits von 1.000 Ergebnissen für große Batches (Batches mit mindestens 1.000 Ereignissen) im Batch-Speicher und der verteilten Stichprobenerhebung unterschiedliche Gesamtzahlen für die Ergebnisse zurückgegeben als bei Abfragen für einzelne Quellen. | Wählen Sie im Menü Log-Quellen bestimmte Log-Quellen aus oder filtern Sie mit log_source = IN["LOG_SOURCE_NAME"] und schränken Sie den Suchzeitraum ein. |
| Abgeschnittene oder auf Stichproben basierende Ergebnisse (Limit von 10.000 Ergebnissen erreicht) | Die Suchanfrage hat in der Benutzeroberfläche, im CSV-Export oder in der SearchRawLogs API (page_size) mehr als 10.000 Logs insgesamt ergeben. Es wird nur eine Stichprobe mit 10.000 Ergebnissen zurückgegeben. |
Verkürzen Sie den Abfragezeitraum (z. B. auf 1 Stunde) und fügen Sie bestimmte reguläre RE2-Ausdrücke oder parsed = false-Filter hinzu. |
| Abweichungen bei der Prüfung der volumetrischen Aufnahme | Die Anzahl der Rohlog-Suchergebnisse stimmt nicht mit dem gesamten aufgenommenen Logvolumen überein, da vor der In-Memory-Filterung schützende Batch- und Shard-Limits angewendet werden. | Verwenden Sie die UDM-Suche, Statistiken und Aggregationen in der UDM-Suche oder Messwerte zum Status der Aufnahme, um die Vollständigkeit der Aufnahme und die volumetrische Parität zu prüfen. |
| Abfrage überschreitet Zeichenbeschränkung | Der Suchstring überschreitet das Limit von 150 Zeichen für Rohlog-Abfragen. | Vereinfachen Sie den regulären Ausdruck oder teilen Sie die Untersuchung in kleinere, separate Abfragen auf, die auf einzelne Log-Quellen ausgerichtet sind. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten