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

S’il vous plaît, ne créez pas de bombe nucléaire avec Claude

15/08/2025 à 20:30

• 15


La publicité et les liens commerciaux pourraient arriver dans ChatGPT… avec prudence

15/08/2025 à 15:30

• 20


Un SSD NVMe de 2 To proche de la taille d'une carte micro SIM

15/08/2025 à 11:55

• 26


Mieux qu'Amazon : le MacBook M4 à 920 € pour le 15 août

15/08/2025 à 10:27

• 10


Intel et le Thunderbolt 5 ajoutent l'USB 3.2 Gen 2x2 (20 Gb/s) aux Mac dans certains cas

15/08/2025 à 10:00

• 14


Une panne nationale d'envergure touche la SNCF [🆕 retour à la normale]

15/08/2025 à 08:35

• 157


Le développement de l’IA finalement bloqué par le mur de la consommation électrique ?

14/08/2025 à 22:15

• 145


Le MacBook Pro M5 pourrait avoir une option cellulaire 5G

14/08/2025 à 21:00

• 40


L'IA est là et il faut apprendre à parler chatbot

14/08/2025 à 20:30

• 13


Un Mac Pro M4 Ultra repéré dans du code : futur lancement ou projet avorté ?

14/08/2025 à 17:50

• 23


iPad A18, Studio Display 2, nouvelle Apple TV : tous les appareils révélés par une grosse fuite d’Apple

14/08/2025 à 16:30

• 41


Apple préparerait bien un successeur au Studio Display, avec une puce A19 Pro 🆕

14/08/2025 à 15:05

• 58


Bonne affaire : le MacBook Air M4 repasse sous les 1 000 € sur Amazon  🆕

14/08/2025 à 14:13

• 143


Firefox règle son problème de performances, qui n’était pas lié à la fonction d’IA que l’on croyait

14/08/2025 à 13:30

• 13


Que pensez-vous de GPT-5 ?

14/08/2025 à 11:27

• 57


Starlink ajoute une option pour mettre en pause un abonnement pour 5 € par mois (gratuite auparavant) 🆕

14/08/2025 à 10:41

• 64