Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Aujourd’hui — 1 septembre 2025Flux principal

Pwndbg - Le débogueur qui a décidé que GDB c'était trop nul

Par : Korben
1 septembre 2025 à 14:17

C’est fou quand même qu’en 2025, les débogueurs de base comme GDB et LLDB soient toujours aussi pénibles à utiliser qu’il y a 20 ans. Par exemple faut taper x/30gx $rsp pour examiner la pile et obtenir un bloc de nombres hexadécimaux sans contexte. C’est donc super chiant pour comprendre tout ce qui se passe dans votre programme, sans être ultra concentré (et donc ultra fatigué à la fin de la journée).

Hé bien c’est exactement ce que s’est dit Zach Riggle quand il a commencé à bosser sur pwndbg (prononcez “/paʊnˈdiˌbʌɡ/”, oui comme “pound debug”). L’idée c’était de créer un plugin qui transforme ces débogueurs préhistoriques en véritables outils modernes pour les reverse engineers et les développeurs d’exploits.

Le truc avec pwndbg, c’est qu’il ne cherche pas à réinventer la roue, non, bien au contraire, puisqu’il s’appuie sur une architecture Python modulaire afin d’ajouter une couche d’intelligence par-dessus GDB et LLDB. Concrètement, ça veut dire que vous gardez toute la puissance de ces débogueurs, mais avec une interface qui ne vous donne pas envie de jeter votre clavier par la fenêtre, avant de vous y jeter vous-même ^^.

Pour l’installer, quelques lignes suffisent et hop vous aurez un environnement de debugging qui ferait pâlir d’envie les outils commerciaux.

Si vous êtes sur Linux ou macOS, la méthode la plus simple c’est la ligne magique avec curl qui va tout faire pour vous :

curl -qsL 'https://install.pwndbg.re' | sh -s -- -t pwndbg-gdb

Les utilisateurs de Mac peuvent aussi passer par Homebrew avec un simple

brew install pwndbg/tap/pwndbg-gdb

Et pour les hipsters des gestionnaires de paquets, y’a même une option avec Nix qui vous permet de tester l’outil sans rien installer en dur sur votre système. Maintenant, si vous préférez la méthode old school avec les packages classiques, pas de souci !

Récupérez le package qui correspond à votre distro sur la page des releases et installez-le avec votre gestionnaire de paquets habituel et en deux minutes chrono, vous avez votre environnement de debug GDB boosté aux stéroïdes avec toutes les fonctionnalités de pwndbg pour analyser vos binaires comme un chef.

Ensuite, que vous fassiez du débug de kernel Linux, du reverse sur des binaires ARM ou RISC-V, ou que vous développiez des exploits pour des systèmes embarqués, pwndbg saura s’adapte. Il gère même le debugging avec QEMU pour l’émulation user-space. Par contre, petit bémol pour les utilisateurs macOS, le debugging natif de binaires Mach-O n’est pas supporté avec GDB… Pour le moment, seul le debugging distant ELF fonctionne.

Un des aspects les plus cools de pwndbg, c’est son approche “consistency first”. Que vous utilisiez GDB ou LLDB, l’expérience reste cohérente. Vous pouvez donc switcher entre les deux débogueurs sans avoir à réapprendre tous les raccourcis et commandes. Bon, le support LLDB est encore expérimental et peut contenir quelques bugs, mais ça progresse vite.

Les développeurs low-level, les hardware hackers et les chercheurs en sécurité sont les premiers à adore pwndbg parce qu’au lieu de vous noyer sous des informations inutiles, il affiche exactement ce dont vous avez besoin à savoir le contexte des registres, l’état de la pile, le code désassemblé avec coloration syntaxique, et même une vue hexdump digne de ce nom (oui, en 2025, les débogueurs de base n’ont toujours pas ça par défaut).

Le projet est sous licence MIT, donc vous pouvez l’utiliser dans n’importe quel contexte, commercial ou non et si vous voulez contribuer, comme d’hab avec la plupart des projets que je vous présente, la porte est grande ouverte.

Pour ceux qui veulent se lancer, il y a même un cheatsheet complet à imprimer et garder sous la main. Parce que bon, même avec une interface aux petits oignons, un bon aide-mémoire reste toujours utile quand on débugge des trucs complexes à 3h du matin.

