Informations générales
Entité de rattachement
Le Commissariat à l'énergie atomique et aux énergies alternatives (CEA) est un organisme public de recherche.
Acteur majeur de la recherche, du développement et de l'innovation, le CEA intervient dans le cadre de ses quatre missions :
. la défense et la sécurité
. l'énergie nucléaire (fission et fusion)
. la recherche technologique pour l'industrie
. la recherche fondamentale (sciences de la matière et sciences de la vie).
Avec ses 16000 salariés -techniciens, ingénieurs, chercheurs, et personnel en soutien à la recherche- le CEA participe à de nombreux projets de collaboration aux côtés de ses partenaires académiques et industriels.
Référence
2022-23969
Description de l'unité
Le laboratoire LSOSP du CEA-LETI situé à Grenoble traite de nombreuses thématiques autour de
la sécurisation des systèmes embarqués. L'évaluation de sécurité de produits (commerciaux ou des
prototypes) représente une partie importante des activités du laboratoire.
Description du poste
Domaine
Mathématiques, information scientifique, logiciel
Contrat
Stage
Intitulé de l'offre
Reverse-engineering de code par mesures électromagnétiques H/F
Sujet de stage
Reverse-engineering de code par mesures électromagnétiques
Durée du contrat (en mois)
6 Mois
Description de l'offre
Le désassemblage par canaux auxiliaires (ou Side Channel Based Disassembling, SCBD) consiste à retrouver le code exécuté par un microprocesseur à partir de phénomènes physiques produits par le circuit lors de son fonctionnement. La consommation de courant ou encore le rayonnement électromagnétique sont particulièrement exploitables par ce type d'attaques. Des techniques de machine learning et notamment des réseaux de neurones sont utilisés pour retrouver les instructions exécutées.
Le Laboratoire LTSO situé à Grenoble travaille activement sur le sujet [1][2] et dispose de bancs de mesures capable d'acquérir et d'analyser les signaux électromagnétiques sur les circuits.
L'objectif de ce stage est de réaliser des extractions de codes sur des cibles réelles. Nous étudierons deux types de systèmes: des microcontrôleurs PIC, avec une protection de code activée. Puis des microcontrôleurs à base de processeurs Cortex-M3, également verrouillés en lecture. Le candidat pourra s'appuyer sur l'expérience et les outils disponibles dans l'équipe.
L'approche proposée pour une cible donnée est la suivante:
- Mise en place du banc de mesure electro-magnétique.
- Création d'un modèle de machine learning (e.g., architecture de réseau de neurones) adapté à la cible.
- Traitement des résultats pour reconstruire le code.
- Portage de l'attaque sur une cible verrouillée en lecture.
[1] “A Bit-Level Approach to Side Channel Based Disassembling.”, Cristiani, Valence, Maxime Lecomte, and Thomas Hiscock. In International Conference on Smart Card Research and Advanced Applications (CARDIS) 2019
[2] « Towards Fine-grained Side-Channel Instruction Disassembly on a System-on-Chip », Julien Maillard, Thomas Hiscock, Maxime Lecomte, Christophe Clavier. DSD 2022.
Moyens / Méthodes / Logiciels
Rust, Python, Deep Learning (Tensorflow), Numpy, Linux
Profil du candidat
Nous recherchons une candidate ou un candidat pour un stage de 6 mois (fin de cycle ingénieur ou M2).
Le stage se déroulera majoritairement sous un environnement Linux, la connaissance d'un langage natif (Rust, C, C++, ...) est nécessaire ainsi qu'un langage de scripting (Python ou Bash). Le stage impliquera de manipuler des frameworks de machine learning (sklearn, tensorflow). Il faudra être également capable de lire du code assembleur et interagir avec des cibles embarquées. Des connaissances en reverse-engineering sont un plus.
Localisation du poste
Site
Grenoble
Localisation du poste
France, Auvergne-Rhône-Alpes, Isère (38)
Ville
Grenoble
Critères candidat
Langues
- Français (Courant)
- Anglais (Intermédiaire)
Diplôme préparé
Bac+5 - Diplôme École d'ingénieurs
Formation recommandée
Bac+5 ou Master 2
Possibilité de poursuite en thèse
Oui
Demandeur
Disponibilité du poste
01/12/2022