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

Nouveautés d’iOS 26, macOS Tahoe, Liquid Glass… Tous nos articles pour tout savoir sur la WWDC 2025

14/06/2025 à 15:00

• 9


Aperçu de Spotlight dans macOS Tahoe : le lanceur idéal pour débuter ?

14/06/2025 à 11:00

• 29


Sortie de veille : une WWDC 2025 réussie ? Notre débrief d’iOS 26, Liquid Glass…

14/06/2025 à 08:00

• 11


SAV : Apple lance un programme de réparation pour des Mac mini M2 qui ne s'allument plus

14/06/2025 à 07:38

• 41


Avec Tahoe, les applications macOS pourront s’afficher sur le Vision Pro

13/06/2025 à 21:57

• 17


Les Youtubeurs de Linus Tech Tips voulaient se moquer des Mac pendant un mois, mais décident finalement de rester chez Apple

13/06/2025 à 18:56

• 97


watchOS 26 : découverte de la nouvelle interface de l'app Exercice

13/06/2025 à 18:27

• 4


Découvrez le tout nouveau UPDF 2.0 – l’éditeur PDF ultime pour Mac et iOS !

13/06/2025 à 15:18

• 0


macOS 26 peut faire le ménage dans les icônes de la barre des menus

13/06/2025 à 14:52

• 11


Avec EnergyKit, Apple veut charger votre watture au moment le plus opportun

13/06/2025 à 13:45

• 12


3DMark, une référence pour comparer les performances des GPU, débarque sur Mac

13/06/2025 à 13:02

• 31


Promo : des MacBook Air M3 16 Go à partir de 850 €

13/06/2025 à 12:50

• 13


Des nouvelles de Cyberpunk 2077 sur Mac, qui tourne visiblement bien sur un MacBook Pro M4 Max

13/06/2025 à 11:56

• 36


Les vélos arrivent dans Plans sur le web et les apps tierces pour watchOS

13/06/2025 à 11:30

• 22


TSMC est toujours le plus gros fondeur, mais SMIC rattrape Samsung pour la gravure

13/06/2025 à 11:10

• 11


iOS et macOS 26 améliorent le remplissage automatique des codes de sécurité

13/06/2025 à 09:36

• 13