Au final, pwndbg c’est la preuve qu’on n’a pas toujours besoin de réinventer complètement un outil pour le rendre génial. Parfois, il suffit juste d’ajouter la bonne couche d’abstraction au bon endroit.

Encore bravo à Zach Riggle et son équipe ont vraiment tapé dans le mille !!

Hier — 31 août 2025Flux principal

Thomas Dullien (Halvar Flake) - L'incroyable parcours d'un génie du Reverse Engineering

Par : Korben
31 août 2025 à 13:37
Cet article fait partie de ma série de l’été spécial hackers et ce sera le dernier ! Je vais faire une petite pause maintenant même si j’en ai encore un bon paquet à écrire… Mais ce sera pour bientôt… Bonne lecture ! Et bonne reprise !

Pour ce dernier article de ma série de l’été, je vais vous raconter l’histoire d’un type absolument génial que vous ne connaissez peut-être pas mais qui, lui aussi, a mis sa pierre à l’édifice de la sécurité informatique. Thomas Dullien, plus connu sous le pseudo “Halvar Flake”, c’est un peu le MacGyver du reverse engineering, sauf qu’au lieu de désamorcer des bombes avec un trombone, il désamorce des malwares avec des graphes mathématiques.

Ce gars est surtout à l’origine de BinDiff , un outil légendaire capable de comparer des binaires, très utile par exemple pour comprendre ce que Microsoft a patché dans une mise à jour de sécurité. Cet outil peut vous sortir une analyse graphique qui vous montre exactement où se trouvent les différences entre l’ancienne et la nouvelle version. À l’époque, en 2005, cet outil c’était comme avoir des super-pouvoirs.

Mais commençons par le début. Thomas Dullien, c’est un mathématicien allemand qui a grandi à une époque où Internet commençait tout juste à exploser. Le gars était destiné à devenir avocat, mais à la dernière minute, il change d’avis et s’inscrit en maths à l’Université de Bochum. Best decision ever, comme on dit. Il finit par obtenir son Master en mathématiques en 2008, après avoir commencé un doctorat qu’il abandonne pour se concentrer sur son entreprise.

Son pseudo “Halvar Flake” vient d’un personnage de dessin animé. C’est le chef d’un village viking dans la série télé “Vicky le Viking”. Et l’anecdote est géniale quand il l’explique : “J’étais petit, gros, j’avais des cheveux longs, et je buvais beaucoup de bière, alors les gens m’appelaient Halvar”, raconte-t-il avec humour. Bon, aujourd’hui le nom est resté même si la description ne colle plus vraiment !

Dans les années 90, alors qu’il est encore adolescent, Thomas commence à s’intéresser au reverse engineering et à la gestion des droits numériques (DRM). À l’époque, c’est le Far West total. Les protections logicielles sont simplistes, les entreprises pensent que leur code est impénétrable, et de petits génies comme lui s’amusent à démonter tout ça pièce par pièce. Il écrit même son premier fuzzer à 19 ans, mais refuse de l’utiliser lui-même par fierté… en vrai il préfère trouver les bugs en lisant le code ! Des années plus tard, il admettra que c’était stupide et que le fuzzing est quand même une technique incroyablement efficace.

En 2000, à seulement 19-20 ans, il fait alors sa première présentation à Black Hat Amsterdam sur “Auditing binaries for security vulnerabilities”. En réalité, il voulait rencontrer un pote du Sri Lanka mais aucun des deux n’avait les moyens de payer le billet d’avion alors ils ont décidé de faire une présentation à la même conférence. C’est donc comme ça qu’il commence sa carrière de formateur en reverse engineering… une carrière qui durera plus de 20 ans.

Pendant les années qui suivent, Halvar devient alors LA référence en matière de reverse engineering. Il développe des techniques révolutionnaires comme l’exploitation des tas Windows ( heap exploitation ), le patch diffing (comparer des versions patchées et non patchées de logiciels), et plein d’autres trucs que les chercheurs en sécurité utilisent encore aujourd’hui. Il donne des talks sur l’analyse binaire basée sur les graphes à Blackhat USA 2002, Blackhat Asia 2002, et CanSecWest 2002, où il se plaint déjà qu’IDA Pro ne gère pas bien les fonctions non-contiguës !

Mais son coup de génie, c’est au printemps 2004 quand il fonde SABRE Security, qui deviendra rapidement zynamics. L’idée c’est qu’au lieu de comparer les binaires octet par octet comme tout le monde, il utilise la théorie des graphes. En gros il faut voir ça comme une carte routière avec des intersections (les fonctions) et des routes (les appels entre fonctions). Et chaque programme a la sienne. BinDiff compare alors ces cartes pour trouver les différences.

