Les offres de “CEA”

Expire bientôt CEA

Solution d'identification et d'attaques d'interfaces de communication des systèmes embarqués H/F (Systèmes d'information)

  • Stage
  • Grenoble (Isère)
  • Développement informatique

Description de l'offre

Domaine : Systèmes d'information

Contrat : Stage

Description du poste :

Contexte :
Lorsque l’on souhaite attaquer un dispositif IoT, il est souvent nécessaire de le démonter pour identifier l’ensemble des vulnérabilités du système. Il est par exemple possible de:
Identifier les interfaces de communication et notamment les interfaces de debug/programmation qui, si elles ne sont pas protégées permettront d’accéder à un shell, de récupérer le logiciel voire de le reprogrammer.
Identifier les composants électroniques et notamment les mémoires afin de dumper leurs données pour récupérer des informations secrètes : clés de chiffrement, paramètres de configuration, logs, …
Trouver le pinout des microcontrôleurs ou processeurs afin d’en déduire les éléments qu’ils pilotent sur la carte électronique.
Ce stage s’inscrit plus généralement dans le développement des thématiques de tests de sécurité des systèmes embarqués du laboratoire Sécurité des Objets et Systèmes Physiques au sein du département Systèmes du CEA-LETI à Grenoble

Sujet du stage
Un premier objectif de ce stage est de développer un outil permettant d’identifier les interfaces de debug, de programmation et de communication présentes sur une carte électronique. Cette première étape de reverse engineering doit permettre de caractériser l’ensemble des points de tests et les interfaces externes afin de connaitre leurs caractéristiques (entrée, sortie, signal, alimentation, niveau de tension, …) puis de générer des vecteurs de tests afin de reconstruire l’interface de communication.
Un second objectif est de compléter cet outil afin de mener des attaques passives comme l’eavesdropping ou actives comme les attaques d’injection de fautes ou attaques Man-in-the-Middle sur les interfaces identifiées. Cela peut permettre de récupérer l’ensemble des données échangées entre les composants, d’extraire des données de composants, ou de corrompre les données échangées.
L’outil sera développé en VHDL et C sur une plateforme matérielle intégrant un FPGA Xilinx Zynq afin de répondre aux mieux aux contraintes temporelles des interfaces de communication.

Déroulement du stage :
Le (la) stagiaire devra imaginer, développer et tester l’outil intégrant les différentes fonctionnalités décrites ci-dessus. Les tâches prévues sont :
Etat de l’art afin de comprendre les étapes principales permettant de faire du reverse engineering hardware, les outils hardware et logiciels existants.
Récupération et tests des solutions existantes
Analyse de chaque bus de communication pour préparer la phase implémentation
Implémentation matérielle des modules d'identification d’interface, d'extraction des données qui passent dans le bus et d'injection des commandes dans le bus
Réalisation d’un démonstrateur associé


Niveau : Bac + 5 ou Master 2
Durée : 6 mois

Prérequis :
- Développement FPGA.
- Bases de sécurité.
- Electronique des systèmes embarqués.
- Développement de tests en python/C.
- Linux embarqué


Ville : Grenoble

Langue / Niveau :

Français : Courant

Langue / Niveau :

Anglais : Intermédiaire

Faire de chaque avenir une réussite.
  • Annuaire emplois
  • Annuaire entreprises
  • Événements