É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. - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2020

Study and design of protection methods against memory corruption attacks for embedded systems in the context of the Internet of Things.

É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.

Yohan Boyer
  • Fonction : Auteur

Résumé

70% of computer attacks are memory corruption attacks. With the exponential growth of connected devices through the Internet of Things (IoT), the question of vulnerability of these embedded electronic systems is raised: what is the real threat? What solutions are available in the state of the art, and are they sufficient? How to propose relevant and functional protection solutions in an ecosystem, such as the IoT, composed of constrained environments? Initially, we study memory corruption attacks by implementing an experimental platform (prototype based on a Zynq-7000 SoC) to understand how they work, deploy existing countermeasures, and analyze their limitations.We mainly show that existing CFI solutions have some significant drawbacks: a substantial impact on performance in their software approach, an additional silicon cost in their hardware implementation, and an inability to detect attacks on data flow usage. A possible alternative is the indirect detection of attack signatures or operating anomalies through performance counters, a technique relying on the advantage of microprocessors' hardware. The literature includes many studies in this field, which we analyze to specify the basis of a relevant solution in the choice of events to predict an attack. Thus, we compare classification models derived from machine learning, particularly their accuracy and memory/performance impact. Our analysis leads us to a method likely to generate a minimum of false negatives and sufficiently light on the resource constraints specific to our embedded domain. Thus, through an experimental approach, we can propose a solution based on the use of QDA to obtain an attack detection accuracy of up to 98.78%, with performance penalties less than 1%. For this solution to be relevant in an industrial context, it is also necessary to consider the potentially crippling number of false positives. Then, we propose a diagnostic stage following the detection stage, based on the use of a partial CFI dedicated to verifying previously identified false positives.We also show that state of the art hardware implementations of detection tools (e.g. Control Flow Integrity Check (CFI) solutions) rely on using a two-step countermeasure, which can turn out to be weak. The first part, which consists of notifying an attack to the processor through an interruption, can be bypassed before ignoring the solution’s entire security policy. To solve this issue, we suggest to implement a robust reset and reboot method adapted to multiprocessor systems.Thus, in this thesis, we contribute to the security of embedded systems against some of the most dangerous computer attacks, demonstrated experimentally in an approach that meets the constraints of resources specific to the field.
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.
Fichier principal
Vignette du fichier
BOYER_2020_archivage.pdf (8 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03378800 , version 1 (14-10-2021)

Identifiants

  • HAL Id : tel-03378800 , version 1

Citer

Yohan Boyer. É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.. Informatique et langage [cs.CL]. Université Montpellier, 2020. Français. ⟨NNT : 2020MONTS077⟩. ⟨tel-03378800⟩
261 Consultations
342 Téléchargements

Partager

Gmail Facebook X LinkedIn More