PhD Thesis

Download dissertation Download slides Download experiments

Présentation - Defense

Questions/Réponses - Questions/Answers

De nos jours, nos appareils mobiles sont utilisés pour réaliser des opérations sensibles telles que du paiement, de l'identification ou la gestion de services santé. Historiquement, ces opérations sont réalisées par des appareils conçus et évalués pour résister à diverses attaques: les éléments sécurisés. En revanche, les appareils mobiles sont conçus pour fournir la meilleure performance possible et ne subissent aucune évaluation de sécurité. Cet état de fait interroge sur la résistance de ces appareils face aux attaques classiques contre lesquelles se protègent les éléments sécurisés.

Parmi ces attaques, nous nous proposons, dans cette thèse, d'étudier les attaques par perturbations. Ces attaques consistent à modifier les conditions d'exécution du circuit ciblé afin d'induire des erreurs dans son fonctionnement. Ces erreurs volontaires, communément appelées fautes, permettent de créer des failles dans la cible pouvant aller jusqu'à la cryptanalyse d'un algorithme de chiffrement ou l'authentification d'un utilisateur non autorisé.

Bien que ces méthodes d'attaques soient connues et étudiées sur les éléments sécurisés, les appareils modernes reposent sur des processeurs modernes présentant des différences par rapport aux processeurs des éléments sécurisés. Cela peut être le nombre de modules qu'ils embarquent, leur finesse de gravure ou des optimisations.

L'impact de ces différences sur la sécurité des processeurs n'a pas été étudié en prenant en compte la possibilité d'induire des fautes. C'est ce que nous réalisons dans cette thèse. Nous définissons une méthode permettant de caractériser les effets de perturbations sur un processeur moderne que nous appliquons sur trois processeurs représentatifs des appareils existants: le BCM2837, le BCM2711b0 et l'Intel Core i3-6100T. Nous avons également utilisé deux moyens de perturbation classiques: l'injection d'onde électromagnétique et l'utilisation d'un laser. L'étude de ces cibles, en variant les moyens d'injections de faute, nous a permis de déterminer qu'elles réagissent toutes de manière similaire aux différentes perturbations malgré leurs différentes architectures. L'effet le plus marquant étant la modification des instructions exécutées.

Ce type de faute est très fort, car il permet de modifier une partie du programme exécuté pendant son exécution. Vérifier le programme avant de l'exécuter ne protège en rien face à ce type de fautes, par exemple. C'est pourquoi nous avons également étudié la résistance des mécanismes de sécurité présents dans ces cibles face à ce type de faute. Nous avons notamment réussi à cryptanalyser l'implémentation de l'algorithme de chiffrement AES de la bibliothèque OpenSSL, très utilisé dans les systèmes utilisant Linux. Nous avons également étudié la résistance du mécanisme d'authentification des utilisateurs d'un système Linux en regardant le programme sudo. Cette étude nous a, en particulier, révélé que la communauté manque d’outils efficaces pour analyser ce type de programmes face aux fautes. En effet, les programmes s’exécutant dans un environnement Linux bénéficient de nombreux mécanismes liés au noyau Linux qui rendent l’exécution d’un programme difficile à étudier.

Since the democratization of mobile devices, sensitive operations like payment, identification or healthcare, usually done using security evaluated smartcards, are handled by these devices. However, mobile devices neither are designed for security nor security evaluated. Therefore, their resistance against powerful attacks, like physical attacks is questionable.

In this thesis, we aim at evaluating the security of mobile devices against physical attacks, in particular perturbation attacks. These attacks aims at modifying the execution environment of the device to induce bugs during its computation. These bugs are called faults. These faults can compromise the security of a device by allowing the cryptanalysis of its secret or forcing an unauthorized authentication for instance.

Mobile devices are powered by modern processors, which are the heart of this work, and are never evaluated against fault attacks. However, our knowledge about fault attacks on smartcards is not relevant as the processors powering smartcards are way less complex, in terms of number of modules, technology node and optimization mechanisms, than modern processors.

Regarding this situation, we aim at providing rationally on the security of modern processors against fault attacks by defining a fault characterization method, using it on representative modern processors and analysing classical security mechanisms against the characterized faults.

We characterized three devices, namely the BCM2837, BCM2711b0 and the Intel Core i3-6100T against fault attacks using two different injection mediums: electromagnetic perturbations and a laser. We determined that these devices, despite having different architecture and using different mediums are faulted in similar ways. Most of the time, a perturbation on these devices modify their executed instructions.

As this is a powerful fault, we also analysed classical security mechanisms embedded in such devices. We successfully realized a differential fault analysis on the AES implementation of the OpenSSL library, which is used in every Linux-based operating system. We also analysed the Linux user authentication process involved in the sudo program. This work highlights the lack of tools to efficiently analyse Linux programs, which are rather complex with dynamic linking mechanisms, against fault attacks.

  • Jessy Clediere, CEA-E5 Université Grenoble Alpes - Directeur de thèse
  • Karine Heydemann, Maitre de conference, Laboratoire d'Informatique de Paris 6 - Rapporteur
  • Philippe Maurine, Maitre de conference, Laboratoire d'Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM) - Rapporteur
  • Clémentine Maurice, Charge de recherche, CNRS, CRIStAL, Lille - Examinateur
  • Marie-Laure Potet, Professeur, ENSIMAG, Université de Grenoble Alpes - Examinateur
  • Jean-Max Dutertre, Professeur, École des Mines de Saint Étienne - Examinateur
  • Patrick Schaumont, Professeur, Worcester Polytechnic Institute - Examinateur
  • Lilian Bossuet, Professeur, Université Jean-Monnet, Saint-Etienne - Examinateur
  • Patrick Haddad, Ingénieur de Recherche, STMicroelectronics - Invité
  • Guillaume Bouffard, Ingénieur de recherche, ANSSI et chercheur associé, ENS Paris - Invité, co-encadrant