Analyse de protocoles avec Netzob

  • Lieu : AMOSSYS / Rennes
  • Durée : 2 jours
  • Niveau : Perfectionnement
  • Ref. NETZOB-PERF

Public concerné

Auditeur, analyste SOC/CERT, ingénieur R&D, ingénieur SSI, ...

Pré-requis

Connaissance du langage Python.

Connaissances de base en réseau.

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
        • 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
                • 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
                          • ...
                          • 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
                                • 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
                                        • ...
                                        • 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
                                                  • ...