Rechercher des journaux bruts

Compatible avec :

Lorsque vous effectuez une recherche, Google Security Operations examine d'abord les données de sécurité qui ont été ingérées, analysées et normalisées. Si les informations ne figurent pas dans les données normalisées, vous pouvez utiliser la recherche dans les journaux bruts pour examiner les journaux bruts non analysés. Vous pouvez également utiliser des expressions régulières pour examiner les journaux bruts plus en détail.

Vous pouvez utiliser la recherche de journaux bruts pour examiner les artefacts qui apparaissent dans les journaux (mais qui ne sont pas indexés), y compris :

  • Noms d'utilisateur
  • Noms de fichiers
  • Clés de registre
  • Arguments de ligne de commande
  • Données brutes liées aux requêtes HTTP
  • Noms de domaine basés sur des expressions régulières
  • Espaces de noms et adresses des composants

La recherche dans les journaux bruts est un outil d'investigation spécialisé conçu pour les cas d'utilisation suivants :

  • Vérifiez la normalisation et résolvez les problèmes liés aux analyseurs : comparez les entrées de journaux bruts avec les événements UDM générés pour identifier les lacunes de normalisation, vérifier le mappage des champs ou identifier les journaux non analysés.
  • Enquêtes approfondies et chasse aux menaces : recherchez des indicateurs de compromission (IOC), des arguments de ligne de commande, des clés de registre, des chemins d'accès aux fichiers ou des chaînes spécifiques non mappés à des champs UDM structurés, qui sont peu courants ou non indexés.
  • Examiner les données non structurées et personnalisées : interrogez immédiatement les sources de journaux nouvellement intégrées ou propriétaires sans attendre le développement d'un analyseur UDM.

Vous pouvez effectuer une recherche dans les journaux bruts à l'aide de la barre de recherche située sur la page de destination ou dans la barre de menu. Sélectionnez l'une des méthodes suivantes :

Utiliser le format raw=

Vous pouvez interroger les journaux bruts à l'aide du format raw=. Il s'agit de la méthode recommandée.

  • Pour rechercher une sous-chaîne, placez le terme de recherche entre guillemets. Par exemple, raw = "ABC".
  • Pour effectuer une recherche à l'aide d'une expression régulière, placez l'expression entre des barres obliques (/). Par exemple, raw = /AB*C/.
  • Facultatif : Filtrez par état d'analyse à l'aide du mot clé parsed :
    • parsed = false : affiche les journaux non analysés pour lesquels aucun événement UDM n'a été généré.
    • parsed = true : affiche les journaux qui ont été correctement analysés en événements UDM.

Ancienne méthode : utiliser le prompt de recherche dans les journaux bruts

  • Dans la barre de recherche, saisissez une chaîne de recherche d'au moins quatre caractères (par exemple, un hachage MD5), y compris des caractères génériques.
  • Si la recherche ne renvoie aucun résultat, l'option Recherche dans les journaux bruts s'affiche.
  • Facultatif : Spécifiez l'heure de début et l'heure de fin. La période par défaut est de sept jours.
  • Facultatif : Dans la liste Sources de journaux, sélectionnez une ou plusieurs sources de journaux. Le paramètre par défaut est Tous.
  • Cliquez sur Rechercher.

Les événements associés à la chaîne de recherche s'affichent dans la chronologie. Cliquez sur un événement (ou sur l'icône du journal brut) pour ouvrir le journal brut correspondant. La requête de recherche et les filtres appliqués sont également visibles sur la page Recherche de journaux bruts.

Optimiser les requêtes de journaux bruts