Cette approche est innovante parce qu’elle fonctionne même si les programmes sont compilés avec des options différentes ou des compilateurs différents. Entre la publication DIMVA de 2004 et début 2005, Rolf Rolles, un autre génie du reverse engineering, contribue au projet avec de nouvelles idées qui améliorent grandement la capacité de BinDiff à matcher les blocs de base.

Puis en 2005, ils publient ensemble “Graph-based comparison of executable objects” au SSTIC… une présentation que Thomas donne en français et qu’il décrit comme “la seule présentation de conférence que j’ai jamais donnée en français. Et parce que j’étais terrifié, c’est probablement aussi celle que j’ai le plus répétée de ma vie”.

En 2006, coup de tonnerre : zynamics remporte le prix Horst Görtz, avec une récompense de 100 000 euros, pour leur technologie de classification de malwares. C’est à l’époque le plus gros prix privé en sciences naturelles d’Allemagne ! Ce prix récompense leur travail sur la similarité de code basée sur les graphes et cet argent leur permet de rester indépendants sans avoir besoin de capital-risque. “Le capital-risque était trop restrictif”, explique Thomas, qui finissait alors son Master tout en dirigeant l’entreprise.

L’entreprise grandit alors jusqu’à une douzaine d’employés, tous des ninjas du reverse engineering. Ils développent non seulement BinDiff, mais aussi BinNavi (essentiellement un IDE pour le reverse engineering centré sur la visualisation interactive de graphes, l’analyse de couverture et le débogage différentiel) et VxClass , qu’ils décrivent comme “un laboratoire d’analyse antivirus dans une boîte”.

L’impact de BinDiff sur l’industrie est énorme. Le nom devient même un verbe… les gens disent “je vais bindiff ça” pour dire qu’ils vont comparer deux binaires. C’est un peu comme quand on dit “googler”… alors quand votre outil devient un verbe, vous savez que vous avez réussi !

Thomas Dullien

Mais l’histoire prend un tournant dramatique en juillet 2007. Halvar arrive aux États-Unis pour donner sa formation annuelle à Black Hat Las Vegas, une formation qu’il donne depuis 7 ans sans problème. Mais cette fois, catastrophe, les douanes américaines trouvent ses supports de présentation dans ses bagages et le retiennent pendant 4 heures et demie. “Si vous allez faire du profit en tant que conférencier individuel, vous avez besoin d’un visa différent”, lui disent-ils. Le problème c’est qu’il avait un contrat avec Black Hat Consulting en direct en tant qu’individu, pas en tant que représentant de son entreprise.

L’ironie de la situation c’est que la plupart des participants à ses formations sont des employés du gouvernement américain ! Mais ça ne change rien et ils le renvoient en Allemagne sur le prochain vol. “Vous n’avez aucun droit, parce que techniquement vous n’êtes pas encore dans le pays”, lui ont-ils dit. Le programme d’exemption de visa lui est désormais interdit à vie. La communauté Black Hat est furieuse, mais Thomas reste philosophe… il finit par obtenir un visa business et revient l’année suivante, plus fort que jamais.

VxClass devient alors rapidement le produit phare de zynamics. C’est une infrastructure capable de traiter automatiquement les nouveaux malwares en les classifiant automatiquement en familles en utilisant l’analyse de graphes de flux de contrôle. L’outil peut générer des signatures privées en octets (au format ClamAV) pour toute une famille de malwares. VxClass peut par exemple, à partir de 160 extraits de malwares, les classifier automatiquement comme une seule famille et générer un seul pattern pour trouver chaque variante. Mandiant annonce même l’intégration avec VxClass dans leur logiciel de forensique mémoire Memoryze.

Le chevauchement de 2 malwares de la même “famille”

Et en mars 2011, Google rachète zynamics. C’est la consécration ! C’est d’ailleurs probablement VxClass qui intéresse le plus Google dans ce deal, étant donné l’intérêt de l’entreprise pour classifier les malwares et les sites malveillants. Le prix de BinDiff passe alors de plusieurs milliers de dollars à seulement 200 dollars. Google veut démocratiser ces outils de sécurité, et Halvar se retrouve propulsé dans la cour des grands avec le titre de Staff Engineer.

