Analyse des vulnérabilités dans des systèmes embarqués face à des attaques par fuzzing

Defense type
Thesis
Starting date
Location
IRISA Rennes
Room
Métivier - C024
Speaker
Léopold Ouairy (CIDRE)
Theme

De nos jours, les cartes à puces sont utilisées quotidiennement. Elles nous permettent par exemple d’effectuer des paiements ou encore de signer des documents numériques. Parce que les cartes à puces contiennent des informations personnelles et sensibles relatives à leur propriétaire légitime, elles sont convoitées par les attaquants.
En particulier, ces attaquants peuvent utiliser le fuzzing. Cette attaque consiste à tester le plus de messages de communication possible avec un programme afin de pouvoir détecter des vulnérabilités.

Cette thèse vise à protéger les cartes à puces face aux attaques par fuzzing. Deux approches de détection automatique d’erreurs d’implémentation sont proposées. La première, est l’adaptation pour Java et son amélioration d’un outil issu de l’état de l’art. Il repose sur une technique de fouille de code sources automatique. La seconde approche est également basée sur la fouille de code sources, en prenant en compte les limites de la première. En particulier, la précision et la réduction des dimensions est améliorée par l’utilisation de techniques issues du Traitement Automatique du Langage Naturel.
De plus, une étude des techniques de plagiat augmente la robustesse de l’analyse face aux différences d’implémentation des applets. Cette même approche effectue une analyse inter-procédurale du graphe de flot de contrôle des applets, lui permettant de réduire le nombre de faux positifs lors de la détection d’anomalies. Les deux approches sont évaluées sur deux points : leur capacité à retrouver des méthodes de sémantique similaire, ainsi que sur leur capacité à détecter des anomalies. Cette évaluation repose sur trois oracles construits manuellement à partir de programmes AES et d’applets OpenPGP. Les résultats montrent que la seconde approche permet de détecter des vulnérabilités avec plus de précision, de rappel, et en moins de temps que la première approche. Aussi, son implémentation nommée Confiance pourrait être utilisé en entreprise pour sécuriser des applets.

Composition of the jury
Aurélien Francillon -associate professor (PR2) in the networking and security department at EURECOM
Hélène Waeselynck -Research Scientist at LAAS-CNRS
Bruno Legeard- Professor of Software Engineering -Institut FEMTO-ST/DISC
Hélène Le Bouder -postdoctoral researcher in computer scienc at INRIA Rennes
Jean-Louis Lanet - Director of the LHS-INRIA