Cybersécurité - Recherche de vulnérabilités & reverse engineering - Approfondissement
Formation créée le 22/08/2025. Dernière mise à jour le 26/08/2025.
Version du programme : 1
Version du programme : 1
Type de formation
Formation présentielleDurée de formation
28 heures (4 jours)Cybersécurité - Recherche de vulnérabilités & reverse engineering - Approfondissement
Objectif de formation : Approfondir les techniques avancées d’analyse statique et dynamique de binaires pour identifier des vulnérabilités complexes, automatiser certaines tâches avec des scripts ou mini-fuzzers, et appliquer ces compétences à des cas réels.
Objectifs de la formation
- Gagner en rapidité et efficacité dans l’analyse de binaires réels
- Identifier des vulnérabilités complexes par approche statique et dynamique
- Automatiser certaines étapes par scripting ou développement de plugins
- Créer des mini-fuzzers ciblés pour renforcer l’analyse
Profil des bénéficiaires
Pour qui
- Analystes reverse expérimentés
- Pentesters applicatifs souhaitant monter en compétence en analyse binaire
- Membres de Red Team / Blue Team / CERT
- Chercheurs sécurité ou développeurs sécurité en produit embarqué
Prérequis
- Très bonne maîtrise d’au moins un outil de reverse (Ghidra, IDA Pro, Binary Ninja)
- Compétences solides en C / Assembleur (x86, x64, ARM)
- Aisance avec Python et débogueurs (GDB, WinDbg…)
Contenu de la formation
Optimisation de l’environnement de reverse engineering (4 heures)
- Revue rapide & comparatif des outils : IDA Pro, Ghidra, Binary Ninja
- Automatisation des tâches répétitives à l'aide d'API (IDA Python, Ghidra API)
- Configuration de débogueurs efficaces (GDB, WinDbg, QEMU)
- Travaux pratiques : Création d’un environnement de travail pour reverse multilingue, automatisation de tâches récurrentes avec scripting IDA ou Ghidra, configuration de débogueurs.
Méthodologie avancée de reverse engineering : bonnes pratiques et méthodologie (3 heures)
- Méthodologie & bonnes pratiques de réflexion sur les points d’entrée et sur la recherche de vulnérabilités
- Détection de signaux faibles
- Erreurs de conception fréquentes
- Techniques pour reconstruire des structures complexes
- Travaux pratiques (2h) : Focus sur la reconstruction manuelle d’une structure complexe et d'objets C++ à partir du binaire
Identifier les vulnérabilités via analyse statique (4,5 heures)
- Localisation des zones critiques (buffers, parseurs, I/O, etc.)
- Reconnaissance de patterns de vulnérabilités
- Usage avancé des fonctionnalités d’annotation et de tagging
- Travaux pratiques : Identification manuelle d’une vulnérabilité logique dans un binaire inconnu, analyse des patterns récurrents sur une suite de fonctions critiques
Analyse dynamique ciblée avec instrumentation (4 heures)
- Débogage efficace avec GDB, IDA, WinDbg
- Instrumentation avec Frida ou PANDA pour tracer l’exécution
- Analyse de comportements conditionnels ou branches cachées
- Travaux pratiques : Analyse dynamique d’un buffer overflow avec ASLR activé, utilisation de Frida pour forcer ou observer un flux logique dans le binaire
Développement de scripts d’analyse personnalisés (5 heures)
- Extraction automatique de fonctions intéressantes
- Scripts pour retrouver des constantes, chaînes, I/O
- Développement de plugins simples dans Ghidra ou IDA
- Travaux pratiques : Création d’un script Python pour détecter automatiquement certains comportements suspects, Plugin Ghidra : balisage automatique de sections critiques.
Introduction au fuzzing ciblé (mini-fuzzers) (4 heures)
- Concepts de base du fuzzing structuré (mutation, génération, instrumentation)
- Création de mini-fuzzers spécifiques pour des fonctions isolées
- Introduction à AFL++, libFuzzer, ou fuzzers maison
- Travaux pratiques : Développement d’un mini-fuzzer ciblant une fonction vulnérable extraite, fuzzing basique avec instrumentation GDB ou QEMU
Études de cas de reverse sur logiciels grand public (3,5 heures)
- Approche de l’analyse de binaires complexes (drivers, antivirus, firmwares)
- Reverse engineering de protocoles ou traitements propriétaires
- Éthique, légalité, et bonnes pratiques
- Travaux pratiques : Analyse guidée d’un logiciel public (sécurité, compression, agent...), détection et validation d’une vulnérabilité réelle
Équipe pédagogique
Professionnel expert technique et pédagogique.