Illustration du principe de l’attaque Rowhammer

Chez Google, il travaille d’abord sur l’intégration et le scaling de sa technologie, puis il retourne à la recherche pure et dure et c’est là qu’il tombe sur quelque chose d’absolument dingue : le Rowhammer.

Le Rowhammer avait été découvert en juin 2014 par des chercheurs de Carnegie Mellon et Intel Labs (Yoongu Kim et ses collègues) dans leur papier “Flipping Bits in Memory Without Accessing Them”. Mais là où les académiques voient un problème de fiabilité, Thomas et Mark Seaborn de l’équipe Project Zero de Google voient une faille de sécurité monumentale.

Le Rowhammer, c’est une de ces découvertes qui font dire “mais comment c’est possible ?!”. En gros, imaginez que la mémoire de votre ordinateur est comme un parking avec des places très serrées. Si vous ouvrez et fermez la portière de votre voiture des milliers de fois très rapidement (on appelle ça “marteler” une ligne de mémoire), les vibrations peuvent faire bouger les voitures garées à côté (les bits dans les lignes adjacentes). Plus concrètement, quand on accède sans arrêt à une même zone de la mémoire, ça crée des perturbations électriques qui peuvent modifier les données stockées juste à côté… un peu comme si l’électricité “débordait” sur les zones voisines.

En mars 2015, Thomas et Mark publient alors leur exploit sur le blog de Project Zero. Les contributions techniques de Thomas incluent une méthode pour attaquer la mémoire des deux côtés en même temps (le “double-sided hammering”… imaginez-vous en train de marteler un mur par les deux faces pour le faire céder plus vite) et une technique astucieuse (le “PTE spraying”) pour transformer cette faille en véritable exploit, même s’il admet modestement que Mark a fait 90% du travail.

Ils surnomment même affectueusement le premier ordinateur où l’exploit fonctionne “Flippy the laptop” ! Leur exploit fonctionne donc en utilisant le row hammering pour induire un bit flip (une inversion de bit) dans une entrée de table de pages (PTE) qui la fait pointer vers une page physique contenant une table de pages appartenant cette fois au processus attaquant. Ça donne alors au processus attaquant un accès en lecture-écriture à une de ses propres tables de pages, et donc à toute la mémoire physique. Les chercheurs rapportent des bit flips avec seulement 98 000 activations de lignes !

La présentation de leurs résultats à Black Hat 2015 fait alors l’effet d’une bombe. Hé oui, une faille qui existe dans pratiquement toute la RAM moderne, qui ne peut pas être patchée par du logiciel, et qui peut être exploitée même depuis JavaScript dans un navigateur ! C’est le cauchemar ultime des responsables sécurité. Cette découverte devient alors le point d’origine de toute une famille d’attaques hardware (RowPress, Half-Double, etc.).

En août 2015, Halvar reçoit le Pwnie Award pour l’ensemble de sa carrière. C’est l’Oscar de la sécurité informatique, avec un jury de chercheurs en sécurité renommés qui sélectionne les gagnants. Et ces derniers reçoivent des trophées “My Little Pony” dorés ! À seulement 34 ans, il est alors décrit comme un “gourou du reverse engineering ayant déjà révolutionné le domaine plusieurs fois”.

Le fameux trophée Pwnie Award - un “My Little Pony” doré remis aux légendes de la sécurité informatique

Quoi qu’il en soit, cette découverte du Rowhammer change profondément la vision de Thomas sur l’informatique. Il se passionne pour la physique informatique, c’est-à-dire ce qui se passe réellement dans le processus de fabrication des puces. “C’est le plus grand spectacle sur Terre”, dit-il, et tire plusieurs leçons importantes. La première c’est qu’on a besoin d’une vraie théorie de l’exploitation. Aussi, que le hardware n’est pas correctement analysé pour anticiper tout ce qui pourrait arriver de pire, et enfin que la recherche sur les défauts des puces dus aux variations de fabrication est extrêmement intéressante.

Après un congé sabbatique d’un an, il retourne alors chez Google en 2016 et rejoint Project Zero, l’équipe d’élite qui cherche les failles zero-day. Son travail se concentre sur la découverte automatique de fonctions de bibliothèques liées statiquement dans les binaires et sur des recherches de similarité ultra-efficaces sur d’énormes quantités de code.

