Rowhammer : un nouveau risque de sécurité pour les serveurs

Stéphane Moussie |

Des chercheurs sont parvenus à étendre le champ d’action de Rowhammer, une attaque initialement dévoilée en 2015 qui exploite une vulnérabilité matérielle de certains types de mémoire pour pirater un système.

L’équipe de VUSec a démontré qu’il était possible d’utiliser cette attaque sur de la mémoire ECC (Error-Correcting Code) capable de corriger automatiquement les erreurs de mémoire, et que l’on croyait protégée contre Rowhammer grâce à cette fonction, justement.

L’attaque de base consiste, en résumé, à solliciter une zone précise de la mémoire jusqu’à ce qu’une fuite d’électricité permette de déplacer un bit dans la zone ciblée, ce qui ouvre la voie à un piratage via une escalade de privilèges.

La fonction ECC est donc censée protéger contre l’altération de la mémoire, mais les chercheurs ont remarqué que si la modification d’un bit était bien corrigée et que celle de deux bits en même temps faisait planter le logiciel, celle de trois bits n’était pas détectée.

La « compatibilité » de Rowhammer sur la mémoire ECC inquiète les spécialistes, car celle-ci est utilisée dans de nombreux équipements sensibles, comme les routeurs et les serveurs (l’iMac Pro et le Mac Pro en ont aussi). De plus l’attaque pourrait être exécutée à distance, et elle ne serait pas facile à contrecarrer, puisqu’elle exploite une vulnérabilité matérielle.

Néanmoins, les chercheurs n’ont pas démontré que leur découverte pouvait fonctionner avec de la DDR4 (leur démonstration a été faite avec de la DDR3 plus ancienne) ni qu’elle pouvait pénétrer les hyperviseurs. De plus, Microsoft a déclaré que Rowhammer, y compris dans sa nouvelle version, ne représentait pas une menace contre ses services.

avatar oomu | 

ben vi, 3 erreurs ça passe

mais faut me démontrer qu'on peut me construire ainsi une véritable attaque forçant un des logiciels en mémoire à ouvrir ce qu'il ne faut pas.

avatar byte_order | 

Cela le mérite de souligner que le niveau de résistance à la panne des ram ECC est assez réduite.
Ce qui explique pourquoi dans le monde scientifique on ne compte plus dessus pour garantir qu'aucune donnée exploitée ou de résultat n'a été corrompue suite à une erreur des quelques bits, qu'on calcule plutôt un code d'intégrité et qu'on gère la journalisation de ces données histoire de pouvoir reprendre aux dernières encore intègres.

Je pense que c'est aussi ce qui est fait dans le milieu financier, d'ailleurs, pour les mêmes raisons d'exactitude... mais pas pour éviter les mêmes conséquences.

avatar oomu | 

ben heu vi.

Les limites des mémoires ECC classiques pour serveur d'entreprises ne sont pas nouvelles. Les bits de parités supplémentaires permettent de détecter et corriger une erreur de 1b, de seulement détecter une erreur de 2bits et au delà, yolo.

avatar occam | 

Stéphane, vous écrivez que « les chercheurs n’ont pas démontré que leur découverte pouvait fonctionner avec de la DDR4 ».

Au pied de la lettre, c’est exact.
Ils ne l’ont pas démontré.
Mais les chercheurs écrivent verbatim :
« What about DDR4?
While in our experiments we focused on DDR3, we believe that the side-channel introduced by the error correction is observable even on DDR4. »

Ayant un peu suivi les travaux de Herbert Bos, le directeur de l’équipe, quand il était en core à Leiden, je ne pense pas une seconde qu’il s’agit là d’une forfanterie.
Pour une fois, au sens comminatoire voulu par H.H. Asquith, qui rendit la phrase célèbre : wait, and see.

avatar jojostyle94 | 

J’ai arrêté ma lecture à : « jusqu’à ce qu’une fuite d’électricité permette de déplacer un bit dans la zone ciblée »

avatar Ielvin | 

@jojostyle94

C’est dommage en s’y prenant plusieurs fois t’aurais peut être appris quelque chose :)

CONNEXION UTILISATEUR