Il y a quelques semaines était enregistrée a première attaque Rowhammer à distance basée sur un réseau, appelée Throwhammer. Celle-ci implique l’exploitation d’une vulnérabilité connue dans la DRAM par le biais de cartes réseau utilisant des chemins d’accès directs à la mémoire à distance (RDMA).
Cependant, une équipe distincte de chercheurs en sécurité a fait la démonstration d’une deuxième technique de Rowhammer appelée Nethammer.
La recherche a été menée par les mêmes chercheurs qui ont découvert les vulnérabilités des CPU Meltdown et Spectre, et sont tout à fait indépendants des chercheurs d’Amsterdam qui ont présenté les premières séries d’attaques Rowhammer, y compris Throwhammer publié il y a quelques semaines.
Rowhammer?
Rowhammer est un problème critique avec les puces de mémoire vive dynamique (DRAM) de dernière génération dans lesquelles l’accès répété à une rangée de mémoire peut causer un » bit flipping » dans une rangée adjacente, permettant aux attaquants de changer le contenu de la mémoire.
Ce problème a depuis été exploité de plusieurs façons pour escalader les privilèges d’un pirate jusqu’au niveau du noyau et pouvoir exécuter du code à distance sur les systèmes vulnérables. Cependant, l’attaquant avait besoin d’accéder à la machine de la victime.
Hors, la nouvelle technique d’attaque Rowhammer peut être exploitée à distance.
Cette technique d’attaque, appelée Nethammer, fonctionne en écrivant et réécrivant rapidement la mémoire utilisée pour le traitement des paquets, ce qui serait possible seulement avec une connexion réseau assez rapide entre l’attaquant et la victime, et permettrait d’exécuter du code arbitraire sur le système ciblé.
Cela entraîne un nombre élevé d’accès au même ensemble d’emplacements mémoire, ce qui finit par induire des erreurs de perturbation dans la DRAM qui vont provoquer une corruption de la mémoire en inversant involontairement la valeur binaire de la DRAM.
Cette corruption des données peut alors être manipulée et exploitée par l’attaquant pour prendre le contrôle du système de la victime.
« Pour monter une attaque Rowhammer, les accès mémoire doivent être directement servis par la mémoire principale. Ainsi, un attaquant doit s’assurer que les données ne sont pas stockées dans le cache « , indique la recherche [PDF].
Comme la mise en cache rend une attaque difficile, les chercheurs ont mis au point des moyens qui leur ont permis de contourner cette mémoire cache et d’attaquer directement dans la DRAM pour provoquer les conflits de d’inversion de bit dans les cellules de mémoire nécessaires à l’attaque Rowhammer.
Les chercheurs ont testé Nethammer pour les trois techniques de cache-bypass :
- Un pilote du noyau qui vidange (et recharge) une adresse chaque fois qu’un paquet est reçu.
- Processeurs Intel Xeon avec Intel CAT pour une éviction rapide du cache.
- Mémoire non mise en cache sur un appareil mobile basé sur ARM.
Et les trois scénarios sont possibles !
Dans leur installation expérimentale, les chercheurs ont réussi à induire un bit flip toutes les 350 ms en envoyant un flux de paquets UDP jusqu’à 500 Mbit/s vers le système cible.
Puisque la technique d’attaque Nethammer ne nécessite pas de code d’attaque contrairement à une simple attaque Rowhammer, la plupart des contre-mesures n’empêchent pas cette attaque (En effet, aucun code n’est identifié comme dangereux sur le système).
De plus, comme Rowhammer exploite une faiblesse matériel, aucun correctif logiciel ne peut résoudre complètement le problème. Les chercheurs croient que la menace de Rowhammer pourrait causer de sévères dommages.
Pour plus de détails et d’explications, vous pouvez consulter le document de recherche publié par les chercheurs intitulé « Nethammer : Inducing Rowhammer Faults through Network Requests« .