Mais en janvier 2019, nouveau virage à 180 degrés. Thomas quitte Google et co-fonde Optimyze. Cette fois, il change complètement de domaine : fini la sécurité, place à la performance et à l’économie du cloud ! Après 20 ans passés à casser des trucs, il décide de les rendre plus efficaces.

L’idée d’Optimyze est géniale puisqu’avec la fin de la loi de Moore et le passage au SaaS/Cloud, l’efficacité logicielle redevient super importante. Leur produit est un profileur continu multi-runtime qui peut s’installer sur des milliers de machines Linux et vous dire exactement où votre flotte dépense ses cycles CPU, jusqu’à la ligne de code, peu importe le langage (C/C++, Java, Ruby, PHP, Perl, Python, etc.). Le tout avec une technologie eBPF qui permet un déploiement sans friction.

Thomas remarque en effet qu’il y a, je cite, “une quantité énorme de calculs inutiles partout”. Avec les coûts du cloud qui explosent et l’attention croissante sur le CO2 et l’efficacité énergétique, aider les entreprises à optimiser leur code devient crucial. “Avec la fin de la loi de Moore et de Dennard scaling, combinée avec le passage au cloud et la transformation digitale continue de la société, l’efficacité computationnelle va recommencer à compter”, explique-t-il.

En octobre 2021, Elastic rachète Optimyze. Leur idée c’est de combiner le profiling continu d’Optimyze avec les capacités d’analyse et de machine learning d’Elastic pour offrir une observabilité unifiée. Thomas devient alors Distinguished Engineer chez Elastic, où il continue à travailler sur l’efficacité à grande échelle.

Début 2024, après avoir intégré Optimyze dans l’écosystème Elastic, Thomas annonce à nouveau qu’il quitte l’entreprise pour prendre une pause prolongée. Il veut se reposer, et se consacrer à sa famille, sa santé et l’écriture. Mais il ne reste pas inactif longtemps puisque depuis 2019, il est aussi Venture Partner chez eCAPITAL, où il se concentre sur les investissements en cybersécurité et technologies climatiques. Enfin, depuis 2025, il dirige avec Gregor Jehle le groupe de projet Engineering au CNSS e.V.

Ces dernières années, on le voit donner des conférences passionnantes. Par exemple à QCon London en mars 2023, où il présente “Adventures in Performance”. Il y explique comment les choix de design des langages impactent les performances. Notamment comment la culture monorepo de Google et la culture “two-pizza team” d’Amazon affectent l’efficacité du code, et pourquoi la variance statistique est l’ennemi.

À ISSTA 2024 en septembre à Vienne, il donne une keynote intitulée “Reasons for the Unreasonable Success of Fuzzing”, où il analyse pourquoi le fuzzing marche si bien alors que théoriquement, ça ne devrait pas. Il raconte notamment comment dans la culture hacker des années 90, le terme “fuzz-tester” était utilisé comme une insulte pour ceux qui ne savaient pas trouver des bugs en lisant le code.

Ce qui est fascinant avec Thomas Dullien, c’est surtout sa capacité à voir les problèmes sous un angle complètement différent. Là où d’autres voient des bugs, il voit des opportunités. Là où d’autres voient de la complexité, il voit de jolis graphes. Là où d’autres voient des problèmes de fiabilité hardware, il voit des failles de sécurité. C’est cette vision unique qui lui a permis de faire progresser ses domaines de prédilection.

Son approche de l’enseignement est aussi unique. Ses formations Black Hat étaient limitées à 18 étudiants maximum, avec des prérequis techniques élevés et aujourd’hui, Thomas continue d’influencer l’industrie. Que ce soit par ses recherches, ses talks, ou les outils qu’il a créés, son impact est partout. BinDiff est maintenant open source et supporte IDA Pro, Binary Ninja et Ghidra. Le Rowhammer a donné naissance à toute une famille d’attaques hardware et les idées d’Optimyze sur l’efficacité logicielle deviennent de plus en plus pertinentes avec la crise climatique.

Voilà l’histoire de Thomas Dullien. C’est l’histoire d’un gars qui a su transformer sa curiosité en innovations. Une chose est sûre, quand Halvar Flake s’intéresse à quelque chose, l’industrie entière devrait y prêter attention. Que ce soit pour casser des trucs, les analyser, ou les rendre plus efficaces, il trouve toujours un angle nouveau que personne n’avait anticipé.

