Dans ce nouvel article, nous nous sommes penchés, Thomas Labetoulle et Olivier Paule, sur un sujet d’actualité que vous n’avez pas pu rater : l’essor de l’IA et l’arrivée de ChatGPT dans notre quotidien.
Ces IA peuvent-elles nous offrir des possibilités infinies pour une analyse automatique des logs ?
C’est ce que l’on a tenté de découvrir en intégrant ChatGPT dans Splunk ! 💥
Pour réussir à interroger ChatGPT depuis nos requêtes Splunk, nous allons utiliser l’API gratuite mise à disposition par OpenAI.
Seulement 2 choses seront à créer dans Splunk :
C’est parti, on vous montre comment faire !
Une custom command Splunk est une fonctionnalité permettant d’étendre les fonctionnalités de Splunk en créant sa propre commande personnalisée.
Ici nous allons créer une command | chatgpt qui pourra être appelée directement dans nos requêtes.
[chatgpt] filename = chatgpt.py
Et c’est tout ! C’est notre script qui va ensuite s’occuper de tout !
C’est ici que le code personnalisé de la custom command est exécuté.
Que va-t-il faire ?
Avec un compte ChatGPT gratuit, vous pourrez récupérer le paramètre orgid ici et votre clé API est à créer ici.
Voici quelques possibilités d’utilisation :
Comme sur l’interface web ChatGPT, nous allons pouvoir poser une question et obtenir le résultat dans Splunk.
Pourquoi pas pour venir compléter un résultat de requête avec des données externes à Splunk ?
| makeresults | eval prompt="Quel est le CA de l'entreprise X au mois de juillet ?" | map search="| makeresults | chatgpt $prompt$ "
Ou pour nous aider dans notre développement de requête ?
| makeresults | eval prompt="Optimise-moi la requête Splunk : index=xxx | table *" | map search="| makeresults | chatgpt $prompt$ "
C’est un bon début, mais comment aller plus loin ?
C’est ici que les choses vont devenir intéressantes... 👀
Vous le savez, la force de Splunk est de proposer de l’analyse et des alertes en temps réel. Mais une fois l’alerte émise, il va falloir la comprendre, l’analyser, la rediriger vers les bonnes équipes, etc. Et on en reçoit souvent de très (trop ?) nombreuses !
Prenons un cas concret avec une alerte de cybersécurité afin de voir ce que ChatGPT peut nous apporter comme analyse.
Ici, nous allons simuler la prise de contrôle d’un PC utilisateur suite à l’injection d’une commande malveillante encodée et exécutée de façon cachée.
powershell -WindowStyle Hidden -EncodedCommand "JABjAGwAaQBl......"
Le scénario classique de détection sans IA serait alors :
1. Alerte Splunk : détection dans les WindowsEventLogs d’un code exécuté de façon cachée et encodée
index="winlogs" sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" CommandLine="*Hidden*Encoded*"
2. Décodage par l’analyste du code exécuté via ligne de commande ou outil
3. Compréhension et analyse de la commande
4. Résolution ou redirection vers l’équipe d’assistance concernée
Avec pour seule information de contexte le prompt suivant :
| eval prompt="En cyber sécurité, peux-tu détailler la commande suivante".CommandLine
Voici le contenu de l’alerte générée automatiquement par ChatGPT ⬇️
Jugez par vous-même, mais le résultat est plutôt impressionnant ! Sans aucune information, nous avons maintenant une alerte qui nous donne :
De quoi grandement améliorer notre analyse et nos temps de réponse !
Et vous, pensez-vous utiliser l’IA pour de futures analyses de logs ?
Dans quels cas d’usage l’IA pourrait-elle vous faire gagner en temps et en qualité de traitement ?
⚠️ RAPPEL : ChatGPT va stocker vos requêtes et données, attention de ne pas y envoyer de logs sensibles ! ⚠️
📌 Monitorer le prix de l’essence
📌 Télétravail : la data pour mesurer nos changements de rythme de vie
La plateforme Splunk élimine les obstacles qui séparent les données de l'action, pour donner aux équipes d'observabilité, d'IT et de sécurité les moyens de préserver la sécurité, la résilience et le pouvoir d'innovation de leur organisation.
Fondée en 2003, Splunk est une entreprise internationale. Ses plus de 7 500 employés, les Splunkers, ont déjà obtenu plus de 1 020 brevets à ce jour, et ses solutions sont disponibles dans 21 régions du monde. Ouverte et extensible, la plateforme de données Splunk prend en charge les données de tous les environnements pour donner à toutes les équipes d'une entreprise une visibilité complète et contextualisée sur l'ensemble des interactions et des processus métier. Splunk, une base solide pour vos données.