Thèse soutenue

Développement et évaluation de solutions de protections des DRAM et MRAM contre l'attaque Rowhammer

FR  |  
EN
Auteur / Autrice : Loïc France
Direction : Pascal Benoit
Type : Thèse de doctorat
Discipline(s) : Systèmes Automatiques et Micro-Électroniques
Date : Soutenance le 16/12/2022
Etablissement(s) : Université de Montpellier (2022-....)
Ecole(s) doctorale(s) : École doctorale Information, Structures, Systèmes (Montpellier ; 2015-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique, de robotique et de micro-électronique (Montpellier ; 1992-....)
Jury : Président / Présidente : Lionel Torres
Examinateurs / Examinatrices : Pascal Benoit, Guy Gogniat, Giorgio Di Natale, David Novo, Maria Mushtaq, Jean-Luc Danger, Florent Bruguier
Rapporteurs / Rapporteuses : Guy Gogniat, Giorgio Di Natale

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

Les mémoires des ordinateurs modernes sont sujette stockée dans les cellules voisines de celluleses à des problème de fiabilité. La mémoire principale est la cible d'une attaque appelée Rowhammer, qui utilise les perturbations électriques entre les lignes de la DRAM pour corrompre la donné activées fréquemment.De plus, la densité des mémoires augmentant avec l'amélioration des technologies de fabrication pour optimiser l'efficacité et réduire les coûts, les effets des perturbations entre les lignes sont de plus en plus importants, empirant la menace.La recherche abondante sur ce sujet a conduit au développement de nombreuses contremesures. Chaque proposition a ses propres avantages et inconvénients en termes de modularité, d'impact sur les performances, sur la surface de silicium ou la consommation énergétique, avec des implémentations purement logicielles, matérielles ou un mélange des deux. Le développement de contremesures peut être facilité par l'utilisation d'un simulateur d'architecture tel que gem5, qui simplifie l'intégration de nouveaux composants matériels avec différentes technologies de mémoires et de processeurs.Cependant, les simulateurs existants étant incapables de simuler la corruption de la mémoire produite par une attaque Rowhammer, ils ne sont pas appropriés pour le développement de protections contre Rowhammer car ils ne permettent pas de vérifier l'absence de corruption. Dans un premier temps, nous proposons une amélioration du simulateur ouvert gem5 pour en faire un outil de développement de contremesure contre Rowhammer.Nous y incorporons un simulateur de corruption de mémoire capable de simuler des bit-flips causés par les attaques Rowhammer, configurable en plusieurs points pour l'adapter aux mémoires existantes et futures, et fournissant les fonctions nécessaires à l'intégration et l'évaluation de contremesures dans l'architecture.Dans un deuxième temps, nous étudions comment le changement de granularité de comptage peut réduire les besoins en mémoire de certaines contremesures contre Rowhammer.Parmi les propositions de contremesures les plus efficaces à ce jour, certaines utilisent des compteurs d'activations des lignes de la DRAM, en utilisant par exemple les compteurs à filtre de Bloom ou l'algorithm de Misra-Gries pour réduire les besoins en mémoire. Nous démontrons que ces propositions peuvent avoir leurs besoins en mémoire réduits de 40% à 50% sans impacter la niveau de protection, en modifiant la granularité de comptage du niveau bank au niveau rank de l'architecture de la DRAM.Dans un troisième temps, nous proposons deux nouveaux mécanismes de détection des attaques Rowhammer. La première proposition utilise un algorithme de machine-learning ainsi que des compteurs d'événements introduits dans l'architecture pour détecter les attaques Rowhammer. La seconde proposition combine le comptage des activations et l'évaluation de la fréquence d'activation de toutes les lignes de la DRAM pour détecter les attaques. Dans un quatrième et dernier temps, nous explorons les vulnérabilités des mémoires émergentes non-volatiles aux variations de l'attaque Rowhammer. En analysant la consommation d'une mémoire externe de Toggle-MRAM et d'STT-MRAM lors de différentes opérations de lecture et d'écriture, nous reconstituons une partie de l'architecture interne de ces mémoires, afin de concevoir des attaques susceptibles de corrompre les données stockées, puis exécutons ces attaques pour évaluer la vulérabilité de ces mémoires.