AVIS DE SOUTENANCE de Monsieur Aina Toky RASOAMANANA

L’Ecole doctorale : Ecole Doctorale de l’Institut Polytechnique de Paris
et le Laboratoire de recherche SAMOVAR

présentent

l’AVIS DE SOUTENANCE de Monsieur Aina Toky RASOAMANANA

Autorisé à présenter ses travaux en vue de l’obtention du Doctorat de l’Institut Polytechnique de Paris, préparé à Télécom SudParis en :

Informatique

« Dérivation et analyse des implémentations des protocoles cryptographiques »

le JEUDI 8 JUIN 2023 à 14h00

Salle 3A213
19 Pl. Marguerite Perey, 91120 Palaiseau

Membres du jury :

M. Hervé DEBAR, Professeur, Télécom SudParis, FRANCE – Directeur de thèse
M. Karthikeyan BHARGAVAN, Directeur de recherche, INRIA Paris, FRANCE – Rapporteur
Mme Barbara FILA, Maîtresse de conférences, INSA Rennes, FRANCE – Rapporteure
Mme Marine MINIER, Professeure des universités, Université de Lorraine, FRANCE – Examinatrice
M. Aurélien FRANCILLON, Professeur, EURECOM, FRANCE – Examinateur
M. Fontaine ARNAUD, Responsable d’un laboratoire de l’ANSSI, Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI), FRANCE – Examinateur
M. Olivier LEVILLAIN, Maître de conférences, Télécom SudParis, FRANCE – Co-encadrant de thèse

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.


Abstract : « Derivation and Analysis of Cryptographic Protocol Implementation »

TLS and SSH are two well-known and thoroughly studied security protocols. In this thesis, we focus on a specific class of vulnerabilities affecting both protocols implementations, state machine errors. These vulnerabilities are caused by differences in interpreting the standard and correspond to deviations from the specifications, e.g. accepting invalid messages, or accepting valid messages out of sequence. We develop a generalized and systematic methodology to infer the protocol state machines such as the major TLS and SSH stacks from stimuli and observations, and to study their evolution across revisions. We use the L* algorithm to compute state machines corresponding to different execution scenarios. We reproduce several known vulnerabilities (denial of service, authentication bypasses), and uncover new ones. We also show that state machine inference is efficient and practical enough in many cases for integration within a continuous integration pipeline, to help find new vulnerabilities or deviations introduced during development. With our systematic black-box approach, we study over 600 different versions of server and client implementations in various scenarios (protocol versions, options). Using the resulting state machines, we propose a robust algorithm to fingerprint TLS and SSH stacks. To the best of our knowledge, this is the first application of this approach on such a broad perimeter, in terms of number of TLS and SSH stacks, revisions, or execution scenarios studied.