GASP : a Generic Approach to Secure network Protocols

Entrée en langue française / French entry Catégorie: Conférence
Auteur: Olivier Levillain
Date: 16 décembre 2020

Dans notre monde toujours plus connecté, nous reposons fortement sur les protocoles réseau pour communiquer les uns avec les autres. Pour assurer la confidentialité et l'intégrité des données échangées, il est donc nécessaire d'évaluer et d'améliorer la sécurité de ces protocoles et de leur implémentation. Cette observation concerne évidemment les protocoles dits de sécurité tels que TLS ou SSH, mais il est également important de s'intéresser aux protocoles applicatifs complexes de plus haut niveau, comme HTTP/2, et aux protocoles de plus bas niveau comme DNS ou BGP.

Les failles de sécurité sont en effet omniprésentes dans nos protocoles réseau, que ce soit au niveau de la spécification ou à cause d'erreurs d'implémentation : spécifications incomplète, problèmes de corruption mémoire, erreurs logiques, raccourcis dans les machines à état, attaques cryptographiques, etc.

Le projet GASP propose un cadre générique pour décrire les protocoles et en dériver des outils automatiquement. Nous définirons d'abord un langage pour décrire les messages, pour dériver des parsers et des scanners réseau. Puis, nous définirons des langages pour les machines à états, afin de dériver des implémentations de référence. Enfin, nous développerons des fuzzers pour tester les piles existantes. Notre but est donc de fournir une approche générique pour sécuriser les protocoles, depuis l'observation sur le terrain à l'implémentation et au tests.

L'impact à court terme sera de mieux connaître les protocoles, leurs implémentations et leurs déploiements. Nous partagerons les outils produits, aindi que les données collectées et les résultats obtenus pendant le projet. A long terme, les langages produits pourront aider à produire de meilleures spécifications et accélérer le développement de piles logicielles.

Présenté lors de la conférence RESSI à Internet le 16 décembre 2020

BibTeX Présentation