Return to search

Security of micro-controllers : From smart cards to mobile devices / Sécurité des microcontroleurs embarqués : Des cartes à puce aux appareils mobiles

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. / Nowadays, in order to provide secure, reliable and performant services (e.g: mobile payments, agenda, telecommunication, videos, games, etc.), smartphones embed three different micro-controllers. From the most secure to the most general purpose one, we have the SIM card which is a secure smart card that has to prevent anyone by any means to exfiltrate sensitive assets from its internal memories. Furthermore, we also have the baseband processor, which is the only one that directly talks with the SIM card. It essentially manages all the "phone" parts (e.g: GSM/3G/4G/LTE networks) inside a mobile device. Finally, we have the application processor which runs all the general user applications. What is interesting to note for those three micro-controllers is that they are controlled by different and independent operating systems. However, one may affect the behavior of the other(s). The security of these three platforms depend on their hardware and software implementations. This thesis is concerned with the security of these three microcontrollers that are managed by independent OSs within mobile devices. We particularly focused on understanding to what extent a smart card such as SIM cards can be resistant to software attacks in the context of a multi-application environment provided by mobile devices. We were also interested in a specific family of, so-called cache attacks, namely time-driven one, as this kind of technique essentially exploits the hardware implementation of the different cache memories and the mechanisms that enable to manage them. We decided to first study and experimentally perform so-called logical attacks on smart cards. In a second step, in order to understand the attack surface, we have studied the different means to reach the SIM card from both the baseband processor and the application processor. Then, by means of reverse engineering, we tried to understand how was implemented the SIM interface from the baseband side. Finally, we have studied the cache effects on the execution speed of a program on real mobile devices, and we experimentally studied Bernstein’s time-driven cache attack in order to understand what possible events/mechanisms exacerbate (or not) the achievement of the latter on an actual mobile device.

Identiferoai:union.ndltd.org:theses.fr/2016LIMO0087
Date24 November 2016
CreatorsRazafindralambo, Tiana
ContributorsLimoges, Clavier, Christophe, Lanet, Jean-Louis
Source SetsDépôt national des thèses électroniques françaises
LanguageEnglish
Detected LanguageFrench
TypeElectronic Thesis or Dissertation, Text

Page generated in 0.0021 seconds