Skip to main content

Thesis defence of Amine JAAMOUM (AMfoRS team): Strategies for securing cache memories against software side-channel attacks

Thesis defence

On December 12, 2022

This thesis has been prepared at Laboratoire de sécurité des COmposants (LSCO) of CEA-LETI/DSYS/SSSEC.

Amine JAAMOUM - AMfoRS team

Composition of the jury

Guy GOGNIAT (rapporteur) - University Professor - Université Bretagne Sud
Pascal BENOIT (rapporteur) - Associate Professor - Université Montpellier 2
Frédéric PETROT (examinator) - University Professor - Université Grenoble Alpes
Clémentine MAURICE (examinator) - Research project manager - Université de Lille
Giorgio DI NATALE (thesis Director) - Research Director - Université Grenoble Alpes
Thomas HISCOCK (advisor) - Engineer - Researcher - CEA

Strategies for securing cache memories against software side-channel attacks
Driven by the need for performances and energy efficiency, many systems turn to cache memories to reduce the memory access latencies. Unfortunately, if not properly designed, cache memories can cause security problems. Namely, this can compromise the confidentiality of applications running on the same system, as strict process isolation is no longer guaranteed. All processes running on the system may share some caches at some point. A malicious program can then manipulate the state of the caches to obtain information about other processes that share the same caches, therefore bypassing the isolation provided by the operation system. So this leads to the question of how we can redesign the memory hierarchy of processors to mitigate this class of vulnerabilities.

Through this thesis, we initially conduct a comprehensive study of the most common cache-based side-channel attacks. Although these attacks are easy to understand, their practical implementation is usually complex and requires a deep understanding of poorly documented processor functions. For these reasons, we have developed the Micro-Architectural Analysis Toolkit (libMAAT) library to facilitate the implementation of microarchitectural side-channel attacks on various CPU architectures (e.g., x86, ARMv7, ARMv8, and RISCV).

In practice, the attacker's observations using cache-based side-channel attacks can be disrupted by noise added by optimizations such as hardware prefetchers, multithreading (SMT), TLBs, busses, etc. Thus, we developed a noise-free cache simulation framework that abstracts the implementation details of inclusive memory hierarchies. We adopt this framework to analyze the side effects of cache attacks in different cache architectures. Finally, we introduce the ScrambleCache, a new cache architecture that leverages random data placement to thwart cache side-effect analysis. We show that this countermeasure protects the system from known cache side-channel attacks while having a small impact on performance and space requirements, making this solution suitable for embedded and application systems.
 
Stratégies de sécurisation des mémoires cache contre les attaques par canaux auxiliaires logiciels
Le début de l'année 2018 a été marqué par la révélation très médiatisée des attaques Spectre et Meltdown. L’aspect réellement novateur de ces attaques est d’utiliser les comportements très (trop ?) prédictif des éléments de microarchitecture des processeurs modernes pour provoquer des fuites d’informations via ce que l’on appelle un canal auxiliaire logiciel. Les canaux les plus exploités sont probablement les mémoires caches qui depuis 2005 sont clairement identifiées comme une source de fuite d’informations (les adresses accédées) exploitable. Au fil des années, un large panel d’attaques sur les caches s’est développé, avec de nombreuses techniques : Evict+Time, Prime+Probe ou encore Flush+Reload. Mais plus généralement, de nombreuses vulnérabilité similaires existent sur toute la hiérarchie mémoire : le célèbre bug rowhammer sur les DRAMs ou la vulnérabilité DRAMA et certaines vulnérabilités liées à la traduction d’adresse (MMU). Prévenir ces attaques sur la hiérarchie mémoire est donc un enjeu majeur dans la conception des futurs processeurs.
L’objectif de cette thèse est de développer de nouveaux moyens de sécurisation pour une hiérarchie mémoire. Un premier grand axe de travail sera de comprendre en détail l’ensemble des attaques actuelles sur la hiérarchie mémoire et éventuellement identifier de nouvelles vulnérabilités potentielles. Cette analyse permettra par la suite de dériver un ensemble de critères quantitatif de la sécurité d’une hiérarchie. Nous aurons dès lors les outils adéquats pour comparer les contremesures proposées dans l’état de l’art et identifier leurs limites. À partir de cela, nous pourrons construire des contremesures pensées globalement et qui ciblent toute la hiérarchie mémoire. Les innovations proposées dans cette thèse ont vocations à être intégrées dans le processeur sécurisé RISC-V développé dans le projet de l’IRT Nanoelect Nanotrust et peuvent mener à des démonstrateurs au cours du projet de thèse.

Date

On December 12, 2022
Complément date
12/12/2022 - 14:00

Localisation

Complément lieu

Grenoble INP ENSE3 - Salle 2A006
21 Av. des Martyrs, 38000 Grenoble

The defence will also be available via Zoom :
     - Meeting ID: 997 7602 3239
     - Passcode: 457662

Submitted on November 29, 2022

Updated on November 29, 2022