Les recherches dans les journaux bruts analysent les charges utiles des journaux non indexés et sont généralement plus lentes que les recherches UDM. Pour améliorer vos performances de recherche, limitez la quantité de données sur lesquelles vous effectuez votre requête en modifiant les paramètres de recherche :

  • Sélecteur de période : limitez la période des données sur lesquelles vous exécutez votre requête.
  • Sélecteur de sources de journaux : limitez votre recherche de journaux bruts aux journaux provenant de sources spécifiques, et non à toutes vos sources de journaux. Dans le menu Sources de journaux, sélectionnez une ou plusieurs sources de journaux (la valeur par défaut est Toutes), ou ajoutez le filtre log_source directement à votre requête (log_source = IN["<var>LOG_SOURCE_NAME</var>"]).
  • Expressions régulières : utilisez une expression régulière spécifique. Par exemple, raw = /goo\w{3}\.com/ correspond à google.com, goodle.com et goog1e.com pour limiter davantage le champ d'application de votre recherche de journaux bruts.

Exemples de recherches ciblées dans les journaux bruts

Combinez le préfixe raw = avec les filtres log_source et parsed pour limiter votre recherche aux flux pertinents et empêcher les sources de journaux à fort volume de tronquer vos résultats :

  • Rechercher une chaîne exacte dans une seule source de journaux :

    raw = "<var>SEARCH_TERM</var>" and log_source = IN["<var>LOG_SOURCE_NAME</var>"]
    
  • Rechercher dans un sous-ensemble de sources de journaux :

    raw = "<var>SEARCH_TERM</var>" and log_source = IN["<var>LOG_SOURCE_1</var>", "<var>LOG_SOURCE_2</var>"]
    
  • Rechercher des journaux non analysés avec une expression régulière :

    raw = /<var>REGULAR_EXPRESSION</var>/ and parsed = false and log_source = IN["<var>LOG_SOURCE_NAME</var>"]
    

Tendance au fil du temps

Utilisez le graphique Tendance au fil du temps pour comprendre la distribution des journaux bruts au cours de la période de votre recherche. Vous pouvez appliquer des filtres au graphique pour rechercher les journaux analysés et les journaux bruts. Cliquez sur Développer  (ou Réduire ) pour développer ou réduire le graphique.

Résultats des journaux bruts

Lorsque vous effectuez une recherche dans les journaux bruts, les résultats sont une combinaison d'événements UDM et d'entités générés par les journaux bruts correspondant à vos recherches, ainsi que les journaux bruts. Vous pouvez explorer davantage les résultats de recherche en cliquant sur l'un d'eux :

  • Événement ou entité UDM : si vous cliquez sur un événement ou une entité UDM, Google SecOps affiche les événements et entités associés, ainsi que le journal brut associé à cet élément.

  • Journal brut : si vous cliquez sur un journal brut, Google SecOps affiche l'intégralité de la ligne du journal brut, ainsi que la source de ce journal.

Limites de résultats et échantillonnage

Les recherches dans les journaux bruts sont soumises aux limites suivantes en termes de résultats et de requêtes :

  • Limite de résultats pour les grands lots : pour les journaux récemment ingérés stockés dans un stockage par lots avant leur exportation vers un stockage en colonnes à long terme, une limite de 1 000 résultats est appliquée aux grands lots de journaux contenant 1 000 événements ou plus. Une fois les journaux exportés vers un stockage de colonnes à long terme, cette limite de 1 000 résultats par lot ne s'applique plus.
  • Limite totale d'exportation de l'UI et des fichiers CSV : une seule recherche de journaux bruts dans la console Google SecOps ou l'exportation d'un fichier CSV renvoient jusqu'à 10 000 résultats au total pour toutes les sources de journaux interrogées. Si une requête correspond à plus de 10 000 entrées, Google SecOps renvoie un échantillon représentatif de 10 000 résultats.
  • Limite de résultats de l'API : l'API Raw Log Search (SearchRawLogs) applique une limite maximale de 10 000 entrées par requête (page_size).
  • Longueur de la requête de recherche : le champ de saisie de la recherche dans les journaux bruts est limité à 150 caractères.

