Aller au contenu principal

Étudier avec Genie

info

Aperçu

Lakewatch est en aperçu privé. Pour demander l’accès, contactez votre équipe de compte Databricks.

Databricks Genie apporte une assistance aux données en langage naturel à Lakewatch. Vous utiliserez principalement deux parties de la famille Genie :

  • Genie Code est un assistant IA intégré dans l’interface utilisateur de Lakewatch. Utilisez-le pour obtenir une aide rapide et contextuelle : écrire du SQL, créer des règles de détection et explorer les sources de données. Cliquez sur Genie dans le menu de gauche, ou sur l’icône Genie dans le coin supérieur droit, pour l’ouvrir à côté de n’importe quelle page.
  • Les agents Genie (anciennement Genie spaces) sont des environnements dédiés pour des investigations approfondies et en plusieurs étapes, alimentés par le Research Agent de Genie.

Cette page décrit l’utilisation des deux pour les workflows de sécurité Lakewatch. Pour savoir ce qu’est Genie, comment sa facturation est effectuée et obtenir des informations sur la configuration générale, suivez les liens ci-dessus.

Alertes de triage avec Genie​

Genie peut trier une alerte de sécurité pour vous à partir de la page de détails de l'alerte. Lorsque vous sélectionnez Trier avec Genie sur une alerte, Genie agit comme un analyste senior : il élabore un plan d’enquête, collecte le contexte et les preuves pertinents, rend un verdict et met à jour l’alerte avec ses conclusions.

Le bouton Triage avec Genie n’est disponible que sur les alertes de sécurité. Il n’apparaît pas sur les erreurs système.

Comment Genie trie une alerte​

Lorsque vous demandez à Genie de trier une alerte de sécurité, il suit les phases suivantes :

  1. Planifie l’enquête : Genie indique un bref plan avant d’exécuter quoi que ce soit, y compris quelques explications bénignes à tester en même temps que l’explication malveillante, afin que vous puissiez suivre son raisonnement.
  2. Collecte le contexte : Genie lit la règle de détection qui a produit l’alerte, examine la fréquence à laquelle cette règle a été déclenchée précédemment pour mesurer son niveau de bruit, et examine les signaux sur l’alerte.
  3. Enquête sur les preuves : Genie exécute des query sur vos données de sécurité pour tester chaque explication, en pivotant sur les entités dans l’alerte, comme les utilisateurs, les adresses IP et les hôtes.
  4. Atteint un verdict : Genie classifie l’alerte comme un vrai positif, un faux positif ou un positif bénin, en fonction des preuves qu’il a recueillies. Si les preuves sont insuffisantes, Genie l’indique et laisse la classification et l’état de l’alerte inchangés.
  5. Met à jour l’alerte : avec votre approbation, Genie publie un commentaire d’enquête, définit la classification et l’état de l’alerte, et vous attribue l’alerte.

Trier une alerte​

Pour trier une alerte de sécurité avec Genie :

  1. Allez dans Explorer > Alertes et ouvrez l’alerte de sécurité que vous voulez examiner.
  2. Sélectionnez Triage avec Genie en haut de l’alerte. Genie s’ouvre et start l’investigation. Si vous avez déjà effectué le triage de cette alerte, le bouton affiche plutôt Reprendre le triage et rouvre l’investigation précédente.
  3. Examinez le plan proposé par Genie et suivez sa progression pendant qu’il recueille le contexte et exécute ses requêtes d’investigation.
  4. Examinez le verdict. Genie demande votre approbation avant d’ajouter son commentaire à l’alerte, et à nouveau avant de définir la classification et l’état et de vous attribuer l’alerte. Approuvez chaque modification uniquement si elle correspond à votre évaluation.

Ce que produit Genie​

Genie enregistre son enquête en tant que commentaire sur l’alerte, structuré pour un lecteur qui n’a pas exécuté les requêtes :

  • Résumé : le verdict et la cause principale, en quelques phrases.
  • Évaluation : classement (vrai, faux ou positif bénin) et état de l’alerte résultant.
  • Preuve fondée sur les risques : une table de chaque conclusion ayant façonné le verdict, avec le délai et les données dont elle provient.
  • Évaluation de la qualité de la détection : une évaluation de la règle déclenchée, y compris les lacunes à l’origine des faux positifs et la solution recommandée.
  • Étapes suivantes : Actions de suivi recommandées, divisées en travaux immédiats et différés.

