Table des matières:
- Qu'est-ce que Rowhammer?
- RAMpage attaque ION sur les appareils Android. Qu'est-ce que ION?
- Comment fonctionne RAMpage?
- Cela affecte-t-il les produits Windows ou Apple?
- Devrais-je m'inquiéter?
Le dernier exploit de sécurité touchant des millions de périphériques s'appelle RAMpage. Il s'agit d'une variante des précédentes attaques utilisant la vulnérabilité matérielle Rowhammer pour exécuter du code malveillant en modifiant ce qui est stocké dans la mémoire de votre appareil, ce qui pourrait entraîner une perte de données et permettre des accès non autorisés. En d’autres termes, une personne utilisant RAMpage pourrait entrer dans votre téléphone et en prendre le contrôle.
Les gros titres qui disent "Chaque appareil Android depuis 2012" sont efficaces pour faire passer le mot, mais ils laissent beaucoup de questions. Nous pouvons répondre à certaines de ces questions dans un langage que tout le monde peut comprendre.
Qu'est-ce que Rowhammer?
Vous devez commencer ici pour comprendre comment fonctionne cet exploit. Rowhammer est un terme utilisé pour décrire un problème matériel affectant la mémoire vive de l'ordinateur. Ce n'est pas techniquement un exploit et cela se produit à cause des lois de la physique.
Les puces de RAM modernes sont tellement chargées que l'électricité peut "fuir" d'une partie et en affecter une autre.
La DDR2 et la RAM plus récente sont si compactes que vous pouvez manipuler électriquement une zone de RAM et en affectera une autre par diaphonie électrique ou par quelque chose comme une fuite de transistor - lorsqu'un composant rayonne plus d'électricité parasite que ses voisins peuvent gérer. Théoriquement, cela peut affecter tout matériel informatique à base de silicium tel que les cartes vidéo ou les processeurs.
Une attaque qui exploite l’effet Rowhammer pourrait provoquer ce que l’on appelle "basculement sur bit" et transformer un seul bit en RAM d’un état à l’autre - l’activer ou le désactiver, en fonction de la manière dont il avait été défini avant l’attaque. Si le bit correct était inversé, un attaquant pourrait modifier les autorisations de son application et lui donner le contrôle intégral de votre téléphone.
RAMpage attaque ION sur les appareils Android. Qu'est-ce que ION?
Il y a beaucoup de façons d'initier une attaque de Rowhammer. Il existe même des exemples (maintenant corrigés par la plupart des entreprises ayant besoin de correctifs) utilisant des paquets réseau ou Javascript, ce qui signifie que vous pouvez vous y rendre simplement en visitant une page Web. RAMpage utilise le sous-système ION pour lancer l'attaque.
ION permet aux applications de parler au système de la quantité de RAM dont elles ont besoin pour s'exécuter, puis de l'exploiter de manière sécurisée et universelle.
ION est un système de gestion de mémoire générique universel que Google a ajouté au noyau Android dans Ice Cream Sandwich. Vous avez besoin d'un sous-système pour gérer et allouer de la mémoire car un programme peut nécessiter 10 bits (par exemple) de mémoire utilisée mais des méthodes "standard" pour allouer de la mémoire signifient 16 bits. Voilà comment la plupart des ordinateurs comptent - ils vont de 0 à 4 à 8 à 16 à 32 et ainsi de suite. Si chaque processus en cours réservait plus de mémoire que nécessaire, vous auriez beaucoup de mémoire vide qui pensait qu'elle devait être utilisée.
Les entreprises qui fabriquent des puces pour smartphone, telles que Qualcomm ou Samsung, avaient toutes leur propre outil d’allocation de mémoire. Afin de permettre à Android d’utiliser la source du noyau Linux "classique" (principale), Google a ajouté ION au noyau Android afin que tous les fabricants puissent passer à l’utiliser et que le système soit plus universel. Et ils l'ont fait.
Comment fonctionne RAMpage?
RAMpage attaque le sous-système ION et provoque l’écriture frénétique et le rafraîchissement d’une rangée de bits dans la mémoire physique, dans l’espoir qu’elle basculera un peu dans la rangée adjacente. Cela peut potentiellement permettre à une application d'accéder aux données d'une autre application ou même permettre à cette application d'agir en tant qu'administrateur système et d'avoir un contrôle total.
RAMpage rompt l'isolation la plus fondamentale entre les applications utilisateur et le système d'exploitation. Alors que les applications ne sont généralement pas autorisées à lire les données d'autres applications, un programme malveillant peut créer un exploit RAMpage pour obtenir le contrôle administratif et obtenir les secrets stockés sur l'appareil.
Vous auriez besoin d'installer une application malveillante utilisant l'attaque RAMpage. Depuis qu'elle a été rendue publique, Google Play et l'App Store d'Amazon ne permettent pas leur téléchargement. Vous devez obtenir l'application par d'autres moyens et la laisser de côté.
Les chercheurs qui nous ont présenté RAMpage ont une application pour tester la vulnérabilité ainsi qu'une application de sécurité pour empêcher l'attaque. Vous pouvez trouver les deux ici.
Cela affecte-t-il les produits Windows ou Apple?
Peut être. Les chercheurs eux-mêmes ne sont pas très clairs sur le sujet, mais affirment que RAMpage pourrait affecter iOS, macOS, les PC Windows et même les serveurs de cloud.
Nous devrons attendre d'autres conclusions pour le savoir avec certitude.
Devrais-je m'inquiéter?
Tous les appareils Android fabriqués depuis 2012 (tous les téléphones livrés avec Ice Cream Sandwich ou ultérieur) utilisent le sous-système ION et disposent de la mémoire vive DDR2, DDR3 ou DDR4 et sont potentiellement vulnérables. Cela signifie que vous devez absolument savoir à propos de RAMpage et des autres attaques de Rowhammer.
Faire basculer le bon bit a 1 chance sur 32 milliards d’être sur la plupart des téléphones Android - certains ont des probabilités encore plus élevées.
Mais utiliser une attaque de Rowhammer pour faire une chose spécifique n'est pas possible. C'est assez simple pour attaquer une rangée de bits dans un module de RAM jusqu'à ce qu'un bit d'une rangée adjacente bascule, mais il est presque impossible de savoir ce qui est écrit dans cette rangée adjacente. Des logiciels comme Android ou iOS ont des protections intégrées qui garantissent qu'il n'y a pas de place spécifique dans la mémoire où une tâche doit être écrite, et que le tout est aléatoire.
Un attaquant ne peut pas savoir quel bit va être inversé ni ce qu'il va faire. Cela signifie que c'est comme un jeu de roulette avec une roue qui dispose de 32 milliards de machines à sous. La chance au hasard existe, mais ces probabilités sont extrêmement faibles.
De plus, le 29 juin, Google nous a émis la déclaration suivante concernant RAMpage:
Nous avons travaillé en étroite collaboration avec l'équipe de Vrije Universiteit et, bien que cette vulnérabilité ne soit pas une préoccupation pratique pour la grande majorité des utilisateurs, nous apprécions tous les efforts déployés pour les protéger et faire progresser le domaine de la recherche en sécurité. Bien que nous reconnaissions la preuve de concept théorique des chercheurs, nous ne sommes au courant d'aucun exploit contre les appareils Android.
Vous devriez être au courant de RAMpage, mais il ne faut pas craindre que quoi que ce soit ne vous arrive. Continuez à faire preuve de bon sens et n'installez que des applications provenant d'un endroit de confiance (s'en tenir à Google Play est une bonne idée) et continuez normalement.
Mise à jour le 29 juin 2018: ajout de la déclaration de Google.