La vulnérabilité RowHammer

Par Geluchat, mar. 17 mars 2015, dans la catégorie L'actualité commentée

A chaud, News

Voici déjà une semaine que cette vulnérabilité fait parler d'elle, elle permet une élévation de privilège d'une manière très étonnante.

Le concept

Elle repose sur une erreur de conception matérielle de certaines barrettes de DRAM (Dynamic Random Access Memory).

Il y a dans ces dernières des millions de condensateurs très proches les uns des autres.

Ainsi, lorsque l'on modifie un bit, il y a des chances pour que les condensateurs adjacents soient modifiés, on appelle ça du 'Bit flipping'

Plus précisément, l'exploit fonctionne sur le principe suivant:

On cherche à modifier des bits de la mémoire qui ne nous appartiennent pas.
Pour cela, on utilise une technique dite RowHammer ("Martellement de colonne") qui consiste à lire un bit sur une colonne puis à vider sa cellule et on répète en boucle.

code1a:
     mov (X), %eax  ; Read from address X
     mov (Y), %ebx  ; Read from address Y
     clflush (X)  ; Flush cache for address X
     clflush (Y)  ; Flush cache for address Y
     jmp code1a

Poussé à l’extrême, cela mène à une élévation de privilèges

Mon avis, les conséquences futurs

J'aime beaucoup les failles liées à un vrai défaut technique et matériel de la part du concepteur.

Pour moi, ces vulnérabilités d'un type novateur n'annoncent que les prémisses d'une refonte du concept même des architectures modernes et des matériaux utilisés.