Objectif
Maitriser les techniques de modélisation et de rétro-conception de protocoles, de génération de trafic et de fuzzing avec le framework Netzob.
Description
- Cette formation est principalement destinée aux personnes confrontées à l'analyse de protocoles de communication non documentés ou propriétaires.
- Les cas d'usages visés concernent l'analyse de la robustesse d'implémentations de protocoles, la génération de trafic réaliste maitrisé et le développement de composants interopérables.
- Cette formation se focalise sur les protocoles réseau, mais les techniques présentées s'appliquent également à tous les canaux de communication (IPC, API, IOCTL, etc.).
- Le framework Netzob (https://github.com/netzob/netzob/) sera exploité pour l'ensemble des TP.
Programme
- Partie 1 - Import de données
- Le choix des flux à analyser
- PCAPs, IPC, fichiers, ...
- Filtrage des données d’entrée
- Le choix des flux à analyser
- Partie 2 - Modélisation de protocoles
- Types de données primitifs
- Types de données complexes (structures de données, relations classiques, relations cryptographiques, ...)
- Modélisation du format des messages
- Modélisation de la machine à états
- Types de données primitifs
- Partie 3 - Rétro-ingénierie du format des messages
- Techniques d'identification des champs d'un message
- Techniques de regroupement de messages par similarité
- Identification des relations au sein de messages
- Identification des relations entre messages
- ...
- Techniques d'identification des champs d'un message
- Partie 4 - Rétro-ingénierie de la machine à états
- Analyse passive de la machine à états
- Inférence active de l'automate
- Démarche de correction manuelle de la machine à états
- Analyse passive de la machine à états
- Partie 5 - Génération de trafic
- Envoi de messages respectant le format des messages
- Envoi de messages en parcourant la machine à états
- Influer sur le choix des messages et des transitions dans l'automate
- ...
- Envoi de messages respectant le format des messages
- Partie 6 - Fuzzing d'implémentations
- L'environnement de test et à la cible
- Assurer la reproductibilité des tests
- Techniques de fuzzing du format des messages
- Techniques de fuzzing de la machine à états
- ...
- L'environnement de test et à la cible