Les interfaces de debug comme le JTAG, SPI, SWD sont essentielles dans le développement de logiciel embarqué, notamment sur microcontrôleurs. Elles offrent aux développeurs un panel d’outils (programmation mémoire, instruction stepping, memory dump, profiling, tracing) pour les aider dans la conception d’une application. Ces fonctionnalités sont malheureusement une porte d’entrée privilégiée sur un système. Si les accès à ces fonctionnalités de debug ne sont pas correctement verrouillés ou les contrôles d’accès mal effectués, alors la sécurité du système entier est compromise.
L’objectif de stage est de développer une méthodologie automatisée pour la vérification de protocole de debug implémentés par les micro-contrôleurs. Il s’agit non-seulement de vérifier les fonctionnalités attendues, mais également de rechercher de manière pro-active des vulnérabilités potentielles à l’aide de techniques de fuzzing. Nous essayerons également d’introduire des perturbations jusqu’au niveau du protocole de debug (JTAG, SWD), ce qui implique l’utilisation d’une interface « bit-level » avec la cible (FPGA ou interface supportant du « bit-banging »).
Dans un premier temps, nous identifierons une cible de travail (type microcontrôleur). Ensuite, il s’agira à partir des documentations et du protocole supporté d’extraire une séquence de test à effectuer. Sur cette base, il faudra mettre en œuvre les outils permettant d’exécuter les séquences de tests. Il pourra s’agir d’outil existants, où d’outils personnalisés. Nous essayerons ensuite de généraliser l’approche à un ou plusieurs microcontrôleurs.
Compétences. Nous recherchons une candidate ou un candidat pour un stage de 6 mois (dernière année de cycle ingénieur ou master 2 de recherche).
Le stage se déroulera majoritairement sous un environnement Linux, la connaissance du langage C est nécessaire ainsi qu'un langage de scripting (Python ou Bash). Des connaissances en reverse-engineering et plus généralement un intérêt pour la sécurité informatique sont un plus.
Laboratoire. Le stage se déroulera au CEA-LETI au sein du laboratoire LTSO (DSYS/SSSEC/LTSO) situé à Grenoble en France. Ce Laboratoire est spécialisé dans les tests de sécurités sur les systèmes embarqués. L’équipe est composée d’une quinzaine de personnes (ingénieurs, chercheurs, doctorants, stagiaires). En parallèle des activités de test, l’équipe effectue des activités de recherche et développe des outils d’aide au test.
Autres informations. La rémunération du stage est de 1400€ brut par mois.
Pourquoi venir au LETI – DSYS ?
Un poste au cœur de la métropole grenobloise, facilement accessible via la mobilité douce favorisée par le CEA,
Un environnement unique de recherché dédié à des thématiques à fort enjeu sociétal, comme la préservation des ressources (économie de la fonctionnalité, monitoring et optimisation de la consommation en eau…) ou l’efficacité énergétique (maintenance prévisionnelle, optimisation des process)
Une expérience sur une thématique à la pointe de l’innovation, comportant un fort potentiel de développement industriel, par exemple dans le domaine de l’aéronautique ou de la bioproduction.
Des formations pour renforcer vos compétences ou en acquérir de nouvelles, en électronique embarquée, en mécatronique, ou en simulation de systèmes multiphysiques multi-échelles.
Un équilibre vie privé – Stage
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.