Thèse soutenue

Analyse dynamique de micrologiciels binaires : défis et solutions

FR  |  
EN
Auteur / Autrice : Marius Muench
Direction : Davide BalzarottiAurélien Francillon
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 19/09/2019
Etablissement(s) : Sorbonne université
Ecole(s) doctorale(s) : École doctorale Informatique, télécommunications et électronique de Paris (1992-...)
Partenaire(s) de recherche : Laboratoire : Institut EURECOM (Sophia-Antipolis, Alpes-Maritimes)
Jury : Président / Présidente : Marc Dacier
Examinateurs / Examinatrices : Mathias Payer, Sarah Zennou
Rapporteurs / Rapporteuses : Jean-Pierre Seifert, Roberto Di Pietro

Résumé

FR  |  
EN

Les systèmes embarqués sont un élément clé de la vie moderne. Par conséquent, le code fonctionnant sur ces systèmes, appelé "firmware", doit être soigneusement évalué et testé. L'analyse dynamique est un moyen courant d'évaluer la sécurité des firmwares, en particulier en l'absence de code source. Malheureusement, comparée à l'analyse et aux tests sur les ordinateurs de bureau, l'analyse dynamique des firmwares reste à la traîne. Dans cette thèse, nous identifions les principaux défis empêchant l’analyse dynamique et les techniques de test d’exploiter pleinement leur potentiel sur les firmware. Nous avons développé avatar2, un framework d'orchestration multi-cibles capable d'exécuter des firmware dans un émulateur à la fois de manière partielle et totale. À l’aide de ce framework, nous adaptons plusieurs techniques d’analyse dynamique pour pouvoir fonctionner avec succès sur des firmwares binaires. Notamment nous utilisons ses possibilités de script pour reproduire facilement une étude précédente. Nous montrons qu’elle permet d’enregistrer et de rejouer l’exécution d’un système embarqués et de mettre en œuvre des méthodes heuristiques pour une meilleure détection des pannes. En outre, la structure sert de base à une évaluation expérimentale des tests fuzz sur des systèmes intégrés et est utilisée dans un moteur d’exécution concolique évolutif pour les firmwares. Enfin, nous présentons Groundhogger, une nouvelle approche de décompression du micrologiciel des périphériques intégrés qui, contrairement à d’autres outils de décompression, utilise l’analyse dynamique.