Approaches, Strategies, and Implementations of Memory Safety Defenses in Critical and Constrained Embedded Systems
Approches, Stratégies, et Implémentations de Protections Mémoire dans les Systèmes Embarqués Critiques et Contraints
Résumé
This thesis deals with the memory safety issue in life-critical medical devices. Over the last few years, several vulnerabilities such as memory exploits have been identified in various Internet of Medical Things (IoMT) devices. In the worst case, such vulnerabilities allow an attacker to remotely force an application to execute malicious actions. While many countermeasures against software exploits have beenproposed so far, only a few of them seem to be suitable for medical devices. Indeed,these devices are constrained by their size, real-time performances, and safety requirements making the integration of security challenging. To address this issue,the thesis proposes two approaches. Both address the memory safety issue fromthe software design-time to its run-time on the hardware. A first approach assumesthat memory defenses can be implemented both in hardware and software. Thisapproach results in TrustFlow, a framework composed of a compiler able to generatesecure code for an extended processor that can prevent, detect, log, andself-heal critical applications from memory attacks. The second approach considersthat hardware is immutable. Following this constraint, defenses only rely uponsoftware. This second approach results in BackGuard a modified compiler that efficiently hardens embedded applications while ensuring control-flow integrity.
Cette thèse traite de la problématique des corruptions de mémoire dans les dispositifs médicaux vitaux. Au cours des dernières années, plusieurs vulnérabilités telles que les exploits de mémoire ont été identifiées dans divers dispositifs connectés de l’Internet des objets médicaux (IoMT). Dans le pire des cas, ces vulnérabilités permettent à un attaquant de forcer à distance une application à exécuter des actions malveillantes. Si de nombreuses contre-mesures contre les exploits logiciels ont été proposées jusqu’à présent, seules quelques-unes d’entre elles semblent convenir aux dispositifs médicaux. En effet, ces dispositifs sont contraints de par leur taille, leurs performances en temps réel et les exigences de sûreté de fonctionnement, ce qui rend l’intégration de la sécurité difficile. Pour répondre à ce problème, la thèse propose deux approches. Toutes deux abordent la question de la sécurité de la mémoire depuis la conception du logiciel jusqu’à son exécution sur le matériel. Une première approche suppose que les défenses peuvent être mises en oeuvre à la fois dans le matériel et dans le logiciel. Cette approche aboutit à TrustFlow, une structure composée d’un compilateur capable de générer un code sécurisé pour un processeur modifié. Ce processeur peut prévenir, détecter, enregistrer et auto-guérir les applications critiques victimes d’une attaque mémoire. La seconde approche considère que le matériel est immuable. Selon cette contrainte, les défenses ne reposent que sur le logiciel. Cette seconde approche aboutit à BackGuard, un compilateur modifié qui renforce efficacement les applications embarquées tout en assurant l’intégrité du flot d’exécution.
Origine | Version validée par le jury (STAR) |
---|