Thèse soutenue

Analyse des vulnérabilités dans des systèmes embarqués face à des attaques par fuzzing
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Léopold Ouairy
Direction : Jean-Louis Lanet
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 24/09/2020
Etablissement(s) : Rennes 1
Ecole(s) doctorale(s) : École doctorale Mathématiques et sciences et technologies de l'information et de la communication (Rennes)
Partenaire(s) de recherche : Laboratoire : Institut national de recherche en informatique et en automatique (France). Unité de recherche (Rennes, Bretagne-Atlantique)

Résumé

FR  |  
EN

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.