35 days agoCEA

Approximation de flot de contrôle à partir de traces d'instructions H/F

  • Stage
  • Grenoble (Isère)
  • IT development

Job description

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

2019-10544

Description de l'unité

Le LSOSP, Laboratoire sécurité des objets et des systèmes physiques, mène des activités de R&D dans le domaine des technologies de sécurité et de protection de la vie privée. Il analyse et caractérise les risques auxquels sont soumis les systèmes électroniques et les composants ; il conçoit des contremesures s'appuyant notamment sur des techniques cryptographiques mais aussi sur des modifications dans l'architecture des systèmes pour intégrer les technologies nécessaires (composants, codes embarqués, interfaces ou protocoles de communications...). Il caractérise l'efficacité des contremesures intégrées dans des composants, des objets
(communicants) et des systèmes cyberphysiques afin de résister aux attaques au niveau de leur structure, de leurs fonctions ou de leur utilisation.

Description du poste

Domaine

Mathématiques, information scientifique, logiciel

Contrat

Stage

Intitulé de l'offre

Approximation de flot de contrôle à partir de traces d'instructions H/F

Sujet de stage

Approximation de flot de contrôle à partir de traces d'instructions

Durée du contrat (en mois)

6

Description de l'offre

Le Laboratoire de Sécurité des Objets et des Systèmes Physiques (LSOSP) a significativement amélioré en 2019 [1] les techniques permettant d’extraire les instructions exécutées par un micro-processeur à partir de mesures side-channel (notamment le rayonnement electromagnétique du circuit. Nous disposons à ce jour d’une preuve de concept fonctionnelle sur des cibles PIC16F.

Cependant, l’outil actuel (que nous appelons un désassembler side-channel ou side-channel disassembler en anglais) donne en sortie des données relativement brutes. De manière simplifiée, pour un cycle du processeur et un bit donné d’une instruction, l’outil donne la probabilité de chaque transition possible de ce bit. Nous souhaitons à travers ce stage aller plus loin et reconstruire à partir de ces informations le flot de contrôle du programme exécuté et également corriger les erreurs de prédictions du désassembleur side-channel.

Objectifs et organisation du stage


Le stage sera effectué au sein de l’équipe Nanotrust, une équipe du laboratoire LSOSP qui conçoit et développe des contremesures pour sécuriser des processeurs embarqués RISC-V. Le stage sera organisé de la manière suivante :

  • Dans un premier temps, le candidat étudiera les algorithmes existants et développera un outil pour reconstruire à partir d’une séquence d’instructions le flot de contrôle. Cette partie du travail s’effectuera à partir de traces obtenues à l’aide d’un simulateur de jeu d’instructions.
  • Ensuite, nous intègreront cet outil au désassembler side-channel dont dispose le LSOSP. Nous pourrons dès lors inclure des aspects probabilistes et ajouter des méthodes de prise en compte des erreurs aux algorithmes développés précédemment.
  • Si le temps le permet, le candidat pourra comparer les programmes d’entrées et ceux reconstruits et en dériver des métriques de vulnérabilité (quelles parties du programmes fuites plus que d’autres par exemple)

Nous adopterons dans ce stage une approche incrémentale et espérons à la fin des six mois aboutir à un démonstrateur de la solution. De plus, comme ces travaux se basent sur des techniques à l’état de l’art, il n’est pas exclu de publier à une conférence du domaine (CARDIS, CHES, DATE…).

[1] V. Cristiani, M. Lecomte, and T. Hiscock, “A bit-level approach to side-channel based disassembling,” in Proceedings of the smart card research and advanced application conference, 2019.

Moyens / Méthodes / Logiciels

C, C++, Bash, Python

Ideal candidate profile

Profil du candidat

Nous recherchons un étudiant pour une durée de 5 à 6 Mois, en école d'ingénieur ou fin de Master 2. Les compétences attendues sont :

- Autonome, curieux, intéressé par la recherche et potentiellement une poursuite en thèse
- Bon niveau en informatique (notamment C, C++), à l'aise avec les langages de scripting (Bash, Python)
- Connaissances en sécurité, reverse engineering
- Connaissances en systèmes embarqués sont un plus