Après votre approbation, Genie définit également la classification et l’état de l’alerte et vous l’affecte. Genie enregistre la conversation de triage dans l’alerte afin que vous puissiez la rouvrir ultérieurement pour examiner ou poursuivre l’enquête.

Limitations​

  • Le triage s'exécute uniquement sur les alertes de sécurité. Le bouton Trier avec Genie n'est pas disponible en cas d'erreurs système.
  • Genie a besoin d’un SQL warehouse en cours d’exécution pour lire les événements de l’alerte et exécuter ses queries d’investigation.
  • Genie pivote sur les signaux de l'alerte et les entités auxquels ils font référence, tels que les utilisateurs, les adresses IP et les hôtes.

Configurer un agent Genie Agent pour les renseignements sur les menaces​

Le Research Agent (RA) de Genie analyse les flux de renseignements sur les menaces et fait apparaître les menaces potentielles à partir de vos données de sécurité. Cette section explique comment configurer un Genie Agent pour les workflows de renseignements sur les menaces Lakewatch.

Prérequis​

  • Tables analysées ingérées et disponibles dans votre catalogue
  • Un flux d'informations sur les menaces chargé dans Databricks (par exemple, un flux TAXII/STIX mappé à une table)
  • La fonctionnalité Research Agent est activée pour votre workspace

Étape 1 : Créez un Genie Agent avec vos données de sécurité​

Créez un Genie Agent et connectez les données que Genie devra query :

  • Toutes les tables pertinentes analysées
  • La vue signals dans le schéma __lakewatch de votre catalogue
  • La table système system.lakewatch.system_events
  • Votre table de renseignements sur les menaces
remarque

Un Genie Agent prend en charge un maximum de 30 tables. Pour des environnements plus larges, créez des agents spécifiques à un sujet (par exemple, « Endpoint RA »).

Étape 2 : activez la fonctionnalité Research Agent​

Dans votre nouvel Genie Agent, basculez le mode de query de Chat à Research Agent . Cela permet à Genie d’effectuer une analyse en plusieurs étapes sur vos données plutôt que de répondre à des questions uniques.

Étape 3 : Ajouter des instructions​

Les bonnes instructions permettent à Genie de comprendre votre modèle de données et de savoir où chercher pour répondre aux questions. Allez dans Configurer > Instructions > Texte et ajoutez un contexte couvrant les domaines suivants.

Conseils généraux :

  • Concentrez les queries sur les tables analysées, sauf si l’utilisateur demande explicitement des données brutes.
  • Lakewatch exécute des règles de détection selon un calendrier.

Terminologie de base :

  • Signal : alerte générée lorsqu’une règle de détection correspond à ses conditions.
  • Entité : utilisateurs, hôtes, applications ou périphériques réseau.
  • Asset : ressources protégées suivies pour leur statut de sécurité.
  • Règle de détection : Une query SQL enregistrée qui recherche des modèles spécifiques dans les données d’événement.
  • Source de données : un pipeline de données qui ingère des données de sécurité provenant de sources externes (par exemple, AWS CloudTrail, Akamai WAF), de tables Unity Catalog existantes ou de connecteurs d’API.

Contexte du schéma :

  • Les tables analysées contiennent vos champs déclarés ainsi que des colonnes gérées par Lakewatch (lw_id, lw_meta, lw_observables).
  • Niveaux de gravité : 1=Informationnel, 2=Faible, 3=Moyen, 4=Élevé, 5=Critique, 6=Fatal.

Dans l’instruction suivante, remplacez <threat-intel-table> par le nom de votre table de renseignements sur les menaces.

Contexte du flux de renseignement sur les menaces :

  • La table <threat-intel-table> contient des flux de menaces récents. Les utilisateurs peuvent utiliser cette table pour comprendre les menaces qu'ils devraient prendre en compte.
astuce

Il est important de nommer explicitement la table de renseignement sur les menaces dans vos instructions. Sans ce contexte, Genie pourrait répondre aux questions sur les menaces en utilisant d’autres tables (comme les signaux) plutôt que votre flux de renseignements.

Étape 4 : Effectuer une query pour identifier les menaces​

