← Derniers articles
💻 computer science

Recovering a Full AES-128 Key Across Tenant Boundaries via DDR4 Row-Buffer Timing on Cloud FPGAs

Cet article démontre qu'un colocataire entièrement non privilégié sur un FPGA partagé dans le cloud peut récupérer une clé maîtresse AES-128 complète d'une victime en exploitant les canaux auxiliaires de temporisation du tampon de ligne (row-buffer) de la DDR4, surmontant la limitation « un emplacement par banque » grâce à une rétro-ingénierie du mappage des banques et à une agrégation statistique sur plusieurs chiffrements.

Auteurs originaux : Vineet Chadalavada, Fareena Saqib

Publié 2026-09-07
📖 8 min de lecture🧠 Analyse approfondie

Auteurs originaux : Vineet Chadalavada, Fareena Saqib

Article original sous licence CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Dans le monde numérique moderne, nous imaginons souvent que nos données privées sont enfermées dans un coffre-fort sécurisé, séparées des regards indiscrets par des couches de logiciels et des murs numériques. C'est la promesse du cloud computing : que différents utilisateurs puissent partager le même matériel puissant sans jamais voir le travail des autres. Cependant, la réalité physique de la manière dont les ordinateurs stockent l'information raconte une histoire différente. Lorsqu'un ordinateur effectue un calcul, il doit souvent rechercher des valeurs dans une liste volumineuse, un peu comme lorsqu'on consulte un dictionnaire pour une définition. Pour ce faire rapidement, l'ordinateur ouvre une section spécifique de sa mémoire, appelée tampon de ligne (row buffer), pour garder cette liste prête. Si l'ordinateur doit rechercher un autre élément dans la même section, il doit fermer la liste actuelle et en ouvrir une nouvelle, un processus qui prend une fraction de seconde de plus. Cette différence de temps, bien qu'infime, laisse une trace. Tout comme une empreinte de pas dans le sable mouillé révèle où quelqu'un a marché, le temps nécessaire pour accéder à la mémoire peut révéler quelles données étaient en cours d'utilisation. Depuis des décennies, les experts en sécurité savent que ces minuscules indices de synchronisation pourraient être utilisés pour voler des secrets d'un seul ordinateur, mais la question restait de savoir si ce tour pouvait fonctionner à travers les frontières invisibles qui séparent différents utilisateurs sur un serveur cloud partagé.

Des chercheurs de l'Université de Caroline du Nord à Charlotte ont maintenant démontré qu'il est effectivement possible de voler une clé secrète complète à un voisin sur un serveur cloud partagé, en utilisant rien d'autre que la synchronisation de l'accès à la mémoire. Ils se sont concentrés sur un type spécifique de matériel cloud appelé FPGA (Field-Programmable Gate Array), qui est une puce reconfigurable utilisée pour accélérer des tâches complexes. Dans une configuration cloud typique, plusieurs utilisateurs sont placés sur la même carte physique pour économiser de l'argent. Bien que le logiciel garantisse que l'utilisateur A ne puisse pas lire directement les fichiers de l'utilisateur B, les deux utilisateurs partagent les mêmes puces de mémoire physiques à l'extérieur du processeur principal. Les chercheurs ont montré qu'un utilisateur sans privilèges spéciaux, sans accès aux données de la victime et sans connaissance de la clé secrète, pouvait tout de même récupérer l'intégralité de la clé de chiffrement utilisée par un voisin. Ils y sont parvenus en mesurant soigneusement le temps qu'il fallait à leur propre ordinateur pour lire dans la mémoire pendant que le voisin effectuait simultanément un chiffrement.

Le défi était bien plus difficile que de simplement écouter l'activité du voisin. Dans un cache informatique standard, chaque donnée laisse sa propre empreinte unique, permettant à un attaquant de voir les seize parties d'une clé secète en une seule fois. Cependant, les puces de mémoire utilisées dans ces serveurs cloud se comportent différemment. Elles présentent une limitation structurelle où chaque section de mémoire ne peut se souvenir que du tout dernier élément qu'elle a ouvert. Lorsqu'une victime chiffre un message, elle recherche seize valeurs différentes dans une ligne. Comme la section de mémoire ne peut contenir qu'un seul élément ouvert à la fois, les quinze premières recherches sont immédiatement écrasées par la seizième. Au moment où l'attaquant tente d'écouter, la trace des quinze premières parties du secret s'est déjà volatilisée, ne laissant que la dernière partie visible. Cela a créé une barrière qui rendait les techniques de piratage standard inutiles, car l'attaquant ne pouvait voir qu'un seul octet des seize octets de la clé, ce qui n'est pas suffisant pour briser le chiffrement.

