Thèse soutenue

Quantification de la sécurité des applications en présence d'attaques physiques et détection de chemins d'attaques

FR  |  
EN
Auteur / Autrice : Jean-Baptiste Bréjon
Direction : Karine HeydemannEmmanuelle Encrenaz
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 26/06/2020
Etablissement(s) : Sorbonne université
Ecole(s) doctorale(s) : École doctorale Informatique, télécommunications et électronique de Paris
Partenaire(s) de recherche : Laboratoire : LIP6 (1997-....)
Jury : Président / Présidente : Antoine Miné
Examinateurs / Examinatrices : Patricia Mouy, Quentin Meunier
Rapporteurs / Rapporteuses : Marie-Laure Potet, Jean-Max Dutertre

Résumé

FR  |  
EN

Les systèmes embarqués traitent et manipulent de plus en plus de données sensibles. La sécurité de ces systèmes est une préoccupation de premier ordre pour ceux qui les conçoivent. Les attaques en fautes visent à perturber l'exécution des programmes à travers la manipulation de grandeurs physiques dans l'environnement du système. Des contre-mesures logicielles sont déployées pour faire face à cette menace. Différentes analyses sont actuellement utilisées pour évaluer l'efficacité des contre-mesures une fois déployées mais elles sont peu ou pas automatisées, coûteuses et limitées quant à la couverture des comportements possibles et aux types de fautes analysables. Nous proposons une méthode d'analyse de robustesse de code binaire combinant des méthodes formelles et de l'exécution symbolique. L'analyse au niveau du code binaire permet non seulement de se placer après la compilation, qui peut altérer les contre-mesures, mais aussi de prendre en compte des éléments du code binaire invisibles à plus haut niveau. Les méthodes formelles, capables d'exhaustivité, permettent à l'analyse de considérer toutes les configurations des paramètres d'entrée. L'analyse est toutefois réalisée vis-à-vis d'un contexte symbolique, extrait par exécution symbolique, ce qui la circonscrit à des paramètres d'entrée réalistes et limite ainsi les faux positifs. Nous avons implémenté cette méthode dans un outil, nommé \texttt{RobustB}, automatisé depuis le code source. Nous proposons trois métriques permettant de synthétiser les résultats de l'analyse et d'aider le concepteur de contre-mesures à évaluer la sensibilité globale du code ainsi qu'au niveau de chaque instruction.