Thèse soutenue

Étude et conception de méthodes de protection face aux attaques par corruption de mémoire pour systèmes embarqués dans le contexte de l'Internet des Objets.

FR  |  
EN
Auteur / Autrice : Yohan Boyer
Direction : Pascal Benoit
Type : Thèse de doctorat
Discipline(s) : SYAM - Systèmes Automatiques et Micro-Électroniques
Date : Soutenance le 17/12/2020
Etablissement(s) : Montpellier
Ecole(s) doctorale(s) : École doctorale Information, Structures, Systèmes (Montpellier ; 2015-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique, de robotique et de micro-électronique (Montpellier ; 1992-....)
Jury : Président / Présidente : Giorgio Di Natale
Examinateurs / Examinatrices : Pascal Benoit, Giorgio Di Natale, David Hély, Guy Gogniat, Lionel Torres, Maria Mushtaq
Rapporteurs / Rapporteuses : David Hély, Guy Gogniat

Résumé

FR  |  
EN

Les attaques par corruption de mémoire représentent 70% des attaques informatiques. Avec la croissance exponentielle d’objets programmables et connectés à travers notamment l’Internet des Objets (IdO), il se pose la question de la vulnérabilité de ces systèmes électroniques embarqués: quelle est la menace réelle, quelles solutions trouve-t-on dans l’état de l’art et sont-elles suffisantes? Comment proposer des solutions de protection pertinentes et fonctionnelles dans un écosystème comme l’IdO composé d’environnements contraints ? Dans un premier temps, nous étudions par la mise en place d’une plateforme expérimentale (prototype basé sur un SoC Zynq-7000) les attaques par corruption de mémoire pour comprendre leur fonctionnement, déployer les contremesures existantes et analyser leurs limitations.Nous montrons notamment que les solutions de CFI existantes posent un certain nombre d’inconvénients majeurs: un impact fort sur les performances dans leur approche logicielle, un coût silicium additionnel dans leur implémentation matérielle, et une incapacité à détecter des attaques sur l'utilisation de données.Une alternative possible consiste en la détection indirecte de signature d’attaque ou d’anomalie de fonctionnement par l’utilisation de compteurs de performance, technique qui présente l’avantage de reposer sur un matériel généralement disponible dans les microprocesseurs. La littérature compte un certain nombre d’études dans ce domaine, que nous analysons pour spécifier les bases d’une solution qui s’avèrerait pertinente dans le choix des évènements pour prédire l’occurrence d’une attaque. Nous comparons ainsi un certain nombre de modèles de classification issus du machine learning, notamment leur précision et leur impact mémoire/performance. Notre analyse du contexte applicatif nous oriente vers une méthode susceptible de générer un minimum de faux négatifs, et suffisamment légère quant aux contraintes de ressources spécifiques à notre domaine de l’embarqué. Ainsi nous arrivons, par une approche expérimentale, à proposer une solution reposant sur l’utilisation de QDA et à obtenir une précision de détection d’attaque allant jusqu’à 98.78%, avec des pénalités en performance inférieures à 1%. Pour que cette solution puisse être pertinente dans un contexte industriel, il faut aussi tenir compte du nombre potentiellement rédhibitoire de faux positifs. C’est dans cette optique que nous proposons un étage de diagnostic successif à celui de détection, s’appuyant sur l’utilisation d’un CFI partiel dédié à la vérification plus formelle de faux positifs identifiés au préalable.Nous montrons également que des implémentations d'outils de détection issues de l’état de l’art (par exemple des solutions de vérification d’intégrité du flot de contrôle (CFI)) reposent sur l’utilisation d’une contremesure, faite en deux temps, qui peut se révéler faible. La première partie consistant à notifier le processeur d'une attaque à travers une interruption peut être contournée, pour finalement ignorer toute la politique de sécurité proposée par la solution. Nous proposons d’y remédier par une méthode de réinitialisation et redémarrage robuste adaptée à des systèmes multiprocesseurs.Ainsi, dans cette thèse, nous apportons une contribution à la sécurisation des systèmes embarqués vis-à-vis des attaques informatiques parmi les plus délétères, démontrée de manière expérimentale, et ce dans une approche répondant aux contraintes de ressources spécifiques au domaine.