Que ce soit lors de recherche de vulnérabilités ou lors d'analyse de malwares, il est fréquent d'avoir recours à la rétro-ingénierie. C'est-à-dire l'analyse du code assembleur de l'objet à étudier. Cet article présente deux outils : Immunity Debugger et IDA Pro permettant respectivement de faire des analyses dynamiques et statiques. Afin de faciliter la compréhension, le malware Babar va être utilisé pour illustrer les explications.
1. Introduction
Lors d'une session de rétro-ingénierie (ou reverse engineering), deux outils sont indispensables : le débogueur (de l'anglais debugger) et le désassembleur.
Le debugger est utilisé pour exécuter le code du programme à analyser pas à pas et voir l'état des registres, de la mémoire... Immunity Debugger est présenté dans cet article. Ce n'est pas le seul produit du marché. Son avantage est le support du langage de script Python. Son défaut est de ne supporter que les architectures x86.
Le désassembleur permet de lire le code assembleur du programme à analyser. L’outil présenté dans cet article est IDA Pro, leader sur le marché. Des alternatives libres commencent à voir le jour dans ce domaine (ainsi que pour le debugger), par exemple, le framework radare2.
Beaucoup de personnes me demandent quand utiliser l'analyse statique et quand utiliser l'analyse dynamique. Il n'existe pas de réponse toute faite à cette question… La plupart du...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première