Thèse Année : 2024

Fine-grained dynamic partitioning against cache-based side channel attacks

Partitionnement dynamique à grain fin contre des attaques par canaux auxiliaires en cache

Résumé

The growth of embedded systems takes advantage of architectural advances from modern processors to increase performance while maintaining a low power consumption. Among these advances is the introduction of cache memory into embedded systems. These memories speed up the memory accesses by temporarily storing data close to the execution core. Furthermore, data from different applications share the same hardware resources, so the execution of one application affects the others. These interactions between applications give rise to cache-based side-channel attacks. This threat takes advantage of memory accesses to extract secret data executed by cryptographic applications. These attacks are well known on modern processors and have led to countermeasures designed for modern processors. These solutions are either not feasible on embedded systems due to their requirements or result in high additional costs. In this context, we present a countermeasure based on a fine-grained partitioning, so that an application can dynamically lock its data into the cache. Once a data is locked, no application can infer information about the memory accesses made to it. It provides strong security guarantees for critical program sections while introducing a low performance overhead (<4 %) through a new hardware/software contract.
L’utilisation des systèmes embarqués ne cesse de croître et profite des avancées architecturales des processeurs modernes dans le but d’augmenter les performances tout en gardant une consommation d’énergie faible : nous pouvons citer, par exemple, les mémoires caches dans les systèmes embarqués. Elles permettent d’accélérer considérablement les accès mémoires en stockant temporairement les données au plus proche du cœur d’exécution. Par ailleurs, les données des différentes applications partagent les mêmes ressources matérielles. Cette particularité a pour effet qu’une application peut avoir un impact sur l’exécution des autres applications du système. Cette interaction est à la base des attaques par canaux auxiliaires exploitant les mémoires caches. Ce type de vulnérabilité est principalement exploité pour attaquer les applications cryptographiques dans le but d’extraire les données secrètes qu’elles manipulent. Ces menaces, bien connues des processeurs modernes, ont conduit à des contremesures complexes, souvent inapplicables aux systèmes embarqués ou engendrant un surcoût trop élevé. C’est la raison pour laquelle nous proposons, dans ces travaux, une contremesure basée sur un partitionnement à grain fin, qui permet à une application de verrouiller dynamiquement ses données en mémoire cache. Une fois les données verrouillées, aucune application ne peut inférer les accès réalisés sur celles-ci. Cette solution apporte des garanties de sécurité sur des sections de programmes critiques tout en engendrant un faible surcoût temporel (<4 %) grâce à une solution hybride matérielle et logicielle.
Fichier principal
Vignette du fichier
Manuscrit.pdf (2.29 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
licence

Dates et versions

tel-04920225 , version 1 (30-01-2025)

Licence

Identifiants

  • HAL Id : tel-04920225 , version 1

Citer

Nicolas Gaudin. Partitionnement dynamique à grain fin contre des attaques par canaux auxiliaires en cache. Architectures Matérielles [cs.AR]. Université Bretagne Sud, 2024. Français. ⟨NNT : ⟩. ⟨tel-04920225⟩
0 Consultations
0 Téléchargements

Partager

More