Une fois votre agent configuré, posez des questions à Genie sur votre paysage de menaces.

Si Genie ne référence pas automatiquement votre table de renseignements sur les menaces, vous pouvez :

  • Nommez explicitement la table dans votre question : « En utilisant la table <threat-intel-table>, quelles menaces doivent me préoccuper ? »
  • Ajoutez des instructions pointant Genie vers la table pour les requêtes liées aux menaces (voir Étape 3).

Exemples de query​

Saisir une requête

Ce que Genie renvoie

« Quelles menaces devraient me préoccuper ? »

Résumé des menaces actives, tiré des signaux

« En utilisant la table <threat-intel-table>, quelles menaces doivent me préoccuper ? »

Analyse des techniques MITRE ATT&CK, des groupes d'acteurs menaçants et des familles de logiciels malveillants à partir de votre flux d'informations

« Y a-t-il de nouvelles menaces que je devrais envisager ou rechercher ? »

Modèles d’attaque récemment mis à jour, familles de logiciels malveillants émergents et campagnes actives

« Trouver les lacunes dans la couverture de détection pour les tactiques de commandement et de contrôle. »

Analyse des écarts entre les tactiques MITRE ATT&CK

« Pouvez-vous examiner toute l'activité de l'adresse IP 203.0.113.42 ? »

Résumé de l'enquête sur une entité spécifique

« Expliquez-moi ce qu’il s’est passé concernant le défaçage du compartiment S3 de l’entreprise. »

Résumé des attaques par phase avec les étapes suivantes

Saisir une requête

Ce que Genie renvoie

« Quelles menaces devraient me préoccuper ? »

Résumé des menaces actives, tiré des signaux

« En utilisant la table <threat-intel-table>, quelles menaces doivent me préoccuper ? »

Analyse des techniques MITRE ATT&CK, des groupes d'acteurs menaçants et des familles de logiciels malveillants à partir de votre flux d'informations

« Y a-t-il de nouvelles menaces que je devrais envisager ou rechercher ? »

Modèles d’attaque récemment mis à jour, familles de logiciels malveillants émergents et campagnes actives

« Trouver les lacunes dans la couverture de détection pour les tactiques de commandement et de contrôle. »

Analyse des écarts entre les tactiques MITRE ATT&CK

« Pouvez-vous examiner toute l'activité de l'adresse IP 203.0.113.42 ? »

Résumé de l'enquête sur une entité spécifique

« Expliquez-moi ce qu’il s’est passé concernant le défaçage du compartiment S3 de l’entreprise. »

Résumé des attaques par phase avec les étapes suivantes

Dépannage​

Genie n’utilise pas la table de renseignements sur les menaces​

Ajoutez des instructions explicites dans la configuration de Genie Agent pointant vers le nom de la table et son objectif. Genie default la table qui semble la plus pertinente par rapport à la question. Sans indice, il peut utiliser des signaux à la place.

Le flux de renseignements sur les menaces n'est pas dans Databricks​

Le flux doit être ingéré et structuré en tant que tableau avant que Genie puisse le query. Une table de clustering fluide mappant 1:1 sur vos champs de fichiers TAXII est l'approche recommandée.

Conseils pour obtenir les meilleurs résultats​

  • Soyez précis dans vos prompts : nommer la table directement améliore la pertinence.
  • Utiliser des instructions pour réduire la friction : Après avoir documenté la table de renseignements sur les menaces dans les instructions de Genie, les analystes peuvent poser des questions en langage naturel sans avoir à spécifier les noms de table.
  • Itérer sur les instructions : si Genie extrait systématiquement les données de la mauvaise source, affinez vos instructions pour préciser davantage la table à utiliser pour chaque type de question.
  • Pour en savoir plus sur la création et le réglage des agents, consultez Créer et gérer un Genie Agent.

Exemples de prompts pour Genie Code​

Genie Code peut vous aider à rédiger des requêtes SQL, à créer des règles de détection, à explorer des sources de données, etc. Les exemples d'invites ci-dessous sont organisés par cas d'usage.

astuce

Pour trier une alerte de sécurité avec Genie étape par étape, consultez Trier les alertes avec Genie.

Général​

Afficher les invites générales

