Une faille de sécurité non corrigible dans les Mac Apple Silicon brise le cryptage

Une faille de sécurité non corrigible dans les Mac Apple Silicon brise le cryptage

Des chercheurs universitaires ont découvert une faille de sécurité irréparable dans les Mac Apple Silicon, qui permettrait à un attaquant de briser le cryptage et d’accéder aux clés cryptographiques.

La faille est présente dans les puces M1, M2 et M3, et comme la défaillance fait partie de l’architecture des puces, Apple n’a aucun moyen de la corriger sur les appareils actuels…

La faille est dans un processus connu sous le nom de DMP

Avant d’expliquer la faille, nous devons comprendre un processus utilisé dans les puces les plus avancées d’aujourd’hui, connu sous le nom de Data Memory-dependent Prefetchers (DMP). Voici comment ArsTechnica explique le concept :

La menace réside dans le prérécupérateur de données dépendant de la mémoire des puces, une optimisation matérielle qui prédit les adresses mémoire des données auxquelles le code en cours d’exécution est susceptible d’accéder dans un avenir proche. En chargeant le contenu dans le cache du processeur avant qu’il ne soit réellement nécessaire, le DMP, comme la fonctionnalité est abrégée, réduit la latence entre la mémoire principale et le processeur, un bottleneck (goulot d’étranglement) courant dans l’informatique moderne. Les DMP sont un phénomène relativement nouveau que l’on retrouve uniquement dans les puces de la série M et dans la microarchitecture Intel Raptor Lake de 13e génération, bien que les anciennes formes de prélecture soient courantes depuis des années.

Le problème vient d’un bug dans la DMP.

La faille de sécurité incorrigible

Sept chercheurs de six universités différentes ont travaillé ensemble pour identifier la vulnérabilité et créer une application capable de l’exploiter avec succès : GoFetch.

Les détails sont assez techniques, mais la version courte est que les données stockées dans la puce sont parfois confondues avec une adresse mémoire et mises en cache. Si une application malveillante force cette erreur à se produire à plusieurs reprises, elle peut au fil du temps déchiffrer la clé.

Voici comment les chercheurs le décrivent plus en détail :

Les préfetchers examinent généralement les adresses des données consultées (en ignorant les valeurs des données consultées) et tentent de deviner les futures adresses qui pourraient être utiles. Le DMP est différent en ce sens car en plus des adresses, il utilise également les valeurs des données afin de faire des prédictions (prédire les adresses auxquelles aller et pré-extraire). En particulier, si une valeur de données « ressemble » à un pointeur, elle sera traitée comme une « adresse » (alors qu’en réalité ce n’est pas le cas !) et les données de cette « adresse » seront amenées dans le cache. L’arrivée de cette adresse dans le cache est visible, fuite via les canaux côté cache.

Notre attaque exploite ce fait. Nous ne pouvons pas divulguer directement les clés de chiffrement, mais ce que nous pouvons faire, c’est manipuler les données intermédiaires à l’intérieur de l’algorithme de chiffrement pour ressembler à un pointeur via une attaque d’entrée choisie. Le DMP voit alors que la valeur des données « ressemble » à une adresse et introduit les données de cette « adresse » dans le cache, ce qui entraîne la fuite de « l’adresse ». Nous ne nous soucions pas de la prélecture de la valeur des données, mais le fait que les données intermédiaires ressemblent à une adresse est visible via un canal de cache et suffit à révéler la clé secrète au fil du temps.

Ce n’est pas la première fois qu’une vulnérabilité DMP est découverte dans Apple Silicon. En 2022, une autre équipe de recherche en a trouvé un qu’elle a nommé Augury.

Une solution de contournement est possible, mais cela affecterait les performances

Les chercheurs affirment que, comme le problème ne peut pas être corrigé, le mieux qu’Apple puisse faire est de mettre en œuvre des solutions de contournement, mais celles-ci nuiraient gravement aux performances.

L’une des mesures d’atténuation les plus efficaces, connue sous le nom d’aveuglement du texte chiffré, en est un bon exemple. L’aveuglement fonctionne en ajoutant/supprimant des masques aux valeurs sensibles avant/après avoir été stockées/chargées depuis la mémoire. Cela rend effectivement aléatoire l’état interne de l’algorithme cryptographique, empêchant l’attaquant de le contrôler et neutralisant ainsi les attaques GoFetch. Malheureusement, selon les chercheurs, cette défense est à la fois spécifique à l’algorithme et souvent coûteuse, pouvant même doubler les ressources informatiques nécessaires dans certains cas, comme pour les échanges de clés Diffie-Hellman.

Une autre défense consiste à exécuter des processus cryptographiques sur les cœurs d’efficacité mentionnés précédemment, également appelés cœurs Icestorm, qui ne disposent pas de DMP. Une approche consiste à exécuter tout le code cryptographique sur ces cœurs. Cette défense n’est pas non plus idéale. Non seulement il est possible que des modifications inopinées ajoutent des fonctionnalités DMP aux cœurs d’efficacité, mais l’exécution de processus cryptographiques ici augmentera également probablement le temps nécessaire pour terminer les opérations dans une marge non négligeable.

Mais les risques réels sont faibles

Pour exploiter cette vulnérabilité, un attaquant devrait tromper un utilisateur en lui faisant installer une application malveillante, et les applications Mac non signées sont bloquées par défaut.

De plus, le temps nécessaire pour mener une attaque est assez important, allant de 54 minutes à 10 heures selon les tests effectués par les chercheurs, de sorte que l’application devrait fonctionner pendant un temps considérable.

Apple a jusqu’à présent choisi de ne pas mettre en œuvre de protection contre l’exploit Augury DMP, probablement parce que la baisse de performances ne serait pas justifiée par le très faible réel d’une attaque réelle. Les chercheurs ont partagé leurs découvertes avec Apple en décembre dernier, et jusqu’à présent, aucune solution de contournement n’a été mise en œuvre, sans doute pour la même raison. La société n’a pas commenté publiquement.

La solution à long terme consistera pour Apple à remédier à la vulnérabilité de la mise en œuvre du DMP lors de la conception des futures puces.

Photo d’Ali Mahmoudi sur Unsplash

Envie de vous détendre un peu ? Voici un reportage très intéressant sur l’intelligence artificielle :

YouTube video