Thèse soutenue

Sécurité des microcontroleurs embarqués : Des cartes à puce aux appareils mobiles

FR  |  
EN
Auteur / Autrice : Tiana Razafindralambo
Direction : Christophe ClavierJean-Louis Lanet
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 24/11/2016
Etablissement(s) : Limoges
Ecole(s) doctorale(s) : École doctorale Sciences et ingénierie pour l'information, mathématiques (Limoges ; 2009-2018)
Partenaire(s) de recherche : Laboratoire : XLIM
Jury : Examinateurs / Examinatrices : Christophe Clavier, Jean-Louis Lanet, Jean-Pierre Seifert, Benoît Feix, Eric Vetillard, Guillaume Bouffard
Rapporteurs / Rapporteuses : David Naccache, André Seznec

Résumé

FR  |  
EN

Afin de pouvoir profiter de services sécurisés, efficaces et rapides (ex: paiement mobile, agenda, télécommunications, vidéos, jeux, etc.), de nos jours nos téléphones embarquent trois différents microcontrôleurs. Du plus sécurisé vers le plus générique nous avons, la carte SIM qui n’est autre qu’une carte à puce sécurisé chargée de garder de manière sûr au sein de sa mémoire des données sensibles. Ensuite, nous avons le processeur à bande de base qui est le seul à pouvoir discuter avec la carte SIM, et s’occupe de se charger des fonctions radio du téléphone (ex: le réseau GSM/3G/4G/LTE). Et enfin, nous avons le processeur applicatif, qui se charge d’exécuter tous les autres programmes sur le téléphone. Ce qui rend ces microcontrôleurs plus particuliers, c’est le fait qu’ils sont chacun contrôlés par un système d’exploitation totalement indépendant. Néanmoins, chacun peut avoir son influence, direct ou indirect sur l’autre/les autres. La sécurité de ces trois plateformes dépendent non seulement de leur implémentations matérielles, mais aussi de l’implémentation logicielle de leur système d’exploitation. Cette thèse s’intéresse à la sécurité logicielle, et en partie, matérielle de ces trois plateformes, afin de comprendre dans quelle mesure, une carte à puce telle que la carte SIM, est-elle résistante aux attaques logicielles dans le contexte d’un environnement multi-applicatif offert par les appareils mobiles. Nous nous intéressons aussi, à la sécurité du processeur applicatif face à une famille particulière d’attaque qui exploite le mécanisme de mémoire cache. Nous partons alors de l’étude et de l’application en pratique des attaques logiques sur carte à puce. Après avoir étudié les différents moyens qui permettent d’atteindre la carte SIM dans un mobile et ainsi d’étudier la surface d’attaque, nous poursuivons vers une étude par rétro-conception de l’implémentation de l’interface logicielle qui communique directement avec la SIM au niveau du processeur de bande de base. Ceci afin de comprendre le fonctionnement de cette partie très peu documentée. Finalement, nous étudions les effets du mécanisme de cache sur l’exécution d’un programme dans un téléphone mobile. Enfin, nous avons commencé à étudier l’attaque de Bernstein, qui consiste à exploiter les variations de temps induits par différents mécanismes de cache, en mesurant le temps global de l’exécution d’une implémentation particulière de l’algorithme cryptographique AES (Advanced Encryption Standard). Plus particulièrement, par une mise en pratique, nous essayons de déterminer ce qui exacerbe ou non la réalisation de sa technique dans le contexte d’un téléphone mobile réel.