query SQL :

  • « Exécuter cette query SQL : SELECT * FROM my_table LIMIT 10 »
  • « Exécuter une query pour compter les lignes dans la table d'authentification »
  • « Montre-moi le schéma de cette table »
  • « query la dernière heure des données de trafic réseau »

Découverte des tables et schéma :

  • "Rechercher toutes les tables dont le nom contient 'user'"
  • "Trouver des tables dans le catalogue de sécurité"
  • « Quelles colonnes contient la table http_activity ? »
  • « Afficher les types de données pour tous les champs de cette table »
  • « Lister tous les catalogues et schémas disponibles »

Recherche d’asset :

  • « Trouver les volumes Unity Catalog contenant des données sensibles »
  • « Rechercher des tableaux de bord liés au monitoring de sécurité »
  • « Rechercher les Notebooks qui query les Logs d’authentification »

Recherche dans la documentation :

  • « Rechercher dans la documentation les fonctions de date Spark SQL »
  • « Comment utiliser les fonctions de fenêtre dans Databricks ? »
  • "Trouver la documentation sur le time travel Delta Lake"

Détection​

Utilisez ces invites pour créer et gérer des règles de détection.

Afficher les prompts de détection

Décrivez ce que vous souhaitez détecter :

  • « Je veux détecter l'exfiltration de données de notre réseau »
  • « Créer une règle pour trouver les utilisateurs accédant à des fichiers sensibles auxquels ils ne devraient pas accéder »

Découvrir des tables :

  • « Quelles tables contiennent des événements d’authentification ? »
  • « Montre-moi des exemples de données de la table network_activity »
  • « Quels champs sont disponibles dans la table d’authentification ? »

Écrivez le SQL de détection pour différents types de logique de détection :

  • « Écrire du SQL pour détecter les IPs avec plus de 100 échecs de connexion en une heure » (threshold)
  • « Détecter les utilisateurs avec un nombre de connexions inhabituel par rapport à leur référence » (anomalie)
  • « Détecter lorsqu’un utilisateur se connecte à un hôte pour la première fois » (première apparition)
  • « Détecter les utilisateurs qui se connectent à partir de plusieurs pays dans un délai de 2 heures » (géo-anomalie)
  • « Détecter les query de base de données exécutées après minuit » (basé sur le temps)

Modifier le SQL de détection existant :

  • « Ajouter un filtre pour exclure les comptes de service »
  • « Augmentez le threshold pour réduire le bruit »
  • « Combiner ceci avec le filtrage après les heures d’ouverture »

Tester et déboguer les queries :

  • « Exécuter cette query de détection et me montrer les résultats »
  • « La query ne renvoie aucun résultat, aidez-moi à déboguer »
  • « Cette query est trop lente, aidez-moi à l’optimiser »
  • « Cela génère trop de faux positifs, comment puis-je le régler ? »

Mapper à MITRE ATT&CK :

  • « Quelles techniques MITRE s’appliquent aux attaques par force brute ? »
  • « Mapper cette détection aux tactiques et techniques appropriées »
  • « Montrez-moi les détails de la technique T1078 »

Définir la sortie du signal :

  • « Rédige un template de résumé pour cette alerte »
  • « Quels champs de contexte dois-je inclure ? »
  • « Montre-moi à quoi ressemble l’alerte avec des exemples de données »

Configurez la planification et le compute :

  • « Configurez cela pour qu’il s’exécute toutes les 15 minutes »
  • « Configurer un contrôle de conformité quotidien à 2 h 00 »
  • « Exécuter ceci uniquement pendant les heures de bureau pour économiser des coûts »
  • « Dois-je exécuter cette règle sur le compute serverless ou sur un SQL warehouse ? »

Travailler avec les règles existantes :

  • « Montre-moi la configuration de la règle “Connexion par force brute” »
  • « Lister toutes les règles de détection dans ce workspace »
  • « Modifier le threshold dans la règle existante »

En savoir plus sur les concepts de détection :

  • « Expliquer le fonctionnement de la détection de threshold »
  • « Quelle est la différence entre la détection d’anomalies et la détection de threshold ? »
  • "Quelles sont les implications financières des différents plannings ?"

Créer des flux de travail en plusieurs étapes :

  • « Créer une détection complète des attaques par force brute à partir de zéro »
  • « Créer une corrélation entre les échecs de connexion et l’élévation des privilèges »

