Dérivation et analyse des implémentations des protocoles cryptographiques
Auteur / Autrice : | Aina Toky Rasoamanana |
Direction : | Hervé Debar |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique, données, IA |
Date : | Soutenance le 08/06/2023 |
Etablissement(s) : | Institut polytechnique de Paris |
Ecole(s) doctorale(s) : | École doctorale de l'Institut polytechnique de Paris |
Partenaire(s) de recherche : | Laboratoire : Télécom SudParis (Evry ; 2012-....) - Institut Polytechnique de Paris / IP Paris |
Etablissement opérateur d'inscription : Télécom SudParis (Evry ; 2012-....) | |
Equipe de recherche : Département Réseaux et Services de Télécommunications / RST - Sécurité et Confiance Numérique / SCN | |
Jury : | Président / Présidente : Marine Minier |
Examinateurs / Examinatrices : Karthikeyan Bhargavan, Barbara Fila-Kordy, Aurélien Francillon, Arnaud Fontaine, Olivier Levillain | |
Rapporteurs / Rapporteuses : Karthikeyan Bhargavan, Barbara Fila-Kordy |
Mots clés
Mots clés contrôlés
Résumé
TLS et SSH sont deux protocoles de sécurité très répandu et étudiés par la communauté de la recherche. Dans cette thèse, nous nous concentrons sur une classe spécifique de vulnérabilités affectant les implémentations TLS et SSH, tels que les problèmes de machine à états. Ces vulnérabilités sont dues par des différences d'interprétation de la norme et correspondent à des écarts par rapport aux spécifications, par exemple l'acceptation de messages non valides ou l'acceptation de messages valides hors séquence.Nous développons une méthodologie généralisée et systématique pour déduire les machines d'état des protocoles tels que TLS et SSH à partir de stimuli et d'observations, et pour étudier leur évolution au fil des révisions. Nous utilisons l'algorithme L* pour calculer les machines d'état correspondant à différents scénarios d'exécution.Nous reproduisons plusieurs vulnérabilités connues (déni de service, contournement d'authentification) et en découvrons de nouvelles. Nous montrons également que l'inférence des machines à états est suffisamment efficace et pratique dans de nombreux cas pour être intégrée dans un pipeline d'intégration continue, afin d'aider à trouver de nouvelles vulnérabilités ou déviations introduites au cours du développement.Grâce à notre approche systématique en boîte noire, nous étudions plus de 600 versions différentes d'implémentations de serveurs et de clients dans divers scénarios (versions de protocoles, options). En utilisant les machines d'état résultantes, nous proposons un algorithme robuste pour identifier les piles TLS et SSH. Il s'agit de la première application de cette approche sur un périmètre aussi large, en termes de nombre de piles TLS et SSH, de révisions ou de scénarios étudiés.