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

Type de formation

Formation présentielle

Duré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.