Description
Les protocoles de communication jouent un rôle majeur dans l'établissement d'une communication entre les différents composants des systèmes informatiques. Malheureusement, il est bien connu que les protocoles de communication peuvent être vulnérables aux attaques. Certaines de ces attaques dépendant de faiblesses introduites (in)volontairements dans leurs implémentations. Ces travaux proposent une solution pratique permettant d'identifier ces faiblesses en utilisant le language Python. Cette présentation s'attachera à illustrer l'emploi de bibliothèques Python dédiées à la rétro-conception de protocoles tels que Netzob et Pylstar. Il sera notamment présenté comment les utiliser pour 1) extraire la machine à états d'une implémentation en boite noire et 2) comparer les machines à états de plusieurs implémentations d'un même protocole pour rechercher des vulnérabilités. Le protocole HTTP2 servira d'exemple.