Graves failles de sécurité dans les mémoires d'ordinateurs
Lorsque nous naviguons sur Internet sur un ordinateur portable ou que nous écrivons des messages sur un smartphone, nous aimons toutes et tous penser que nous sommes raisonnablement à l'abri des attaques de pirates informatiques, pour autant que nous ayons installé les dernières mises à jour logicielles et un logiciel antivirus. Mais que faire si le problème ne se situe pas au niveau du logiciel, mais du matériel? Une équipe de recherche dirigée par Kaveh Razavi de l'ETH Zurich, en collaboration avec des collègues de la Vrije Universiteit Amsterdam et de Qualcomm Technologies, a récemment découvert des vulnérabilités fondamentales affectant le composant mémoire appelé DRAM, au cœur de tous les systèmes informatiques modernes.
Les résultats de leurs recherches ont été acceptés pour publication à une conférence phare sur la sécurité informatique, et le Centre national suisse de cybersécurité (NCSC) a attribué un numéro CVE (Common Vulnerabilities and Exposures). C'est la première fois qu'une identification CVE est émise par le NCSC en Suisse (voir encadré ci-dessous). Sur une échelle de 0 à 10, la gravité de la vulnérabilité a été évaluée à 9.
La faiblesse des DRAM
«Un problème sous-jacent bien connu des DRAM s'appelle Rowhammer et est connu depuis plusieurs années», explique Kaveh Razavi. Le Rowhammer est une attaque qui exploite une faiblesse fondamentale des mémoires DRAM modernes. DRAM est l'abréviation de Dynamic Random Access Memory (mémoire vive dynamique), où dynamique signifie que toutes les données qui y sont stockées sont volatiles et doivent être rafraîchies assez souvent - en fait, plus de dix fois par seconde. En effet, les puces DRAM n'utilisent qu'une seule paire condensateur-transistor pour stocker et accéder à un bit d'information.
Les condensateurs perdent de la charge au fil du temps, et lorsqu'ils en perdent trop, l'ordinateur ne sait plus si la valeur du bit stocké était «1» (ce qui peut correspondre à une charge élevée) ou «0» (charge faible). De plus, chaque fois qu'une ligne de mémoire est activée pour être lue ou écrite (les bits sont disposés en damier, en lignes et en colonnes), les courants qui circulent à l'intérieur de la puce peuvent provoquer une fuite de charge plus rapide des condensateurs des lignes voisines.
Problème non résolu
«C'est une conséquence inévitable de l'augmentation constante de la densité des composants électroniques sur les puces DRAM», explique Patrick Jattke, doctorant dans le groupe de Kaveh Razavi au Département des technologies de l'information et du génie électrique. Cela signifie qu'en activant de manière répétée une ligne de mémoire (l'agresseur), une attaquante ou un attaquant peut induire des erreurs de bits dans une ligne voisine, également appelée ligne victime. Cette erreur binaire peut alors, en principe, être exploitée pour accéder à des zones restreintes du système informatique, sans avoir recours à une quelconque vulnérabilité logicielle.
«Après la découverte de Rowhammer il y a une dizaine d'années, les fabricants de puces ont mis en place des mesures d'atténuation à l'intérieur des modules DRAM afin de résoudre le problème», explique Kaveh Razavi. «Malheureusement, le problème n'a toujours pas été résolu.» La mesure d'atténuation TRR (Target Row Refresh) à laquelle Kaveh Razavi fait référence consiste en différents circuits intégrés à la mémoire qui peuvent détecter des fréquences d'activation inhabituellement élevées de certaines rangées et donc deviner où une attaque est lancée. En guise de contre-mesure, un circuit de contrôle rafraîchit alors prématurément la ligne présumée victime et prévient ainsi les éventuelles erreurs de bits.
Attaque sophistiquée
Kaveh Razavi et ses collègues ont maintenant découvert que ce «système immunitaire» basé sur le matériel ne détecte que des attaques plutôt simples, telles que les attaques à double face où deux rangées de mémoire adjacentes à une rangée victime sont visées, mais qu'il peut encore être trompé par une attaque plus sophistiquée. Ils et elles ont conçu un logiciel, nommé Blacksmith, qui essaie systématiquement des modèles d'attaques complexes dans lesquelles un nombre différent de rangées sont activées avec des fréquences, des phases et des amplitudes différentes à différents moments du cycle d'attaque. Ensuite, il vérifie si un modèle particulier a entraîné des erreurs de bits.
Le résultat était clair et inquiétant: «Nous avons constaté que pour l'ensemble des 40 mémoires DRAM différentes que nous avons testées, Blacksmith pouvait toujours trouver un modèle qui induisait des erreurs de bits Rowhammer», explique Kaveh Razavii. Par conséquent, les mémoires DRAM actuelles sont potentiellement exposées à des attaques pour lesquelles il n'existe aucune ligne de défense, et ce pour les années à venir. Tant que les fabricants de puces ne trouveront pas le moyen de mettre à jour les mesures d'atténuation sur les futures générations de puces DRAM, les ordinateurs resteront vulnérables aux attaques Rowhammer.
La dimension éthique
Kaveh Razavi est bien conscient de la dimension éthique de ses recherches: «Nous voulons évidemment rendre le monde plus sûr, et nous pensons qu'il est important que les victimes potentielles soient conscientes de ce type de menace afin qu'elles puissent faire des choix éclairés.» Heureusement, ajoute-t-il, il est peu probable que ces victimes soient des utilisatrices et utilisateurs ordinaires, car il existe des moyens beaucoup plus simples de pirater la plupart des ordinateurs (ce qui nous rappelle que l'utilisation des derniers logiciels antivirus et la mise à jour des appareils restent importantes). Néanmoins, il est possible que des États-nations ou des organisations puissantes utilisent de telles attaques pour atteindre des cibles très visibles. Pour donner aux producteurs le temps de réagir aux nouvelles vulnérabilités, Kaveh Razavi et ses collègues les ont déjà informés il y a plusieurs mois. Ils et elles ont également coopéré étroitement avec le NCSC, qui est responsable de la publication coordonnée des vulnérabilités découvertes en Suisse.
À l'avenir, l'équipe de recherche de l'ETH Zurich veut explorer des moyens encore plus sophistiqués d'induire des erreurs de bits. Cela pourrait aider les fabricants de puces à tester leurs appareils et à faire face à toutes les attaques de ce genre possibles. «Bien sûr, même si nous publions un code qui montre comment déclencher des erreurs de bit, nous ne divulguons actuellement aucun code qui abuse de ces erreurs», souligne Kaveh Razavi.
Qu'est-ce qu'un numéro CVE ?
Dans le secteur de la cybernétique, l'organisation à but non lucratif MITRE a créé une base de données de connaissances accessible au niveau international. Celle-ci fournit un aperçu complet des menaces possibles et des mises à jour de sécurité associées. Chaque vulnérabilité signalée, appelée Common Vulnerabilities and Exposure (CVE), se voit attribuer un numéro d'identification CVE unique.
En Suisse, le Centre national de cybersécurité NCSC a été reconnu par MITRE en septembre 2021 comme organisme d'autorisation et donc d'attribution des numéros CVE. En outre, le NCSC est responsable de la mise en œuvre coordonnée de la Stratégie nationale pour la protection de la Suisse contre les cyberrisques (NCS) 2018-2022. Dans le cadre de cette stratégie, l'ETH Zurich et l'EPF Lausanne gèrent le Swiss Support Center for Cybersecurity (SSCC) commun.
Pour plus d'informations, voir le rapport sur le site du NSCS.