Une vulnérabilité non corrigeable dans la puce Apple divulgue des clés de cryptage secrètes

[ad_1]

Une vulnérabilité récemment découverte dans les puces de la série M d'Apple permet aux attaquants d'extraire les clés secrètes des Mac lorsqu'ils effectuent des opérations cryptographiques largement utilisées, ont révélé des chercheurs universitaires dans un article publié jeudi.

La faille – un canal secondaire permettant des extractions de clés de bout en bout lorsque les puces Apple exécutent des implémentations de protocoles cryptographiques largement utilisés – ne peut pas être corrigée directement car elle découle de la conception microarchitecturale du silicium lui-même. Au lieu de cela, il ne peut être atténué qu'en intégrant des défenses dans des logiciels cryptographiques tiers qui pourraient dégrader considérablement les performances de la série M lors de l'exécution d'opérations cryptographiques, en particulier sur les générations M1 et M2 précédentes. La vulnérabilité peut être exploitée lorsque l'opération cryptographique ciblée et l'application malveillante dotée des privilèges système utilisateur normaux s'exécutent sur le même cluster de processeurs.

Méfiez-vous des optimisations matérielles

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 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.

Les experts en sécurité savent depuis longtemps que les prélecture classiques ouvrent un canal secondaire que les processus malveillants peuvent sonder pour obtenir des clés secrètes à partir d'opérations cryptographiques. Cette vulnérabilité est le résultat du fait que les préchargeurs effectuent des prédictions basées sur des modèles d'accès précédents, ce qui peut créer des changements d'état que les attaquants peuvent exploiter pour divulguer des informations. En réponse, les ingénieurs en cryptographie ont conçu une programmation en temps constant, une approche qui garantit que toutes les opérations prennent le même temps, quels que soient leurs opérandes. Pour ce faire, il maintient le code exempt d'accès ou de structures mémoire dépendant d'un secret.

L'avancée de la nouvelle recherche est qu'elle expose un comportement jusqu'alors négligé des DMP dans le silicium Apple : ils confondent parfois le contenu de la mémoire, tel que les éléments clés, avec la valeur du pointeur utilisée pour charger d'autres données. En conséquence, le DMP lit souvent les données et tente de les traiter comme une adresse pour effectuer un accès à la mémoire. Ce « déréférencement » des « pointeurs » – c’est-à-dire la lecture de données et leur fuite via un canal secondaire – est une violation flagrante du paradigme du temps constant.

L’équipe de chercheurs est composée de :

  • Boru Chen, Université de l'Illinois Urbana-Champaign
  • Yingchen Wang, Université du Texas à Austin
  • Pradyumna Shome, Institut de technologie de Géorgie
  • Christopher W. Fletcher, Université de Californie, Berkeley
  • David Kohlbrenner, Université de Washington
  • Riccardo Paccagnella, Université Carnegie Mellon
  • Daniel Genkin, Institut de technologie de Géorgie

Dans un e-mail, ils ont expliqué :

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 fait 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.

Dans le journal de jeudi, l'équipe l'a expliqué légèrement différemment :

Notre idée clé est que même si le DMP déréférence uniquement les pointeurs, un attaquant peut créer des entrées de programme de telle sorte que lorsque ces entrées se mélangent avec des secrets cryptographiques, l'état intermédiaire résultant peut être conçu pour ressembler à un pointeur si et seulement si le secret satisfait un attaquant. prédicat choisi. Par exemple, imaginez qu'un programme ait un secret s, prenne x comme entrée, calcule puis stocke y = s ⊕ x dans sa mémoire de programme. L'attaquant peut créer différents x et déduire des informations partielles (voire complètes) sur s en observant si le DMP est capable de déréférencer y. Nous utilisons d’abord cette observation pour briser les garanties d’une primitive standard d’échange à temps constant recommandée pour une utilisation dans les implémentations cryptographiques. Nous montrons ensuite comment briser des implémentations cryptographiques complètes conçues pour être sécurisées contre les attaques à entrée choisie.

[ad_2]

Loading

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*