ChatGPT et Splunk : l’IA combinée à la data pour une analyse automatique des logs ?

Artificial Intelligence Splunk

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 ! 💥

Comment « brancher » ChatGPT à 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 !

Custom command Splunk

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 !

Script Python

C’est ici que le code personnalisé de la custom command est exécuté.

Que va-t-il faire ?

  1. Récupérer en entrée le paramètre venant de Splunk, à savoir notre prompt (la question que l’on pose à ChatGPT) que l’on aura créé à partir de nos logs.
  2. Envoyer cette question à l’API ChatGPT.
  3. Récupérer la réponse générée par ChatGPT et la formater pour l’afficher dans Splunk comme un résultat de requête.

Avec un compte ChatGPT gratuit, vous pourrez récupérer le paramètre orgid ici et votre clé API est à créer ici.

Et ensuite, comment l’exploiter ?

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 !

Et si l’IA pouvait nous aider à mieux analyser et traiter toutes ces alertes ?

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

Et maintenant, quel résultat en passant par ChatGPT ?

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 :

  1. le langage et l’encodage utilisé 💪
  2. le détail du code exécuté, maintenant décodé 💥
  3. une première analyse des conséquences de cette commande, à savoir la prise de contrôle à distance de l’ordinateur et la possibilité d’y exécuter n’importe quelle commande... 😱

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 ! ⚠️

Nos autres articles Splunk ⭐

📌 Monitorer le prix de l’essence

📌 Monitorer une F1 sur PS4

📌 Télétravail : la data pour mesurer nos changements de rythme de vie

📌 Confinement : Splunker sa consommation Netflix

Articles similaires

Data Talks : Tout savoir sur l’IA et la data
Intelligence artificielle
14 min de lecture

Data Talks : Tout savoir sur l’IA et la data

Bienvenue dans l’épisode 4 de Data Talks, la série de Splunk dans laquelle des experts de la donnée décryptent pour nous les nouvelles tendances autour de la data. Nous retrouvons aujourd’hui un des spécialistes français de la donnée, Axel Cypel, spécialiste de la gestion de projets en data science, pour nous parler IA et Data.
La résilience du futur : une approche pragmatique de l’IA (LinkedIn Live)
Intelligence artificielle
3 min de lecture

La résilience du futur : une approche pragmatique de l’IA (LinkedIn Live)

Il est l’heure de faire les comptes : l’intelligence artificielle est-elle vraiment dotée de superpouvoirs ? Dans ce premier épisode de nos quatre LinkedIn Live de l’été, nos super-héros du numérique prennent de la hauteur pour considérer l’IA de manière plus pragmatique.
IA et cybersécurité au programme du Forum InCyber 2024
Intelligence artificielle
4 min de lecture

IA et cybersécurité au programme du Forum InCyber 2024

« Ready for AI? Réinventer la cybersécurité à l’ère de l’IA » : le thème de l’édition 2024 du Forum InCyber, le plus grand événement européen dédié à la cybersécurité et à la confiance numérique, n’aurait pas pu être davantage en adéquation avec les préoccupations de Splunk. C’est donc avec grand plaisir que j’ai participé à une interview afin d’évoquer les spécificités de la plateforme Splunk en matière d’IA ainsi que l’actualité de l’entreprise et la place des femmes dans le secteur de l’IT.