Un modèle logiciel des contremesures sécuritaires 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-21522  

Description du poste

Domaine

Autre

Contrat

Alternance

Durée du contrat (en mois)

12

Description de l'offre

Le CEA LETI et l’IRT Nanoelec à travers le projet « Technologie et outil pour composants de confiance » repense la sécurité des processeurs et développe une architecture de processeur sécurisée basée sur le jeu d’instruction RISC-V. L’équipe projet travaille sur la définition et la spécification de plusieurs contremesures contre des attaques qui exploitent des vulnérabilités matérielles ou logicielles. En l’occurrence, les attaques par canaux auxiliaires, injection de fautes, buffer overflow, cold boot, …

Le sujet proposé pour cette alternance vise à travailler sur des modèles logiciels de ces contremesures puis de les intégrer dans un émulateur/simulateur. Des outils comme Gem5 ou TinyEMU sont des bons candidats pour cet exercice.

Selon le profil du candidat(e) et le cahier de charge de sa formation, les objectifs de l’alternance peuvent être orientés vers la couche logicielle ou matérielle du SOC vu que les contremesures apportent des modifications sur les deux couches. On peut distinguer alors deux orientations de l’alternance :

1.      Orientation logicielle

Dans le cadre du développement d’un CPU 64 bits RISC-V manipulant des données et instructions chiffrées, la tâche principale sera la mise en œuvre d’un modèle de mémoire RAM chiffrée. Il faudra pour cela adapter le code du simulateur pour accéder aux signaux nécessaires au chiffrement (comme par exemple le mode de privilège en cours). Une fois le composant sécurisé intégré, il faudra valider son fonctionnement à l’aide de tests. On vérifiera par exemple que le système d’exploitation (Linux) fonctionne correctement et que des corruptions mémoire peuvent être détectées.

2.      Orientation matérielle

Dans le processus d’implémentation matérielle de ces contremesures et leur intégration dans le cœur Ariane (CVA6) de l’OpenHW group, l’étape de la validation fonctionnelle est très importante. Cette dernière passe par tester les modèles comportementaux du RTL implémenté par les outils comme QuestaSim ou Verilator mais aussi par l’exécution des familles de tests RISCV en simulation et sur une cible FPGA où le cœur est émulé. Dans un but d’automatisation de cette validation fonctionnelle, le sujet proposé peut être orienter pour travailler sur des modèles logiciels de ces contremesures pour générer des traces qui doivent être comparées avec les traces Verilator ou Questasim d’une façon automatisée.  

L’alternance sera organisée de la manière suivante :

·        Prise en main du simulateur, de la toolchain de compilation RISC-V, de l’architecture actuelle du processeur sécurisé

·        Développement du modèle logiciel des contremesures

·        Intégration e validation du modèle

·        Exploitation des résultats

Profil du candidat

Pour prendre en main ce sujet, le candidat ou la candidate devra être à l’aise en programmation (C/C++ et Python). L’environnement de développement actuel est sous Linux, ce qui nécessite d’être à l’aise avec le shell et le scripting (Bash, Makefile). Enfin, il faudra être capable de comprendre les solutions à mettre en œuvre à partir de spécifications et de discussions avec l’équipe. Il sera apprécié que le candidat ou la candidate soit capable de fournir un regard critique sur ses développements et éventuellement puisse partager des suggestions d’améliorations.

Localisation du poste

Site

Grenoble

Localisation du poste

France, Auvergne-Rhône-Alpes, Isère (38)

Ville

  Grenoble

Critères candidat

Diplôme préparé

Bac+5 - Master 2

Demandeur

Disponibilité du poste

02/05/2022