Pause
Lecture
Moteur de recherche d'offres d'emploi CEA

Reverse-engineering de code par mesures électromagnétiques H/F


Détail de l'offre

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