Lorsque vous effectuez des recherches simultanément dans plusieurs sources de journaux (en laissant le menu Sources de journaux défini sur Toutes), Google SecOps exécute les requêtes en parallèle dans des partitions de stockage distribuées avec des limites de requêtes protectrices appliquées avant le filtrage en mémoire pour maintenir des temps de réponse rapides. En raison de cette architecture distribuée, le nombre total de résultats renvoyés peut varier entre les requêtes multisources larges et les requêtes monosources en raison des facteurs suivants :

  • Volumes d'ingestion variables : les sources de journaux à volume élevé génèrent de grands lots qui atteignent la limite de 1 000 résultats plus rapidement que les sources à volume plus faible.
  • Échantillonnage par lot distribué : les grands lots contenant 1 000 événements ou plus sont limités à 1 000 résultats renvoyés avant l'application de la limite globale d'échantillonnage des requêtes de 10 000 résultats, ce qui modifie la proportion de journaux échantillonnés renvoyés pour les requêtes.
  • Niveaux de stockage récents et historiques : les journaux récemment ingérés sont interrogés à partir d'un stockage par lot à faible latence pour une disponibilité immédiate de la recherche, où la limite de 1 000 résultats s'applique aux grands lots. Une fois les journaux exportés vers un stockage de colonnes à long terme, les requêtes analysent directement les entrées de journal individuelles, sans la limite de 1 000 résultats par lot (jusqu'à la limite totale de 10 000 résultats par requête). Cela permet d'obtenir des nombres de résultats plus cohérents pour les recherches historiques.

Télécharger les résultats des journaux bruts

Pour télécharger les résultats bruts du journal dans un fichier CSV, dans le tableau des résultats Journaux bruts, cliquez sur Plus > Télécharger au format CSV.

Par défaut, le fichier CSV inclut toujours la colonne Journal brut. Vous pouvez utiliser le bouton Colonnes pour ouvrir le gestionnaire de colonnes et supprimer ou ajouter les colonnes Code temporel et Type. Si vous ajoutez d'autres colonnes, elles s'afficheront dans le tableau, mais ne seront pas téléchargées dans le fichier CSV.

Pour télécharger les champs UDM, exécutez une recherche UDM, sélectionnez les colonnes requises, puis téléchargez-les au format CSV.

Si l'erreur Failed to execute 'showSaveFilePicker' s'affiche dans Google Chrome, procédez comme suit :

  1. Accédez à Appareils > Chrome > Paramètres.

  2. Sélectionnez Utilisateurs et navigateurs.

  3. Localisez le paramètre Accès en écriture au système de fichiers.

  4. Ajoutez prefix.backstory.chronicle.security à la liste des sites autorisés.

Expressions régulières

Vous pouvez utiliser des expressions régulières dans Google SecOps pour rechercher et faire correspondre des ensembles de chaînes de caractères dans vos données de sécurité. Les expressions régulières vous aident à affiner votre recherche en utilisant des fragments d'informations plutôt qu'une correspondance exacte.

Pour effectuer une recherche à l'aide de la syntaxe des expressions régulières :

  • Dans SIEM Search, saisissez raw = /YOUR_REGEX/ dans le champ de recherche, puis cliquez sur Run Search (Exécuter la recherche).
  • Dans l'ancienne barre de recherche :
    1. Saisissez une expression régulière (entre 4 et 66 caractères) dans le champ Rechercher.
    2. Cochez la case Exécuter la requête en tant qu'expression régulière, puis cliquez sur Rechercher (ou sur Mettre à jour la recherche sur la page des résultats de la recherche de journaux bruts).

L'infrastructure d'expressions régulières Google SecOps est basée sur Google RE2, un moteur d'expressions régulières Open Source. Google SecOps utilise la même syntaxe d'expression régulière.

Le tableau suivant présente certaines des syntaxes d'expressions régulières courantes que vous pouvez utiliser pour vos recherches.

N'importe quel caractère .
x nombre de caractères quelconques {x}
Classe de personnage [xyz]
Classe de caractères niée [^xyz]
Alphanumérique (0-9A-Za-z) [[:alnum:]]
Alphabétique (A-Za-z) [[:alpha:]]
Chiffres (0-9) [[:digit:]]
Minuscules (a-z) [[:lower:]]
Majuscules (A-Z) [[:upper:]]
Caractères de mot (0-9A-Za-z_) [[:word:]]
Chiffre hexadécimal (0-9A-Fa-f) [[:xdigit:]]
Symbole point d'interrogation (?) Correspond à zéro ou une occurrence de l'élément précédent.
Astérisque (*) Correspond à zéro ou plusieurs occurrences du caractère ou du groupe qui précède.
Signe plus (+) Correspond à une ou plusieurs occurrences du caractère ou du groupe précédents.

Les exemples suivants montrent comment utiliser les expressions régulières pour rechercher des données :

  • goo.le\.com : correspond à toute chaîne commençant par goo, suivie de n'importe quel caractère, puis de le.com, comme google.com ou goo0le.com.
  • goo\w{3}\.com : correspond aux chaînes commençant par goo, suivies de trois caractères de mot exactement (\w) et se terminant par .com. Il peut par exemple s'agir de google.com, goojle.com ou goodle.com.
  • [[:digit:]]\.[[:alpha:]] : correspond à une chaîne comportant un seul chiffre, suivi d'un point (.), puis d'un seul caractère alphabétique, comme 34323.system, 23458.office ou 897.net.

Exemples d'expressions régulières pour rechercher des journaux Windows

Cette section fournit des chaînes de requête d'expression régulière que vous pouvez utiliser avec la recherche de journaux bruts Google SecOps pour trouver les événements Windows couramment surveillés. Ces exemples supposent que les messages du journal Windows sont au format JSON.

Pour en savoir plus sur les ID d'événement Windows couramment surveillés, consultez Événements à surveiller. Les exemples fournis suivent un schéma similaire, décrit dans ces cas d'utilisation.

Cas d'utilisation : renvoyer les événements avec l'EventID 1150
Chaîne d'expression régulière : \"EventID\"\:\s*1150
Valeurs correspondantes : "EventID":1150
Cas d'utilisation : renvoyer les événements dont l'ID est 1150 ou 1151
Chaîne d'expression régulière (?:\"EventID\"\:\s*)(?:1150|1151)
Valeurs correspondantes "EventID":1150 et "EventID":1151
Cas d'utilisation : renvoyer les événements dont l'ID d'événement est 1150 ou 1151, et dont l'ID de thread est 9092
Chaîne d'expression régulière (?:\"EventID\"\:\s*)(?:1150|1151).*(?:\"ThreadID\"\:\s*9092)
Valeurs correspondantes "EventID":1150 <...any number of characters...> "ThreadID":9092
et
"EventID":1151 <...any number of characters...> "ThreadID":9092

Rechercher des événements de gestion de compte

Ces chaînes de requête d'expression régulière identifient les événements courants de gestion de compte à l'aide de l'attribut EventID.

Type d'événement Expression régulière
Compte utilisateur créé "EventID\"\:\s*4720
Compte utilisateur activé "EventID\"\:\s*4722
Compte utilisateur désactivé "EventID\"\:\s*4725
Compte utilisateur supprimé "EventID\"\:\s*4726
Modification des droits d'utilisateur "EventID\"\:\s*4703
Membre ajouté à un groupe mondial avec sécurité activée "EventID\"\:\s*4728
Membre supprimé d'un groupe mondial avec sécurité activée "EventID\"\:\s*4729
Un groupe mondial avec sécurité activée a été supprimé "EventID\"\:\s*4730

Trouver les événements de connexion réussie

Ces chaînes de requête d'expression régulière identifient les types d'événements de connexion réussie à l'aide des attributs EventID et LogonType.

Type d'événement Expression régulière
Connexion réussie "EventID\"\:\s*4624
Ouverture de session réussie – Interactive (LogonType=2) "EventID\"\:\s*4624.*?LogonType\"\:\s*\"2\"
Connexion réussie : connexion par lot (LogonType=4) "EventID\"\:\s*4624.*?LogonType\"\:\s*\"4\"
Connexion réussie : connexion au service (LogonType=5) "EventID\"\:\s*4624.*?LogonType\"\:\s*\"5\"
Connexion réussie : connexion interactive à distance (LogonType=10) "EventID\"\:\s*4624.*?LogonType\"\:\s*\"10\"
Connexion réussie : interactive, par lot, de service ou interactive à distance (?:"EventID\"\:\s*4624.*?LogonType\"\:\s*\")(?:2|4|5|10)\"

Rechercher les événements d'échec de connexion

Ces chaînes de requête d'expression régulière identifient les types d'événements d'échec de connexion à l'aide des attributs EventID et LogonType.

Type d'événement Expression régulière
Échec de la connexion "EventID\"\:\s*4625
Échec de l'ouverture de session – Interactive (LogonType=2) "EventID\"\:\s*4625.*?LogonType\"\:\s*\"2\"
Échec de la connexion : connexion par lot (LogonType=4) "EventID\"\:\s*4625.*?LogonType\"\:\s*\"4\"
Échec de connexion : connexion au service (LogonType=5) "EventID\"\:\s*4625.*?LogonType\"\:\s*\"5\"
Échec de la connexion : connexion interactive à distance (LogonType=10) "EventID\"\:\s*4625.*?LogonType\"\:\s*\"10\"
Échec de connexion : interactive, par lot, de service ou interactive à distance (?:"EventID\"\:\s*4625.*LogonType\"\:\s*\")(?:2|4|5|10)\"

Rechercher des événements de processus, de service et de tâche

Ces chaînes de requête d'expression régulière identifient certains événements de processus et de service à l'aide de l'attribut EventID.

Type d'événement Expression régulière
Début du processus "EventID\"\:\s*4688
Sortie du processus "EventID\"\:\s*4689
Service installé "EventID\"\:\s*4697
Nouveau service créé "EventID\"\:\s*7045
Tâche planifiée créée "EventID\"\:\s*4698

Ces chaînes de requête d'expression régulière identifient différents types d'événements liés aux processus et aux services à l'aide de l'attribut EventID.

Type d'événement Expression régulière
Journal d'audit effacé "EventID\"\:\s*1102
Tentative d'accès à un objet "EventID\"\:\s*4663
Accès partagé "EventID\"\:\s*5140

Dépannage

Utilisez le tableau suivant pour résoudre les problèmes courants liés à la recherche de journaux bruts :

Problème Description Corriger
Incohérences dans le nombre de résultats entre les recherches Les requêtes portant sur plusieurs sources de journaux (Tous) renvoient un nombre total de résultats variable par rapport aux requêtes portant sur une seule source pour les journaux récemment ingérés. Cela est dû à la limite de 1 000 résultats pour les grands lots (lots comportant 1 000 événements ou plus) dans le stockage par lots et l'échantillonnage distribué. Sélectionnez des sources de journaux spécifiques dans le menu Sources de journaux ou filtrez à l'aide de log_source = IN["LOG_SOURCE_NAME"], puis affinez la plage de recherche.
Résultats tronqués ou échantillonnés (limite de 10 000 résultats atteinte) La requête de recherche a trouvé plus de 10 000 journaux au total dans l'UI, l'exportation CSV ou l'API SearchRawLogs (page_size), et n'a renvoyé qu'un échantillon de 10 000 résultats. Raccourcissez la période de la requête (par exemple, à une heure) et ajoutez des expressions régulières RE2 spécifiques ou des filtres parsed = false.
Écarts d'audit d'ingestion volumétrique Le nombre de résultats de recherche de journaux bruts ne correspond pas au volume total de journaux ingérés, car des limites de protection par lot et par partition sont appliquées avant le filtrage en mémoire. Utilisez la recherche UDM, les statistiques et les agrégations dans la recherche UDM, ou les métriques sur l'état de l'ingestion pour vérifier l'exhaustivité de l'ingestion et la parité volumétrique.
La requête dépasse la limite de caractères La chaîne de recherche dépasse la limite de 150 caractères pour les requêtes de journaux bruts. Simplifiez l'expression régulière ou divisez l'investigation en requêtes plus petites et distinctes ciblant des sources de journaux individuelles.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.