Mapper et modéliser les entités

Compatible avec :

Les entités sont des objets représentant des points d'intérêt extraits des alertes, tels que les indicateurs de compromission (IoC) et les artefacts. Elles aident les analystes de sécurité en :

  • Suivi automatique de l'historique.
  • Regrouper les alertes sans intervention humaine.
  • Rechercher les activités malveillantes en fonction des relations entre les entités.
  • Faciliter la lecture des cas et la création de playbooks fluides.

Google Security Operations utilise un système automatisé (ontologie) pour extraire les principaux objets d'intérêt des alertes brutes afin de créer des entités. Chaque entité est représentée par un objet qui peut suivre son propre historique pour référence ultérieure.

Configurer l'ontologie des entités

Pour configurer l'ontologie, vous devez mapper et modéliser vos données. Cela implique de sélectionner une représentation visuelle pour les alertes et de définir les entités à extraire. Google SecOps fournit des règles d'ontologie préconfigurées pour les produits SIEM les plus populaires.

Le meilleur moment pour personnaliser l'ontologie est une fois qu'un connecteur extrait des données dans Google SecOps. Le processus comporte deux étapes principales :

  1. Modélisation : choisissez la représentation visuelle (modèle/famille visuelle) de vos données.
  2. Mappage : mappez les champs pour prendre en charge le modèle sélectionné et extraire les entités.

Entités acceptées

Les entités suivantes sont acceptées :

Type d'entité Description Format attendu Exemples
Adresse Adresse IPv4. Dépend du type d'adresse stockée. Adresses IP, par exemple 192.168.1.1
Application Une application logicielle. Chaîne de texte. nmap, Microsoft Word.
Cluster Groupe de ressources de calcul. Chaîne de texte. Nom du cluster Kubernetes, nom du cluster ou ID du cluster.
Conteneur Instance de conteneur. Chaîne de texte. ID ou nom du conteneur Docker.
Carte de crédit Un numéro de carte de crédit. Chaîne masquée ou tokenisée. Les données doivent être masquées ou tokenisées pour éviter de stocker des données PCI sensibles.
CVE Identifiant des failles et des risques courants. CVE-YYYY-NNNNN CVE-2023-12345
Base de données Instance ou système de base de données. Chaîne de texte. Nom de la base de données ou identifiant de la connexion.
Déploiement Un déploiement logiciel. Chaîne de texte. Identifiant de déploiement.
URL de destination URL (Uniform Resource Locator). Chaîne d'URL standard. https://example.com/path
Domaine Nom de domaine du réseau. Chaîne de domaine standard. example.com
Objet de l'e-mail Objet d'un e-mail. Chaîne de texte. Objet d'un e-mail.
Hachage de fichier Hachage cryptographique d'un fichier. Chaîne hexadécimale. Hachage MD5, SHA-1 ou SHA256.
Nom de fichier Nom d'un fichier. Chaîne de texte. malware.exe
Entité générique Type d'entité flexible pour les données ne correspondant à aucune autre catégorie. Cela dépend des données stockées. N/A
Nom d'hôte Libellé attribué à un appareil sur un réseau. Chaîne de nom d'hôte standard. workstation-01, server.example.com
Ensemble d'adresses IP Collection ou groupe d'adresses IP. Non défini explicitement (par exemple, chaîne séparée par des virgules, tableau JSON, référence à une liste). Plages, notations CIDR ou listes.
Pour obtenir un exemple, consultez Créer une liste d'adresses IP approuvées.
Adresse MAC Adresse Media Access Control. Six groupes de deux chiffres hexadécimaux, séparés par des tirets ou des deux-points. 00-1B-44-11-3A-B7, 00:1B:44:11:3A:B7
Numéro de téléphone Un numéro de téléphone Variable (E.164 est la norme). +18005550100
POD Groupe d'un ou plusieurs conteneurs dans Kubernetes, souvent avec un stockage/réseau partagé. Nom de la chaîne. Nom du POD Kubernetes.
Processus Instance d'un programme informatique en cours d'exécution. ID (PID) ou nom du processus. 1234, chrome.exe
Service Service logiciel s'exécutant sur un système. Chaîne du nom du service. sshd, apache2
Acteur malveillant Un individu ou un groupe qui représente une menace. Nom ou code de la chaîne. APT28, FIN7
Campagne de menaces Série d'activités de menace associées. Nom ou code de la campagne. Nom ou code de la campagne.
Signature de menace Modèle ou indicateur d'une menace connue. ID ou nom de la signature de la règle. ID de règle court, nom de règle YARA-L.
USB Un périphérique de bus série universel. Nom de l'appareil, numéro de série ou autres attributs. Identifiant du périphérique USB.
Nom d'utilisateur Identifiant d'un compte utilisateur. Noms d'utilisateur ou adresses e-mail simples. jdoe, jdoe@example.com

Cas d'utilisation : mapper et modéliser de nouvelles données d'e-mails ingérés

Ce cas d'utilisation montre comment mapper et modéliser de nouvelles données d'un e-mail ingéré :

  1. Accédez à Hub de contenu > Cas d'utilisation.
  2. Exécutez le scénario de test Zero to Hero. Pour savoir comment procéder, consultez Exécuter des cas d'utilisation.
  3. Dans l'onglet Demandes, sélectionnez la demande Mail dans la file d'attente des demandes, puis sélectionnez l'onglet Événements.
  4. À côté de l'alerte, cliquez sur Paramètres Configuration des événements pour ouvrir la page Configuration des événements.
  5. Dans la liste hiérarchique, cliquez sur Mail. Cela garantit que votre configuration fonctionnera automatiquement pour chaque élément de données provenant de ce produit (boîte de réception).
  6. Attribuez la famille visuelle qui représente le mieux les données. Dans ce cas d'utilisation, vous pouvez ignorer cette étape, car MailRelayOrTAP a déjà été sélectionné.
  7. Passez à Mappage et mappez les champs d'entité suivants. Double-cliquez sur chaque entité, puis sélectionnez le champ de données brutes correspondant dans le champ extrait. Vous pouvez fournir des champs alternatifs à partir desquels extraire les informations :
    • SourceUserName
    • DestinationUserName
    • DestinationURL
    • EmailSubject
  8. Cliquez sur Propriétés brutes de l'événement pour afficher les champs d'origine de l'e-mail.

Extraire des expressions régulières

Google SecOps n'est pas compatible avec les groupes d'expressions régulières. Pour extraire du texte du champ d'événement à l'aide de modèles d'expressions régulières, utilisez lookahead et lookbehind dans la logique de la fonction d'extraction.

Dans l'exemple suivant, le champ "event" affiche un grand bloc de texte :
Suspicious activity on A16_WWJ - Potential Account Takeover (33120)

Pour extraire uniquement le texte Suspicious activity on A16_WWJ, procédez comme suit :

  1. Saisissez l'expression régulière suivante dans le champ de valeur Fonction d'extraction :
    Suspicious activity on A16_WWJ(?=.*)
  2. Dans le champ Fonction de transformation, sélectionnez To_String.

Pour extraire uniquement le texte après Suspicious activity on A16_WWJ :

  1. Saisissez l'expression régulière suivante dans le champ de valeur Fonction d'extraction :
    (?<=Suspicious activity on A16_WWJ).*
  2. Dans le champ Fonction de transformation, sélectionnez To_String.

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