rambleed

RAMBleed, s’attaquer directement à la mémoire

Une équipe de chercheurs en sécurité a révélé des détails d’une nouvelle attaque (RAMBleed) par canal auxiliaire sur la mémoire (DRAM) qui permet aux programmes malveillants installés sur un système moderne de lire des données sensibles d’autres opérations s’exécutant sur le même hardware.

Nommé RAMBleed et identifié comme CVE-2019-0174, cette nouvelle attaque est basée sur une catégorie d’attaque par canal auxiliaire qui se nomme Rowhammer. Plusieurs variantes [GLitch, RAMpage, Throwhammer, Nethammer, Drammer] ont vu le jour.

Connu depuis 2012, le bug Rowhammer est un problème de hardware découvert dans la nouvelle génération de puces DRAM.

Apparemment en répétant les demandes d’accès rapidement (hammering), une rangée de mémoire peut pousser un bit à basculer dans les rangées adjacentes, changeant les valeurs des bit de 0 à 1 ou inversement.

Les chercheurs ont démontré des exploits réussis en accomplissant des élévations de privilèges sur les ordinateurs vulnérables en basculant (écrivant) des bits dans la mémoire des victimes.

Découverte par une équipe de chercheurs de l’Université de Michigan, de l’Université de Technologie de Graz et de l’Université d’Adelaide, RAMBleed utilise le même mécanisme de basculement de bits; mais au lieu d’écrire des données dans les rangées adjacentes, cette attaque permet de lire les informations qui appartiennent aux autres programmes et utilisateurs.

“Le principal est de montrer que Rowhammer est une menace non-seulement pour l’intégrité mais aussi la confidentialité.”

dram hacking rowhammer rambleed

Comme montré dans l’image, si un hacker veut lire les données sensibles contenus dans les cellules de mémoires “secrètes”, il doit:

  • Trouver un bit basculable au même offset de la page mémoire que le bit secret.
  • Manipuler la disposition de la mémoire en utilisant des techniques pour placer soigneusement les données secrètes de la victime dans les rangées situées au-dessus et au-dessous de la rangée de mémoire de l’attaquant, comme illustrée dans l’image, de sorte que le basculement de bit dans les rangées de l’attaquant dépend des valeurs des données secrètes de la victime.
  • Utilisant l’hammering sur les rangées A0 et A2 et induire des basculements de bit sur la rangée A1, dont la valeur initiale est fixée à 1, influençant sa valeur en utilisant les données de la victime dans les cellules “secrètes”.

“Si le bit a été basculé, le hacker déduit que la valeur du bit secret est 0. Sinon, le hacker déduit que la valeur est 1,” ont déclaré les chercheurs. “Répéter la procédure avec des bits basculables sur différents offsets permet aux hackers de récupérer tout les bits secrets de la victime.”

Pour démontrer la technique de lecture de canal auxiliaire, les chercheurs ont présenté une attaque contre OpenSSH 7.9 sur une machine Linux et ont extrait une clé RSA-2048.

Selon les chercheurs, même les protections de mémoire ECC (Error Correcting Code) —qui détecte et corrige les basculements de bit non voulus et mitige plusieurs attaques basées sur Rowhammer—n’empêchent pas les attaques RAMBleed.

Comment se protéger de RAMBleed?

Bien que DDR3 et DDR4 sont vulnérables aux attaques RAMBleed, les chercheurs ont conseillé aux utilisateurs de mitiger le risque en passant à la mémoire DDR4 et en activant le rafraîchissement de rangées ciblées (TRR), ce qui rend l’exploit un peu plus difficile à réaliser.

Si cet article vous a plu, jetez un œil à notre précédent article.

Leave a Reply