Par Geluchat, mar. 17 mars 2015, dans la catégorie L'actualité commentée
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.
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
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.