Monocle - l'IA qui analyse vos binaires à la recherche de failles (ou de tout ce que vous voulez)
Et salut !
Aujourd’hui, je vous présente Monocle, un outil d’analyse de binaires plutôt cool car il utilise l’IA pour décortiquer le logiciel que vous lui soumettez afin d’y trouver des failles de sécurité, du code louche ou des fonctionnalités bien planquées. Et tout ça, sans même avoir à se taper la phase de reverse engineering qui peut être bien fastidieuse, parfois.
Le plus cool, c’est que vous pouvez interroger Monocle en langage naturel, comme si vous discutiez avec un pote… Pas besoin de sortir de l’école 42 pour comprendre comment ça marche, vous lui demandez gentiment “Hey mon copain, tu peux vérifier ce binaire et me dire s’il y a du code d’authentification suspect dedans ?” et hop, il va analyser tout ça et vous répondre direct.
Sous le capot, c’est le LLM Mistral-7B-Instruct-v0.2, avec 7,24 milliards de paramètres qui fait le job. C’est entraîné pour comprendre le code comme un expert et détecter les anomalies qui sentent bon la faille. Le modèle utilise un contexte de 32k tokens, contre 8k pour la version précédente et sait exploiter le GPU de votre machine, si vous en avez un. Comptez au moins une carte graphique NVIDIA avec 4 Go de VRAM. Niveau config, Monocle a besoin d’au moins 16 Go de RAM pour être à l’aise, et il est compatible avec les systèmes Unix comme Linux ou macOS. Par contre, pour Windows, il vous faudra passer par le sous-système Linux (WSL2).
Pour l’utiliser, c’est pas sorcier…
Téléchargez un binaire bien suspect.
Installez les dépendances nécessaires : Ghidra : un framework de reverse engineering développé par la NSA et assurez-vous d’activer l’analyse “Headless” lors de l’installation. + NVIDIA CUDA Toolkit si vous avez une carte graphique NVIDIA.
Installez Monocle en clonant le dépôt Git et en installant les dépendances Python :
git clone
https://github.com/user1342/Monocle
cd Monocle
pip install -r requirements.txt
Balancez le binaire à Monocle avec une commande du style :
python monocle.py --binary binaire_louche.exe --find "code d'authentification"
Là, on demande à Monocle de chercher du code d’authentification dans le binaire mais vous pouvez demander ce que vous voulez, genre “backdoor”, “faille de sécu” ou même “fonction qui sert à rien”.
Admirez le résultat. Monocle va décortiquer le binaire et vous sortir un rapport détaillé avec des scores de 0 à 10 pour chaque bout de code suspect. Plus le score est haut, plus ça sent la faille bien moisie.
Enfin, plongez dans les détails du rapport et essayez de comprendre ce que Monocle a trouvé. C’est là que ça devient intéressant. Vous allez peut-être tomber sur des trucs de malade, comme une backdoor déguisée en fonction toute innocente ou une faille d’injection SQL planquée dans un coin.
Avec ça, vous devriez pouvoir retrouver des backdoors planquées comme des crevettes dans la soupe, identifier des morceaux de code potentiellement dangereux, ou même deviner ce que fait telle ou telle fonction… Suffit de lui demander.
Il vous faudra quand même avoir un minimum de bagage technique pour comprendre ce qu’il vous raconte mais comparé aux heures passées à se cramer les yeux sur IDA ou Ghidra, ça vaut le coup. Puis c’est opensource donc vous pouvez mettre votre grain de sel dans le code, proposer des améliorations si ça vous amuse.
Attention, ce n’est pas non plus une solution miracle mais pour se faire une première idée sur un binaire suspect, c’est pratique. Bref, si vous voulez tester Monocle et rentrer dans la matrice de l’analyse binaire pilotée par IA c’est par ici que ça se passe.
Que faire après le bac quand on est passionné de cybersécurité ?
Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).