Symposium sur la sécurité des technologies de l'information et des communications

Conférence francophone sur le thème de la sécurité de l'information.
Elle a eu lieu à Rennes du 6 au 8 juin 2012.

Netzob : un outil pour la rétro-conception de protocoles de communicationFrédéric Guihéry, Georges Bossert, Guillaume Hiet


Date : 06 June 2012 à 12:00 — 30 min.

Résumé

Dans cet article, nous présentons Netzob, un outil libre de rétro-conception semi-automatisée de protocoles de communication. Netzob est destiné à répondre à différents cas d'applications (analyse de sécurité, génération de trafic réaliste, interopérabilité, etc.) où la compréhension d'un protocole propriétaire ou non documenté est primordiale.

Netzob s'appuie principalement sur des algorithmes issus des domaines de la bio-informatique et de la théorie des automates. Il propose également un module de simulation de trafic, permettant ainsi la génération de flux de communication réalistes issus de l'inférence de protocoles dont la spécification est inconnue.

Abstract

In this paper, we present Netzob, an opensource tool which supports the expert in its operations of reverse engineering, evaluation and simulation of communication protocols. Its main goals are to help security evaluators to assess the robustness of proprietary or unknown protocols implementation, simulate realistic communications to test third-party products (IDS, firewalls, etc.) or even create an open source implementation of a proprietary or unknown protocol.

Netzob supports the expert in a semi-automatic manner. It includes the necessaries to passively learn the vocabulary of a protocol and to actively infer its grammar. In addition, it integrates a stochastic and statefull model to represent any statefull communication protocol. The definition of the model can be shared and loaded in a dedicated component of Netzob, its simulator. Therefore, it becomes easy to simulate multiple actors (servers and clients) which communicate according to the infered protocol, and to apply advanced fuzzing.