Pour surmonter cela, les chercheurs ont conçu une stratégie ingénieuse exploitant le fait que la puce de mémoire contient seize sections indépendantes, chacune avec son propre tampon de mémoire. Au lieu d'essayer d'écouter les seize parties dans une seule section, ils ont réorganisé les données secrètes de sorte que chacune des seize parties de la clé réside dans une section de mémoire différente. De cette façon, lorsque la victime recherche les seize valeurs, elle ouvre les seize sections simultanément, et aucune d'elles n'écrase les autres. L'attaquant a ensuite construit un outil personnalisé capable de vérifier rapidement chaque section pour voir laquelle est encore ouverte. En répétant ce processus avec de nombreux messages de test différents, l'attaquant pouvait rassembler suffisamment d'indices pour reconstruire la clé secrète complète. Les chercheurs ont testé cette méthode sur une carte Xilinx Alveo U250, un équipement courant dans les centres de données. Ils ont constaté qu'en exécutant leur propre programme aux côtés du programme de chiffrement d'une victime, ils pouvaient récupérer l'intégralité de la clé maîtresse dans les dix-neuf clés testées, même lorsque la victime exécutait un processus de chiffrement complet à dix tours.

Le succès de cette attaque reposait sur deux découvertes principales. Premièrement, les chercheurs ont dû comprendre exactement comment le contrôleur de mémoire décide quelle section de mémoire utiliser pour une donnée spécifique. Cette cartographie n'est pas évidente et diffère pour chaque type de matériel. L'équipe a rétro-conçu cette carte en chronométrant le temps nécessaire pour accéder à différentes adresses, cartographiant ainsi la disposition de la mémoire de l'extérieur vers l'intérieur. Deuxièmement, ils ont dû prouver que le signal qu'ils détectaient était réel et non un simple bruit aléatoire. La différence de temps entre un accès réussi à la mémoire et un accès échoué était incroyablement petite, ne durant qu'environ quatre cycles d'horloge, soit environ trente-deux nanosecondes. Malgré ce signal minuscule, les chercheurs ont montré qu'en moyennant les résultats sur de nombreuses tentatives, le motif devenait clair. Dans leur test le plus réaliste, où l'attaquant et la victime exécutaient des programmes complètement distincts sans aucune coordination, l'attaquant a récupéré avec succès la clé complète d'une victime qui chiffrait des données avec un algorithme de chiffrement standard vérifié.

Ce travail ne signifie pas que tout le cloud computing est actuellement dangereux, mais il révèle une vulnérabilité spécifique dans la gestion du matériel partagé. Les chercheurs ont noté que la plupart des instances cloud commerciales actuelles sont dédiées à un seul utilisateur, ce qui empêche ce type d'attaque. Cependant, à mesure que l'industrie se dirige vers un matériel partagé plus efficace pour réduire les coûts, le risque augmente. L'étude souligne que l'isolement logique, qui sépare les logiciels, ne suffit pas à protéger les ressources physiques. Les puces de mémoire elles-mêmes conservent un historique de ce qui a été accédé, et cet historique peut être lu par un voisin. Les chercheurs suggèrent plusieurs moyens de corriger cela, comme de garder les données secrètes dans la mémoire rapide et privée à l'intérieur de la puce plutôt que dans la mémoire externe partagée, ou de randomiser l'emplacement de stockage des données pour que les indices de synchronisation deviennent insignifiants. Ils proposent également que les fournisseurs de cloud surveillent les modèles d'accès à la mémoire pour détecter lorsqu'un utilisateur tente d'espionner un autre.

Les implications de cette recherche s'étendent au-delà d'un seul type de chiffrement. La méthode utilisée pour voler la clé repose sur la manière fondamentale dont la mémoire fonctionne, ce qui signifie qu'elle pourrait potentiellement être appliquée à d'autres algorithmes de protection de secrets utilisant des tables de recherche similaires. Les chercheurs ont souligné que leurs conclusions sont basées sur des expériences matérielles réelles, et non sur des simulations informatiques, ce qui confère aux résultats un haut degré de fiabilité. Ils ont testé l'attaque contre cinquante clés aléatoires différentes et dix-neuf scénarios de chiffrement différents, et elle a fonctionné à chaque fois. Le processus entier de récupération de la clé ne prenait que quelques secondes une fois la configuration initiale terminée, ce qui en fait une menace pratique pour tout futur environnement cloud permettant à plusieurs utilisateurs de partager la même mémoire physique.

En fin de compte, cette étude sert d'avertissement que le monde physique du matériel informatique possède ses propres règles que le logiciel ne peut pas toujours outrepasser. Tout comme deux personnes partageant une chambre peuvent entendre les pas de l'autre même si elles ne peuvent pas se voir, deux utilisateurs partageant un serveur cloud pourraient être capables d'entendre la synchronisation des accès à la mémoire de l'autre. Les chercheurs ont montré qu'avec suffisamment de patience et les bons outils, ces échos ténus peuvent être amplifiés en une image claire d'un secret. Alors que les fournisseurs de cloud cherchent à intégrer davantage d'utilisateurs sur moins de puces pour améliorer l'efficacité, la compréhension de ces canaux auxiliaires physiques sera essentielle pour concevoir des systèmes véritablement sécurisés. La solution ne consiste pas à construire des murs numériques plus hauts, mais à comprendre le comportement physique de la mémoire située en dessous et à garantir que l'historique des actions d'un utilisateur ne puisse pas être lu par un autre.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →