Verrouillage des lignes de cache pour la lutte contre les attaques par canaux auxiliaires exploitant les mémoires caches
Résumé
Les attaques par canaux auxiliaires exploitant les mémoires caches sont courantes et constituent une menace pour la sécurité des processeurs. Diverses contremesures matérielles et logicielles ont été proposées ces dernières années pour faire face à ces attaques. Cependant, les contremesures logicielles augmentent significativement la taille du code binaire, pénalisant ainsi le temps d'exécution. Les contremesures matérielles nécessitent quant à elles une extension du design existant, entraînant des surcoûts en terme de surface de circuit. Ainsi, dans cette présentation, nous détaillons une contremesure de partitionnement dynamique à grain fin reposant sur une collaboration matériel-logiciel. L'approche proposée étend le jeu d'instructions (ISA, Instruction Set Architecture) RISC-V avec des instructions de verrouillage et de déverrouillage pour permettre à un programme de verrouiller explicitement des lignes de cache dans la mémoire cache de données et de garantir des accès à ces données en temps constant.
Notre solution consiste en un partitionnement fin de la mémoire cache, piloté par le logiciel, permettant de verrouiller des données au niveau ligne de cache. Une extension de l'ISA permet d'utiliser le mécanisme en mettant en œuvre deux nouvelles instructions : lock et unlock. Tout accès aux données stockées dans une ligne de cache verrouillée entraîne uncache hit. Une ligne de cache verrouillée ne peut pas être évincée. Le seul moyen de la déverrouiller est que le processus propriétaire exécute l'instruction unlock. Elle peut ensuite être évincée par n'importe quel processus.
Nous avons étendu le processeur RISC-V CV32E40P avec un cache de données de premier niveau (L1-D) intégrant notre protection. Les résultats d'implémentation sur cible FPGA montrent un surcoût inférieur à 3% sur une mémoire cache de 8 Ko, 4-way set associative.
Une évaluation de sécurité a été réalisée en considérant l'algorithme AES-128 et l'attaque PRIME+PROBE ciblant la SBOX. Les résultats obtenus démontrent que le verrouillage de la SBOX en mémoire cache est efficace contre ce type d'attaque. Il est important de noter que l'impact de la protection sur la taille du binaire est ici inférieur à 1%.
Origine | Fichiers produits par l'(les) auteur(s) |
---|