Ouvrir le menu principal

MacGeneration

Recherche

GoFetch, une nouvelle faille matérielle qui touche les puces Apple Silicon

Pierre Dandumont

jeudi 21 mars 2024 à 21:58 • 94

Matériel

Une nouvelle attaque vient d'être présentée par des chercheurs, GoFetch. Elle a deux particularités : elle vise les puces Apple et ne peut pas être corrigée facilement, car elle se base sur des fonctions matérielles des processeurs. Les solutions pour s'en protéger impliquent donc de grosses pertes de performances, car la faille ne peut pas être comblée directement.

Le logo de GoFetch.

GoFetch, donc, se base sur une des fonctions des puces M d'Apple, le DMP (Data Memory-dependent Prefetcher). Nous allons essayer de faire simple : les processeurs, depuis de nombreuses années, tentent de deviner ce qu'un programme va exécuter. L'idée (efficace) consiste à analyser les flux pour déterminer les prochaines instructions et les prochaines données à charger. Le cas du prefetch classique est assez simple : les algorithmes essayent de charger les données en mémoire cache (très rapide) avant que le programme en ait besoin et pendant que le CPU effectue une autre tâche. S'ils ont raison, les accès sont plus rapides, tout comme le programme.

Dans un CPU classique, les algorithmes travaillent sur des adresses, qui déterminent la position des données dans la mémoire, sans avoir aucune idée du contenu des données. Avec le DMP, présent aussi dans les derniers CPU Intel, les algorithmes analysent les données pour trouver ce qu'ils pensent être des pointeurs. De façon très simplifiée, un pointeur est l'équivalent d'une adresse stockée dans les données, et donc si l'algorithme en trouve un, il peut précharger les données qu'il pointe pour accélérer les chargements.

Un problème de détection

Le principe de la faille, c'est que l'algorithme ne peut pas déterminer s'il s'agit réellement d'un pointeur, mais seulement si les données ressemblent à un pointeur. Le principe de l'attaque consiste donc à créer des données qui ressemblent à des pointeurs pour tenter de récupérer des données qui ne devraient pas se trouver dans la mémoire cache. L'ensemble est compliqué — vous pouvez aller lire le papier dédié si le cœur vous en dit — mais les chercheurs indiquent que leur application peut récupérer une clé RSA-2048 en moins d'une heure avec un programme qui n'a pas besoin de droits particuliers. Il y a quelques limites pratiques tout de même : l'application attaquée (qui peut par exemple être OpenSSL)doit être exécutée sur le même cluster dans une puce M, c'est-à-dire un groupe de cœurs au niveau de la puce. L'attaque est efficace contre différents types de chiffrements, mais le temps nécessaire peut être plus élevé.

L'attaque en action.

Pour les chercheurs, les solutions sont peu nombreuses. La première consiste à n'effectuer les calculs cryptographiques que sur les cœurs basse consommation (cœurs E). Ils ne bénéficient pas du DMP mais sont malheureusement plus lents. La seconde consiste à adapter les programmes pour éviter les fuites de données, mais ils indiquent que la perte de performances peut être élevée, en fonction des algorithmes. Enfin, il est possible de désactiver le DMP sur les puces M3 pour un programme précis, mais les chercheurs n'indiquent pas les éventuelles pertes de performances.

Cette faille montre surtout que même avec un matériel parfaitement maîtrisé, il reste possible d'avoir des problèmes de sécurité. Et dans le cas précis, il est visiblement impossible pour Apple de corriger la faille dans les puces M1 et M2. Enfin, notons qu'Apple a été prévenu de la faille en décembre 2023.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Alors que l’AI Act se met en place, la France gagne un institut d’observation de l’intelligence artificielle

18:00

• 15


Sam Altman confirme travailler sur un appareil dédié à l’IA avec Jony Ive

16:45

• 14


Bon plan : le MacBook Air M2 dès 899 €, le prix le plus bas à ce jour

15:32

• 13


Apple met Swift Build, utilisé par Xcode, en open source

11:45

• 0


Projet de lunettes abandonné : Apple manque-t-elle de vision ?

11:00

• 26


Unreal Engine : Epic améliore la prise en charge de l’éditeur de son moteur de jeux sur macOS

10:30

• 6


Dernière chance : Soldes High Tech en cours avec livraison offerte à partir de 79€  ! Profitez-en maintenant !

Partenaire


L’Apple Vision Pro a soufflé sa première bougie

08:12

• 51


Apple coince sur les projets d’avenir, mais lance des confettis dans le calendrier : la semaine Gurman

02/02/2025 à 19:30

• 54


L’Ademe veut s'attaquer aux forfaits avec trop de DATA

02/02/2025 à 17:32

• 202


Toutes les prises USB ne se valent pas : le guide pour bien comprendre et choisir

02/02/2025 à 10:00

• 17


Magazine des 25 ans : plus que quelques jours pour précommander votre exemplaire

01/02/2025 à 22:30

• 24


Test du Corsair EX400U, un SSD USB4 parfait pour les Mac… et les iPhone

01/02/2025 à 11:00

• 15


Promo : MacBook Air M3 avec 16/512 Go à seulement 1 209 € (-320 €)

01/02/2025 à 08:59

• 34


Sortie de veille : on décortique les résultats financiers records d’Apple

01/02/2025 à 08:00

• 7


Apple abandonnerait l’idée de lunettes connectées, et laisserait Meta poursuivre seule l’idée

01/02/2025 à 02:11

• 72