Des chercheurs ont mis au point une nouvelle méthode pour compromettre les appareils mobiles Android et les ordinateurs sans exploiter les vulnérabilités logicielles : ils ont réussi à inverser de manière fiable les bits des cellules de la mémoire physique, exploitant une faiblesse de conception de la RAM des processeurs. La méthode pourrait inspirer de nouveaux modes d’attaques. La technique pourrait également s’appliquer à d'autres types de mémoire RAM et affecter des dispositifs et des ordinateurs tournant avec des puces x86.

Ce type d’attaque est devenu possible, depuis que, ces dix dernières années, les concepteurs de puces ont cherché à augmenter la capacité de la DRAM tout en réduisant de plus en plus la taille des processeurs, exposant dans certaines conditions les cellules situées en bordure extérieure à des fuites de charges électriques. Ainsi, un accès rapide et répété à des emplacements de mémoire physique, un processus appelé « hammering » ou « martèlement », peut provoquer l’inversement des valeurs de bits de 0 à 1 ou de 1 à 0 dans les espaces adjacents.

Les attaques par martèlement de mémoire connues depuis 2015

Même si ces interférences électriques sont connues depuis un certain temps et qu’elles ont été étudiées par les concepteurs pour améliorer la fiabilité de leurs puces - une mémoire corrompue peut provoquer des plantages du système - les chercheurs ont montré que ces fuites pouvaient aussi avoir des conséquences graves pour la sécurité si elles étaient provoquées et contrôlées de manière volontaire. En mars 2015, des chercheurs travaillant pour le Project Zero de Google ont présenté deux exploits d'escalade de privilèges basés sur cet effet de martèlement de mémoire sur une puce 64 bits x86.

L’un des exploits leur a permis de faire sortir du code de la sandbox de Google Chrome et de l’exécuter directement dans le système d'exploitation. Les autres exploits leur ont permis de gagner des privilèges au niveau du noyau sur une machine Linux. Depuis, d'autres chercheurs ont étudié le problème et montré que cette fuite de mémoire pouvait être exploitée depuis des sites Web via JavaScript ou pouvait affecter des serveurs virtualisés fonctionnant dans des environnements cloud. Cependant, ils ne savaient pas encore si la technique pourrait fonctionner sur l’architecture ARM, que l’on retrouve dans la majorité des puces équipant les smartphones et autres appareils mobiles.

Une app malveillante créée sur mesure pour Android

Mais aujourd’hui, une équipe composée de chercheurs du VUSec Group de la Vrije Universiteit d’Amsterdam (Pays-Bas), de l'Université de Technologie de Graz (Autriche), et de l'Université de Californie à Santa Barbara a non seulement démontré que ces attaques de type « Rowhammer » étaient possibles sur l’architecture ARM, mais qu’elles étaient encore plus faciles à réaliser que sur l’architecture x86. Les chercheurs ont surnommé leur nouvelle attaque Drammer, pour qualifier une attaque Rowhammer déterministe. Les chercheurs doivent présenter leurs résultats ce mercredi à la 23e ACM Conference on Computer and Communications Security qui se tient du 24 au 28 octobre à Vienne. L'attaque se fonde sur des techniques de « martèlement » antérieures conçues et démontrées dans le passé.

Les chercheurs de VUSec ont créé une application malveillante Android qui ne nécessite ni permissions, ni privilèges root quand elle est exécutée en utilisant un inversement indétectable des bits de mémoire. Les chercheurs ont testé 27 appareils Android de différents fabricants, dont 21 intégraient une puce ARM basée sur l’architecture ARMv7 (32 bits) et 6 basés sur l’architecture ARMv8 (64 bits). Ils ont réussi à retourner les bits de 17 dispositifs ARMv7 et ceux d’un dispositif ARMv8, ce qui indique qu'ils sont vulnérables à l'attaque. En outre, la technique Drammer peut être combinée avec d'autres vulnérabilités Android comme Stagefright ou BAndroid pour mettre au point des attaques à distance ne nécessitant pas le téléchargement manuel de l'application malveillante par les utilisateurs.

Un problème signalé à Google mais pas encore résolu

Google est conscient de ce type d'attaque. « Quand les chercheurs ont signalé ce problème à notre programme de prime aux bogues Vulnerability Rewards Program, nous avons travaillé avec eux pour mieux comprendre ce qui se passait et protéger nos utilisateurs », a déclaré un représentant de Google dans un communiqué envoyé par courriel à nos confères d’IDG NS. « Nous avons mis au point une procédure d’atténuation qui sera incluse dans notre bulletin de sécurité de novembre ». « L'atténuation de Google complique l'attaque, mais elle ne résout pas le problème sous-jacent », ont indiqué de leur côté les chercheurs de VUSec.