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 énonce un plan succinct avant d'exécuter la moindre action ; il inclut quelques explications bénignes pour tester la réponse malveillante, afin que vous puissiez suivre son raisonnement.
  2. Collecte du 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 auparavant pour évaluer son niveau de bruit, et examine les signaux sur l'alerte.
  3. Étudie les preuves. Genie exécute des query sur vos données de sécurité pour tester chaque explication, en s’appuyant sur les entités présentes dans l’alerte, telles que les utilisateurs, les adresses IP et les hôtes.
  4. Délivre un verdict. Genie classe l'alerte comme un vrai positif, un faux positif ou un bénin positif, sur la base des preuves qu'il a recueillies.
  5. Met à jour l’alerte. Genie publie un commentaire d'enquête et définit la classification, l'état et le responsable de 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 et le commentaire ajoutés à l'alerte par Genie. Genie définit la classification, l'état et le responsable en fonction de ses conclusions. Vérifiez qu'ils correspondent à votre évaluation avant de fermer l'alerte.

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.

Genie définit également la classification , l' état et le responsable de l'alerte, et 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
  • Tables système comme signals et operational_alerts
  • 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 utilise Apache Spark pour exécuter des règles de détection selon un calendrier fixe.

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 déterminer leur état de sécurité.
  • Règle de détection : 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 Lakeflow Connect.

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.

Contexte du flux de renseignement sur les menaces :

  • La table mitre_enterprise_attack_gold 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 mitre_enterprise_attack_gold, 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 mitre_enterprise_attack_gold, quelles menaces dois-je surveiller ? »

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

« Peux-tu examiner toute l’activité de l’IP 5.161.151.88 ? »

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 mitre_enterprise_attack_gold, quelles menaces dois-je surveiller ? »

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

« Peux-tu examiner toute l’activité de l’IP 5.161.151.88 ? »

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 d’intelligence 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.
  • Utilisez des instructions pour réduire les frictions. Une fois la table de renseignements sur les menaces documentée dans les instructions de Genie, les analystes peuvent poser des questions en langage naturel sans spécifier le nom des tables.
  • Itérer sur les instructions. Si Genie utilise systématiquement la mauvaise source, affinez vos instructions pour préciser quelle table utiliser pour quel 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 de 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’assets

  • « 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 de 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 les sources de données

  • « 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 ? »

Écrire SQL de détection

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 les requêtes existantes :

  • « 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 query

  • « 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 sur 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 »

Configurer le calendrier 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 utiliser un compute automatique ou dédié ? »

Fonctionne 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 workflows multi-é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 »

Résoudre 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 requêtes

  • « 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 »

Transformer les champs

  • « Ajouter un champ appelé 'is_admin' qui est vrai lorsque 'role' contient 'admin' »
  • « Renommer la colonne 'userId' en 'user_id' »
  • « Convertir le champ « timestamp » en un type TIMESTAMP approprié »
  • « Créer un champ calculé pour le nom complet de l'utilisateur à partir du prénom et du nom »

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' »

Rejoignez et enrichissez des données

  • « Joindre à notre annuaire utilisateur pour enrichir avec les informations de service »
  • "Ajouter des données de réputation IP à partir d’une table de référence externe"
  • « Comment configurer une jointure avec une autre table Unity Catalog ? »

Créer et modifier des tableaux

  • « 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 préservation des colonnes

  • "Conserver toutes les colonnes non référencées de la table brute"
  • « Intégrer les colonnes non référencées dans une seule colonne »
  • « 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é ? »

Comprendre les options de configuration

  • « Expliquer la différence entre addTables et modifyTables »
  • "Que fait 'unreferencedColumns.preserve' ?"
  • « Comment fonctionnent les jointures statiques dans les enrichissements ? »

Ressources supplémentaires​