Sources : Site personnel de Thomas Dullien , Google Project Zero - Exploiting the DRAM rowhammer bug , Black Hat Archives - 2007 US Entry Denial Incident , Silver Bullet Podcast - Interview with Halvar Flake , Elastic acquiert Optimyze , ISSTA 2024 - Keynote on Fuzzing , QCon London 2024 - Adventures in Performance , Heise - Horst Görtz Prize 2006 , Dark Reading - Pwnie Awards 2015 , OffensiveCon - Halvar Flake Biography , eCAPITAL - Thomas Dullien Venture Partner , GitHub - BinDiff Open Source , zynamics - BinDiff , Intel Technology Podcast - Interview with Thomas Dullien , Wikipedia - Row hammer

À partir d’avant-hierFlux principal

Frida CodeShare - La bibliothèque communautaire du reverse engineering

Par : Korben
22 août 2025 à 11:09

Si vous êtes dans le reverse engineering sur mobile et que vous ne connaissez pas encore Frida CodeShare, préparez-vous à découvrir votre nouveau terrain de jeu préféré les amis ! Faut imaginer un GitHub ultra spécialisé où les développeurs du monde entier déposent leurs meilleurs scripts Frida, prêts à être utilisés en une seule commande.

Comme ça, au lieu de réinventer la roue à chaque fois que vous voulez contourner un SSL pinning ou tracer des appels de méthodes, vous piochez directement dans une bibliothèque de scripts éprouvés.

Pour ceux qui découvrent, Frida est un toolkit d’instrumentation dynamique qui vous permet d’injecter du JavaScript dans n’importe quel processus, sans avoir besoin du code source. Ça fonctionne sur Windows, macOS, Linux, iOS, Android, et même FreeBSD. Le truc magique, c’est que Frida injecte QuickJS directement dans le processus cible, ce qui vous donne un accès total à la mémoire et la possibilité de hooker des fonctions natives.

Frida a la capacité à fonctionner dans trois modes différents : Injected (le plus courant), Embedded et Preloaded via le Frida Gadget. Sur Android, vous pouvez même l’utiliser sans être root en utilisant frida-gadget sur une app debuggable.

Pour iOS, l’histoire est un peu différente mais tout aussi cool car Frida supporte les modes jailed et jailbroken, avec évidemment plus de possibilités sur un appareil jailbreaké. Sur iOS 13 et plus récent, vous pouvez par exemple utiliser Frida en mode jailed avec des builds debuggables, ce qui ouvre la porte à l’analyse même sur des appareils non-jailbreakés.

Les bindings disponibles montrent aussi la versatilité de l’outil puisque vous pouvez l’utiliser depuis Node.js (npm), Python (PyPI), Swift, .NET, Qt/Qml, Go, ou directement via l’API C. Cette diversité permet à chaque développeur de travailler dans son environnement préféré.

Maintenant, ce qui rend CodeShare puissant, c’est en réalité son intégration native avec Frida. Pas besoin de télécharger manuellement les scripts, il suffit de lancer :

frida --codeshare <author>/<script-name> -f <package-name>.

Par exemple, pour bypasser le SSL pinning d’une app Android, vous tapez juste

frida --codeshare akabe1/frida-multiple-unpinning -f com.example.app -U

… et boom, vous interceptez le trafic HTTPS comme si de rien n’était.

Les scripts les plus populaires sur la plateforme sont tous les scripts de contournement SSL (un véritable cauchemar pour les développeurs qui pensent que leur certificate pinning est inviolable) mais aussi les scripts pour observer toutes les méthodes d’une classe spécifique, tracer les appels JNI, ou même désactiver la vérification TLS de Flutter, et j’en passe…

Pour les développeurs Android, l’écosystème est particulièrement riche. Le dépot frida-codeshare-scripts rassemble par exemple une collection impressionnante de scripts utiles, organisés par catégorie. Vous y trouvez par exemple des scripts pour dumper la mémoire avec Fridump (python3 fridump.py -U -o memory_dump <app-name>), tracer les accès au système de fichiers, ou même observer les communications réseau en temps réel.

D’autres outils complémentaires enrichissent encore plus l’écosystème. Je pense par exemple à Medusa, un excellent wrapper Frida avancé avec une base de données de scripts utiles exécutables par commande. Il y a aussi des interfaces web user-friendly qui rendent le filtrage et l’exécution de scripts beaucoup plus simple qu’en ligne de commande. Et frida-rust maintient des sessions persistantes avec les applications, augmentant la vitesse d’exécution de plusieurs fois par rapport aux méthodes traditionnelles.