Dépanner les détections :

  • « Pourquoi cette détection ne se Trigger pas ? »
  • « Vérifier que tous les noms de champ existent dans le schéma »
  • « La ligne de base est incorrecte, comment la reconstruire ? »

query​

Utilisez ces prompts sur la page des query.

Afficher les invites de query

Explorer les données :

  • « Combien de lignes se trouvent dans la table brute de la source de données Okta ? »
  • « Me montrer le schéma de table analysé pour AWS CloudTrail »
  • « Comparer le nombre de lignes entre les tables brutes et analysées pour la source de données crowdstrike_events »
  • « Montrer les 10 derniers événements de la table analysée Crowdstrike »

Affiner les résultats :

  • « Filtrer ces résultats pour n’afficher que les événements des États-Unis. »
  • « Ajouter une colonne qui calcule le score de risque »
  • "Supprimer les lignes dont le statut est 'test'"
  • « Regrouper ces résultats par utilisateur et compter les événements »
  • « Trier par colonne de timestamp par ordre décroissant »

Optimiser les query :

  • « Cette query prend une éternité. Comment puis-je l’accélérer ?»
  • « Elle a renvoyé 5 millions de lignes. Comment puis-je réduire cela ? »
  • « Cette query est-elle efficace ? »
  • « Comment puis-je optimiser cette JOINTURE ? »
  • « Aidez-moi à corriger l’erreur de query »

Interpréter les résultats :

  • « Que me disent ces résultats ? »
  • « Y a-t-il des modèles dans ces données ? »
  • « Résumer ce que je regarde »
  • « Que dois-je analyser à partir de ceci ? »

Source de données​

Utilisez ces prompts pour configurer et gérer vos sources de données.

Afficher les invites de source de données

Évaluer la qualité des données :

  • « Affiche-moi un résumé de la qualité de mes données »
  • « Y a-t-il des colonnes contenant principalement des valeurs nulles ? »
  • « Quelle est la distribution des valeurs dans la colonne 'event_type' ? »
  • « Analyser le schéma brut et me montrer les colonnes qui existent »
  • « Quelles colonnes contiennent des données JSON qui nécessitent une extraction ? »

Diagnostiquer les erreurs :

  • « Pourquoi l’aperçu de ma source de données a-t-il échoué ? »
  • « L'aperçu a renvoyé une erreur, aidez-moi à déboguer »
  • « Je reçois l'erreur 'la colonne n'existe pas', quel est le problème ? »

Extraire les champs JSON :

  • « Applatir l’objet JSON « user » en colonnes distinctes »
  • « Extraire des champs de la colonne JSON 'métadonnées' »
  • « Conserver la colonne JSON originale après l'extraction »
  • « Ajouter un préfixe aux champs JSON extraits »

Champs de transformation :

  • « Renommer la colonne 'userId' en 'user_id' »
  • « Convertir le champ « timestamp » en un type TIMESTAMP approprié »

Filtrer les données :

  • « Filtrer les adresses IP internes »
  • « N’inclure que les enregistrements dont le statut est 'success' »
  • « Exclure les enregistrements avec des valeurs nulles dans le champ 'user_id' »

Créer et modifier des tables :

  • « Créer une nouvelle table analysée uniquement pour les événements d’authentification »
  • « Diviser les données brutes en tables distinctes par event_type »
  • « Ajouter une table personnalisée avec des champs spécifiques uniquement »
  • « Modifier la table 'security_events' existante pour ajouter un nouveau champ »

Configurer la conservation des colonnes :

  • "Conserver toutes les colonnes non référencées de la table brute"
  • « Omettre les colonnes qui ne sont pas explicitement mappées »

Valider et prévisualiser :

  • « Valider cette expression de champ avant de l'appliquer »
  • Prévisualisez les résultats de la transformation
  • « Afficher des exemples de données après avoir appliqué ces modifications »

Obtenir des recommandations :

  • « Mes données semblent désordonnées, quelles transformations recommandez-vous ? »
  • « Existe-t-il des problèmes de qualité des données que je devrais résoudre ? »
  • « Quelle est la meilleure façon de gérer cette colonne avec un taux de valeurs nulles élevé ? »

Ressources supplémentaires​