Leral.net - S'informer en temps réel

Quand Google prend le contrôle de PC en s'attaquant à leurs barrettes de Ram

Rédigé par leral.net le Lundi 16 Mars 2015 à 07:00 | | 0 commentaire(s)|

Quand Google prend le contrôle de PC en s'attaquant à leurs barrettes de Ram

En exploitant un bug de certaines barrettes de RAM récentes, des chercheurs en sécurité de Google sont parvenus à prendre le contrôle de plusieurs ordinateurs portables sous Linux.

 
c'est un hack pas comme les autres que l’équipe du Projet Zero de Google a mis au point. Car il consiste non pas à profiter d’une faille logicielle, mais à exploiter un bug physique, un problème électromagnétique qui a été découvert sur certaines barrettes de Ram. En utilisant leur procédé, que nous allons décrire, ils sont parvenus à prendre le contrôle de nombreux ordinateurs sous Linux. Et tirent la sonnette d’alarme.
Leur recherche pose en effet un véritable défi de sécurité informatique. Car ces barrettes de DRAM, on en trouve partout : sur nos ordinateurs, mais également sur des serveurs des data centers. Or, la faille qu’ils exploitent, baptisée Rowhammer, est difficile, voire impossible à combler : étant donné qu’elle est matérielle, non logicielle, un « patch » ne suffit pas à s’en débarrasser. Pour cela, il faut repenser la façon dont les barrettes mémoire sont conçues. Et c’est un sacré boulot.
Pour comprendre comment les chercheurs du Projet Zero ont réalisé leur incroyable hack, il faut d’abord avoir quelques notions sur le fonctionnement de la mémoire dynamique. En substance : la DRAM est constituée d’une grille de millions de condensateurs, qui ont chacun une « adresse » à l’intersection d’une ligne et d’une colonne (voir le dessin ci-dessous). Lorsque les condensateurs sont chargés, ils représentent un 1. Lorsqu’ils sont déchargés, ils représentent un 0. Pour charger et exécuter vos programmes, votre ordinateur lit ou modifie en permanence le statut de ces condensateurs en y accédant par le biais de leur adresse.
© Univ. Carnegie Mellon / Intel
Le schéma d'une partie d'une DRAM. Chaque point représente un bit. L'attaque consiste à changer la valeur d'un bit en "martelant" les bits adjacents.
Or certaines DRAM récentes ont un défaut : leurs condensateurs sont tellement proches les uns des autres qu’ils peuvent avoir des « fuites » électromagnétiques et transmettre leur charge à des condensateurs voisins, soit les faire passer d’un 0 à un 1 et inversement. Ce phénomène avait déjà été exploité par des chercheurs d’Intel et de Carnegie Mellon (PDF). Dans une étude de 2014, ils montraient qu’il était possible de modifier la valeur d’un bit en forçant l’accès de façon répétée et rapide à des condensateurs adjacents. Technique appelée par la suite « Rowhammer » ou « martèlement de rangée » en français. 
Explication en vidéo du bug Rowhammer  (en anglais) : 

 

 

La moitié des PC testés par Google sont vulnérables

Les chercheurs du Projet Zero ont franchi une nouvelle étape et se sont demandés si un hacker pourrait profiter de Rowhammer pour pirater un PC. Mission accomplie : en profitant de Rowhammer, ils ont réussi à gagner les privilèges administrateur sur la moitié des ordinateurs portables qu’ils ont testés. Ils détaillent leur méthode dans un post de blog particulièrement technique  (aspirine conseillée). Pour faire court, ils ont d’abord parfait le Rowhammer, en « martelant » de requêtes les deux rangées de condensateurs entourant leurs condensateurs cibles. Cela leur a permis d’avoir de meilleurs taux de changements de valeur de bit.
Ils sont également parvenus dans certains cas à s’attaquer à des zones de mémoire protégée, en modifiant par martèlement des entrées de pages de table, une sorte d’annuaire des adresses mémoire, ce qui leur a permis de gagner par la suite accès à l’ensemble de la mémoire physique de l’ordinateur et d’en prendre le contrôle.
Google n’a pas souhaité préciser les marques de mémoires et d’ordinateurs sur lesquels l’exploitation de cette faille étonnante a fonctionné, estimant que son échantillon, 29 machines, n’était pas assez représentatif. Toutes les machines étaient en tout cas pourvues de DDR3 et tournaient sous Linux, mais Windows est tout autant concerné. Les chercheurs précisent toutefois que les machines les plus récentes, qui disposaient sans doute de système de correction d’erreur mémoire, ont résisté. Les fabricants de mémoire travaillent par ailleurs déjà a corriger ce bug embarrassant dans leurs nouvelles générations de produits. Bug qui, on l’espère, ne sera pas exploité de sitôt par les cybercriminels !