Verified Secure Compilation against Timing Side-Channels
Compilation vérifiée et sécurisée contre les canaux cachés temporels
Résumé
Our society is increasingly dependent on computer systems. Ensuring their security is essential to avoid the dramatic consequences of attacks against these systems. In this thesis, we focus on a class of attacks called timing sidechannel attacks. We study existing protections against these attacks, such as the constant-time and the constant-resource policies, and focus on their interaction with compilation. Compilation is the process of transforming a program written by a human in a source language, into machine code executable by a computer. Our goal is to ensure that compilation does not introduce any vulnerability in the compiled code, with respect to the security policies we focus on; this is called secure compilation. Our work also relies on formal methods to give formal guarantees on the results we present. One of our contribution relies on the formally verified CompCert compiler. All the results presented in this thesis are mechanically verified using the Coq proof assistant.
Notre société est de plus en plus dépendante des systèmes informatiques. Assurer leur sécurité est essentiel pour éviter les conséquences dramatiques des attaques contre ces systèmes. Dans cette thèse, nous nous concentrons sur une classe d’attaques appelée attaques par canaux cachés temporels. Nous étudions les protections existantes contre ces attaques, telles que les politiques constant-time et constant-resource, et nous nous concentrons sur leur interaction avec la compilation. La compilation est le processus de transformation d’un programme écrit par un humain dans un langage source, en code machine exécutable par un ordinateur. Notre objectif est de s’assurer que la compilation n’introduit aucune vulnérabilité dans le code compilé, par rapport aux politiques de sécurité auxquelles nous nous intéressons ; c’est ce qu’on appelle la compilation sécurisée. Notre travail s’appuie également sur des méthodes formelles pour donner des garanties formelles sur les résultats que nous présentons. Une de nos contributions s’appuie sur le compilateur formellement vérifié CompCert. Tous les résultats présentés dans cette thèse sont également vérifiés mécaniquement en utilisant l’assistant de preuve Coq.
Origine | Version validée par le jury (STAR) |
---|