Conformément à notre initiative d'ouverture, nous restons attachés à la transparence et souhaitons vous faire part de la manière dont nos efforts internes en matière d'IA R&D ont permis d'accroître la productivité de notre équipe de détection des menaces. Au cours des derniers mois, Elastic Security Labs s'est concentré sur l'accélération de nos flux de travail d'ingénierie de détection en exploitant des capacités d'IA plus génératives.
L'odyssée de l'exploration ONWeek
Chez Elastic, en dehors de notre longue tradition Space, Time, nous consacrons une semaine tous les 6 mois pour travailler de manière indépendante ou en équipe sur ce que nous appelons la ONWeek. Il s'agit d'une semaine au cours de laquelle nous nous éloignons tous du travail sur les caractéristiques, de la dette technologique et d'autres tâches similaires, pour nous concentrer sur des idées novatrices, des opportunités d'apprentissage actif, la recherche appliquée et le travail de validation du concept. Au cours de la précédente ONWeek en mai, nous avons exploré des idées pour exploiter les modèles de langage de grande taille (LLM) avec les fonctionnalités existantes d'Elastic afin d'améliorer le triage des alertes de sécurité et la productivité pour les analystes de niveau 1 et sur, les flux de travail de productivité interne, et la compréhension des blocs de construction fondamentaux pour notre expérimentation et notre mise au point. La figure 1 illustre les différentes possibilités de recherche dont nous disposons, qui impliquent l'ingestion d'événements, le passage de données par des invites personnalisées et la génération de différentes classes de contenu conçues pour différents flux de travail Elastic.
Figure 1 : Cas d'utilisation de la sécurité de GenAI
Fondamentalement, nous avons exploré plusieurs approches traditionnelles de ML, mais nous nous sommes finalement concentrés sur un début simple et une complexité croissante, tout en gardant à l'esprit ces outils et concepts :
- Commencez simple - Un mantra qui a guidé notre approche.
- Azure OpenAI - Accès au GPT-4 LLM
- Prompt Engineering - Développer des instructions sur mesure pour le LLM.
- LangChain - Bibliothèque Python pour aider à concevoir des candidatures pour le LLM.
L'un de nos objectifs est de rationaliser les flux de travail des ingénieurs de détection d'Elastic, afin de se concentrer sur de meilleures détections tout en mettant en valeur la profondeur et les nuances de nos langages de requête. En cours de route, nous passons du temps à expérimenter pour valider nos messages et les préparer à une utilisation opérationnelle. Nous voulons nous assurer qu'en itérant sur nos invites, nous n'introduisons pas accidentellement des régressions. Au fur et à mesure des progrès de l'IA, nous voulons que notre T&E veille à ce que tout ajustement, qu'il s'agisse d'une mise au point, d'un remplacement de modèle ou d'une modification rapide, soit délibéré. En fin de compte, nous aspirons à ce que nos analystes utilisent de manière transparente les dernières fonctionnalités de l'AIML, en appliquant les messages-guides ou les techniques de ML les plus appropriés dans le bon contexte.
Avec ces objectifs à l'esprit, notre premier cas d'utilisation de la recherche en mai s'est concentré sur la génération de requêtes. Nous avons rapidement appris qu'avec un minimum de données et d'ingénierie, nous pouvions enchaîner une série d'invites pour transformer les événements Elastic bruts en requêtes EQL.
Figure 2 : Génération de requêtes POC
À des fins d'expérimentation, nous avons simulé une activité suspecte à l'aide de nos scripts Red Team Automation (RTA) et capturé l'activité du point d'extrémité dans le SIEM par le biais de l'agent Elastic. La figure 2 présente des exemples d'événements de la pile Elastic, exportés vers des fichiers de test gold.json, qui comprennent les champs d'événements essentiels pour la génération de requêtes.
Nous avons ensuite demandé à GPT d'analyser la collection d'événements couvrant la fenêtre temporelle d'exécution de RTA et de se concentrer sur les événements présentant un comportement suspect. Dans notre POC, l'invite nous demandait d'identifier les valeurs clés liées à des anomalies potentielles. Nous avons ensuite demandé aux participants d'enchaîner les événements et de résumer l'ensemble de l'activité. Sur la base de tous les résumés, nous avons demandé à GPT de générer une liste d'indicateurs, sans se focaliser sur des valeurs spécifiques. Avec cette courte liste de comportements suspects, nous avons ensuite demandé à GPT de générer la requête. Un avantage significatif de notre développement open-source à long terme est que les modèles liés au GPT sont familiers avec le contenu Elastic, ce qui nous a permis de ne pas avoir à suradapter nos messages-guides.
Même si le passage des données brutes à une requête EQL était conceptuellement simple, nous avons tout de même rencontré des problèmes mineurs comme la disponibilité du service avec Azure OpenAI. L'utilisation des API d'inférence et d'intégration OpenAI et Azure OpenAI a été relativement peu coûteuse, puisque nous avons estimé qu'elle nous avait coûté environ 160 dollars en une semaine. Nous avons également envisagé d'utiliser le GCP Vertex AI Workbench pour faciliter le travail collaboratif sur les carnets Jupyter, mais la complexité de l'utilisation des modèles open source disponibles (OSS) les a rendus difficiles à utiliser pendant la courte ONWeek.
Figure 3 : Mai 2023 Principaux résultats de l'ONWeek
Nous avons profité de l'ONWeek pour faire évoluer notre feuille de route, notamment en dépassant les implémentations de recherche vectorielle en mémoire, basées sur des bibliothèques, pour passer à des entrepôts de données plus performants, évolutifs et prêts à la production pour le contenu de nos règles de détection dans Elasticsearch. Sur la base de nos premiers résultats, nous avons compris le potentiel et la viabilité de l'intégration de la GenAI dans le flux de travail des analystes (par ex. permettant la sélection de la fenêtre temporelle des événements, la génération de requêtes et l'ajout de lignes temporelles). Sur la base de ces premiers succès, nous avons inscrit sur notre feuille de route interne des plans visant à poursuivre le LLM R&D et avons décidé de nous attaquer à l'un de nos flux de travail internes en matière de productivité.
Un nouvel horizon : Générer des guides d'investigation
Au fil des ans, Elastic Security Labs a fait évoluer son contenu. En commençant par 2020 en ajoutant la fonction de sécurité des guides d'enquête, puis en normalisant ces guides en 2021. D'ici 2023, avec plus de 900 règles en place, nous recherchons activement un moyen efficace de générer des guides très précis, détaillés et normalisés pour l'ensemble des 900+ règles préconstruites.
En combinant les approches traditionnelles de ML (comme la recherche de vecteurs de similarité) avec notre sauce spéciale d'ingénierie prompte, notre équipe a créé un nouveau prototype centré sur la génération de guides d'investigation appelé Rulecraft. Désormais, avec un simple identifiant de règle en main, nos auteurs de règles peuvent générer une solution de guide d'investigation de base en quelques minutes seulement !
Figure 4 : Exemple de guide d'enquête
Dans cette première exploration, nous avons fourni des règles de détection, mais nous avons limité l'entrée à quelques champs des règles, comme la description et le nom du GPT. Nous avons également tenté de fournir la requête, mais elle semblait trop correspondre au résultat escompté. Dans un premier temps, nous avons fourni une simple invite avec ces champs afin d'évaluer la capacité de GPT à générer un guide d'investigation décent avec un minimum d'effort. Au fur et à mesure de nos explorations, il est devenu évident que nous pourrions tirer profit de l'enchaînement de plusieurs invites, comme nous l'avons fait lors de l'expérience de génération de requêtes EQL. Nous avons donc passé du temps à créer des questions-réponses adaptées à des sections distinctes du guide d'enquête. La segmentation des messages-guides nous a permis non seulement de bénéficier d'une plus grande flexibilité, mais aussi de traiter les domaines dans lesquels GPT a échoué, comme la section "Related Rules", où GPT a eu tendance à halluciner le plus. Dans de tels cas, nous avons utilisé des méthodes traditionnelles de ML telles que la recherche de similarités et intégré nos règles dans une base de données vectorielle pour améliorer le contexte.
Ensuite, nous avons identifié les possibilités d'ajouter du contexte à certaines sections. Pour garantir l'uniformité de nos guides, nous avons constitué une bibliothèque de contenus et de langages approuvés pour chaque segment. Cette bibliothèque a ensuite guidé GPT dans la génération et le formatage de réponses similaires à nos messages standard établis. Nous avons ensuite comparé les guides produits par GenAI avec leurs équivalents rédigés manuellement afin d'identifier d'autres différences de formatage, des erreurs générales introduites par GPT et même des problèmes plus généraux liés à nos messages-guides.
Sur la base de ces résultats, nous avons choisi d'améliorer le contenu généré en ajustant les invites plutôt qu'en utilisant des techniques de post-traitement telles que le formatage des chaînes. Bien que les guides d'investigation automatisés ne soient pas parfaits, ils offrent à nos ingénieurs de détection un point de départ solide. Dans le passé, les guides d'investigation ont amélioré notre processus d'évaluation par les pairs en matière de relations publiques en fournissant à l'évaluateur plus de contexte quant aux règles de comportement attendues. Nous pouvons désormais générer le guide de base, l'adapter et ajouter des détails selon les besoins de l'ingénieur en charge de la détection, au lieu de partir de zéro.
Pour apporter cette capacité directement à nos ingénieurs de détection, nous avons intégré Rulecraft dans un flux d'actions GitHub, afin qu'ils puissent générer des guides à la demande. Nous avons également produit plus de 650 guides supplémentaires en seulement 13 heures - une tâche qui aurait traditionnellement pris des mois. L'automatisation nous permet d'apporter de petites modifications et de régénérer rapidement le contenu de base pour les règles manquantes des guides d'enquête. Encore une fois, ces guides font toujours l'objet d'un examen interne rigoureux, mais le temps et les efforts économisés grâce à GenAI pour nos projets préliminaires sont incroyables.
Tracer l'avenir : Prochaines étapes
Notre parcours de recherche et de développement se poursuit, avec pour objectif principal d'affiner notre approche de la génération de contenu avec les LLM et de valider nos résultats de manière plus approfondie. Voici une courte liste de nos priorités maintenant que nous avons exploré la viabilité et l'efficacité de l'intégration des LLM dans notre flux de travail d'ingénierie de détection :
- Comparer les modèles propriétaires avec les derniers modèles open-source
- Affiner notre processus d'expérimentation, y compris le filtrage des événements, l'optimisation des messages et l'exploration de divers paramètres du modèle.
- Créer une suite de tests pour valider nos résultats et éviter les régressions.
- Intégrez de manière transparente nos avancées en R&D dans l'assistant Elastic AI.
Dans l'ensemble, nous souhaitons augmenter considérablement la couverture de nos guides d'investigation et réduire le temps nécessaire à l'élaboration de ces guides à partir de la base. Chaque guide d'investigation fournit aux analystes des instructions détaillées, étape par étape, et des requêtes pour le triage des alertes. Avec une mentalité de priorité au client au premier plan de notre code source, nous visons à améliorer l'expérience de l'analyste avec plus de guides d'investigation d'une qualité encore plus élevée, ce qui se traduit par une réduction du temps passé par nos clients sur l'analyse FP et le triage des alertes.
Résumé
Fidèle à son esprit d'innovation ouverte et de transparence, Elastic Security Labs a entamé son voyage d'IA générative afin d'améliorer la productivité de ses processus de détection des menaces. Nos efforts continuent d'évoluer et d'incorporer des approches d'ingénierie rapide et de ML traditionnelle au cas par cas, ce qui se traduit par des preuves de concept plus R&D telles que "LetmeaskGPT" et "Rulecraft". Ce dernier POC a permis de réduire considérablement le temps nécessaire à l'élaboration des guides de référence, d'améliorer l'expérience des analystes et de réduire le nombre d'analyses faussement positives. Il y a encore beaucoup à faire et nous voulons vous inclure dans notre voyage ! Bien que nous ayons fait des progrès, nos prochaines étapes consistent à affiner davantage, à développer un cadre pour valider rigoureusement nos résultats et à explorer les possibilités d'opérationnaliser notre R&D, en veillant à ce que nous restions à la pointe des progrès en matière de sécurité.
Nous sommes toujours intéressés par des cas d'utilisation et des flux de travail comme ceux-ci, alors comme toujours, contactez-nous via GitHub issues, discutez avec nous dans notre communauté Slack, et posez des questions dans nos forums de discussion!
N'hésitez pas non plus à consulter ces ressources supplémentaires pour en savoir plus sur la manière dont nous mettons les dernières capacités de l'IA à la disposition des analystes :
- Apprenez à utiliser ChatGPT de manière responsable avec Elasticsearch.
- Découvrez le nouvel assistant Elastic AI - le compagnon d'IA ouvert et génératif alimenté par ESRE et installez-vous.