Description
Est-ce que votre dernier programme fonctionnerait si je sautais une ligne de code ? Deux ? Si je corrompais une variable aléatoirement ? Alors il ne résiste pas aux _attaques par injection de faute_, qui ciblent le matériel et produisent ce type d'effets. Pour être honnête, rien n'y résiste vraiment. Les efforts pour s'en protéger ont malgré tout bien progressé, principalement (et c'est peut-être contre-intuitif) en durcissant le code, qui se déploie bien plus facilement que le matériel. Naturellement, modéliser l'effet d'une interférence matérielle au niveau d'abstraction d'un programme est fondamentalement une approximation, et des travaux récents ont montré que même les protections contre des modèles au niveau assembleur (les plus courants) peuvent être contournées en abusant des effets micro-architecturaux perdus dans l'approximation.
Dans cette présentation non-experte, je parlerai des attaques en faute du point de vue langages de programmation, pour montrer comment les fautes et contremesures affectent les programmes. Je déroulerai comment la construction d'un modèle sémantique pour un saut d'instruction vicieux nous amène à une contremesure mixte logicielle/matérielle que l'on peut formellement prouver correcte. Je discuterai brièvement des défis d'implémenter des transformations de sécurité dans la compilateur LLVM, qui comprend à peu près aussi bien la sécurité que le C (i.e., pas du tout). Cette petite histoire contiendra à la fois des règles d'inférence et des relocalisations à l'édition des liens.
Infos pratiques
Prochains exposés
-
Chamois: Formally verified compilation for optimisation and security
Orateur : David MONNIAUX - CNRS - Verimag
Embedded programs (including those on smart cards) are often developed in C and then compiled for the embedded processor. Sometimes they are modified by hand to incorporate countermeasures (fault attacks, etc.), but care must be taken to ensure that this does not disrupt normal program execution and that the countermeasure is actually adequate for blocking the attacks.In the process, it is[…]-
SemSecuElec
-
Fault injection
-
Formal methods
-
-
Security of Smart Dust: Robust Key Derivation for Single-Chip Systems
Orateur : Sara Faour - Inria
The Smart Dust vision seeks to enable large networks of millimeter-scale wireless sensor nodes that tightly integrate sensing, computation, communication, and power management into a single-chip device. Establishing a robust hardware root of trust for such devices remains challenging, particularly in single, low-cost chip manufacturing processes that lack embedded writable Non-Volatile Memory (NVM[…] -
Securing processor's microarchitecture against SCA in a post-quantum cryptography setting
Orateur : Vincent MIGLIORE - LAAS-CNRS
Hardware microarchitecture is a well-known source of side-channel leakages, providing a notable security reduction of standard cryptographic algorithms (e.g. AES) if not properly addressed by software or hardware. In this talk, we present new design approaches to harden processor's microarchitecture against power-based side-channel attacks, relying on configurable and cascadable building blocks[…]-
SemSecuElec
-
Side-channel
-
Micro-architectural vulnerabilities
-
-
Onysis: A secure European SoC FPGA
Orateur : Adrien GRASSEIN - Nanoxplore
Developed in collaboration with the DGA, the Onysis project introduces a European SoC FPGA designed to embed advanced hardware security features. This presentation will provide an overview of the Onysis architecture, focusing specifically on its native mechanisms to protect critical systems. We will detail the implementation of its integrated security subsystem, covering the secure boot sequence[…]-
SemSecuElec
-