Maintenant, si vous voulez commencer avec CodeShare, le plus simple est de cloner quelques repositories de référence comme hyugogirubato/Frida-CodeShare. Chaque script est dans son propre répertoire avec un README qui explique son utilisation. C’est parfait pour comprendre comment les scripts fonctionnent et les adapter à vos besoins spécifiques.

Bref, je trouve que cette histoire de CodeShare sont vraiment cool car ça démocratise le reverse engineering en plus de faire gagner du temps. Plus besoin d’être un expert en assembleur ARM pour analyser une app Android par exemple.

Project IRE - L'agent IA de Microsoft qui détecte les malwares like a boss

Par : Korben
5 août 2025 à 18:59

Microsoft vient de lever le voile sur un truc assez cool : Project IRE !

C’est un agent IA qui analyse et détecte les malwares en parfait autonomie. Plus besoin d’un expert humain pour décortiquer chaque fichier suspect, c’est l’IA qui s’en charge et elle le fait plutôt bien avec 98% de précision et seulement 2% de faux positifs sur un dataset de drivers Windows.

C’est du lourd car au lieu de se contenter d’une simple analyse par signatures comme les antivirus classiques, Project IRE fait de la vraie reverse engineering. L’agent décompile le code, reconstruit le graphe de flux de contrôle (control flow graph pour les intimes), analyse chaque fonction et génère un rapport détaillé expliquant pourquoi le fichier est malveillant ou non.

Pour faire tout ça, Microsoft s’appuie sur Azure AI Foundry et des outils de reverse engineering bien connus comme angr et Ghidra. Le processus commence ainsi par un triage automatique pour identifier le type de fichier et sa structure. Ensuite, l’IA reconstruit comment le programme s’exécute, analyse chaque fonction avec des modèles de langage spécialisés et compile tout dans une “chaîne de preuves” (chain of evidence).

Cette transparence est cruciale car elle permet aux équipes de sécurité de vérifier le raisonnement de l’IA et comprendre comment elle est arrivée à ses conclusions. Et surtout, les tests en conditions réelles sont prometteurs car sur 4000 fichiers que les systèmes automatisés de Microsoft n’arrivaient pas à classifier, Project IRE a correctement identifié 89% des fichiers malveillants avec seulement 4% de faux positifs.

Le seul bémol c’est le taux de détection global qui n’est que de 26%, ce qui signifie que l’IA rate encore pas mal de malwares. Mais comme le soulignent les chercheurs, cette combinaison de haute précision et faible taux d’erreur montre un vrai potentiel pour un déploiement futur.

Mike Walker, Research Manager chez Microsoft, raconte que dans plusieurs cas où l’IA et l’humain n’étaient pas d’accord, c’est l’IA qui avait raison. Ça montre bien que les forces complémentaires de l’humain et de l’IA peuvent vraiment améliorer la protection. Pour valider ses trouvailles, Project IRE utilise un outil de validation qui vérifie les affirmations du rapport contre la chaîne de preuves.

Cet outil s’appuie sur des déclarations d’experts en reverse engineering de l’équipe Project IRE et en combinant ces preuves et son modèle interne, le système produit un rapport final et classe le fichier comme malveillant ou bénin. L’objectif à terme est ambitieux puisqu’il s’agit de détecter automatiquement de nouveaux malwares directement en mémoire, à grande échelle.

Ce serait vraiment cool d’identifier des menaces avancées (APT) sans qu’un humain ait besoin d’intervenir. D’ailleurs, Project IRE a déjà réussi à créer le premier cas de conviction pour un malware APT chez Microsoft, sans aide humaine.

Pour l’instant, ça reste un prototype qui sera intégré plus tard dans Microsoft Defender comme outil d’analyse binaire mais les implications sont déjà énormes car les malwares deviennent de plus en plus sophistiqués et nombreux, et avoir une IA capable de les analyser automatiquement pourrait changer pas mal la lutte contre ces saloperies.

Alors oui, on n’est pas encore au point où l’IA remplace complètement les experts en sécurité mais on s’en rapproche et vu la pénurie de talents en cybersécurité et l’explosion du nombre de menaces, c’est plutôt une bonne nouvelle.

Source

❌
❌