Thèse soutenue

Amélioration des tests de sécurité dynamiques "Hardware-in-the-Loop" pour les dispositifs embarqués basés sur Linux

FR  |  
EN
Auteur / Autrice : Paul L. R. Olivier
Direction : Aurélien Francillon
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 22/03/2023
Etablissement(s) : Sorbonne université
Ecole(s) doctorale(s) : École doctorale Informatique, télécommunications et électronique de Paris
Partenaire(s) de recherche : Laboratoire : Institut EURECOM (Sophia-Antipolis, Alpes-Maritimes)
Jury : Président / Présidente : Davide Balzarotti
Examinateurs / Examinatrices : Marius Muench, Vincent Nicomette, Fabienne Waidelich
Rapporteurs / Rapporteuses : Vincent Roca, Guillaume Hiet

Résumé

FR  |  
EN

Les techniques d'analyse dynamique ont prouvé leur efficacité dans l'évaluation de la sécurité. Il est en revanche nécessaire de pouvoir exécuter le code à analyser et c'est souvent un défi pour les firmware dont la plupart sont profondément intégrés à l’architecture matérielle du système embarqué. L'émulation permet d’exécuter une grande partie du code mais se retrouve rapidement limitée lorsqu’il est nécessaire d'interagir avec des composants spécialisés. Pour cela, l’approche d'émulation partielle, ou hardware-in-the-loop, offre plusieurs avantages: transférer les accès aux matériels qui sont difficiles à émuler correctement et exécuter le firmware à tour de rôle sur les deux entités. Jusqu'à présent, cette approche a été principalement considérée pour les firmware monolithiques, mais moins pour les dispositifs utilisant des systèmes d'exploitation avancés. Dans cette thèse, nous explorons les défis des tests de sécurité pour les processus exécutés dans un environnement émulé où une partie de leur exécution doit être transmise à leur dispositif physique d'origine. Au travers de cette thèse, nous passons d'abord en revue les différentes techniques d'interception des appels système ainsi que leurs objectifs. Nous discutons des défis des différentes manières d'exécuter un processus dans deux noyaux Linux différents. Nous implémentons au travers d’un framework ces transferts pour un processus Linux avec ses appels système et accès mémoire entre son environnement émulé et son environnement d’origine sur le dispositif physique. Afin de surmonter les défis liés à l'utilisation de dispositifs physiques pour ces tests de sécurité, nous présentons également une nouvelle plateforme pour les tests de sécurité hardware-in-the-loop.