Une nouvelle recherche a fourni un autre moyen de voler des données sensibles en exploitant ce qui est le premier canal latéral “sur puce, cross-core” dans les processeurs Intel Coffee Lake et Skylake.

Publié par un groupe d’universitaires de l’Université de l’Illinois à Urbana-Champaign, le résultats devraient être présentés au Symposium USENIX sur la sécurité en août.

Alors qu’il a déjà été démontré que les attaques de fuite d’informations ciblant la microarchitecture du processeur brisent l’isolement entre les applications utilisateur et le système d’exploitation, permettant à un programme malveillant d’accéder à la mémoire utilisée par d’autres programmes (par exemple, Meltdown et Spectre), la nouvelle attaque tire parti d’une contention sur l’interconnexion en anneau.

SoC Interconnexion en anneau est un bus sur puce agencé dans une topologie en anneau qui permet une communication intra-processus entre différents composants (alias agents) tels que les cœurs, le cache de dernier niveau (LLC), l’unité graphique et l’agent système qui sont logés à l’intérieur du CPU. Chaque agent d’anneau communique avec l’anneau via ce qu’on appelle un arrêt de sonnerie.

Pour y parvenir, les chercheurs ont procédé à une ingénierie inverse des protocoles de l’interconnexion en anneau pour découvrir les conditions pour que deux ou plusieurs processus provoquent une contention en anneau, les utilisant à leur tour pour créer un canal secret d’une capacité de 4,18 Mbps, ce qui, selon les chercheurs, est le le plus grand à ce jour pour les canaux cross-core ne reposant pas sur la mémoire partagée, contrairement à Flush + Flush ou Flush + Reload.

“Il est important de noter que, contrairement aux attaques précédentes, nos attaques ne reposent pas sur le partage de mémoire, d’ensembles de cache, de ressources de base privées ou de tout autre élément spécifique. uncore structures, “Riccardo Paccagnella, l’un des auteurs de l’étude, mentionné. “En conséquence, ils sont difficiles à atténuer en utilisant les techniques existantes d’isolement de domaine.”

Observant qu’un arrêt d’anneau donne toujours la priorité au trafic déjà sur l’anneau par rapport au nouveau trafic entrant de ses agents, les chercheurs ont déclaré qu’un conflit se produisait lorsque le trafic existant sur l’anneau retardait l’injection du nouveau trafic d’anneau.

Armé de ces informations, un adversaire peut mesurer le délai d’accès mémoire associé à un processus malveillant dû à une saturation de la capacité de bande passante causée par les accès mémoire d’un processus victime. Cependant, cela nécessite que le processus d’espionnage ait systématiquement un échec dans ses caches privés (L1-L2) et effectue des charges à partir d’une tranche LLC cible.

Ce faisant, la latence répétée dans les charges de mémoire de LLC en raison de la contention d’anneau peut permettre à un attaquant d’utiliser les mesures comme canal secondaire pour fuir les bits clés des implémentations EdDSA et RSA vulnérables, ainsi que pour reconstruire les mots de passe par extraction de la synchronisation précise des frappes au clavier tapé par un utilisateur victime.

Plus précisément, “un attaquant connaissant nos efforts de rétro-ingénierie peut se mettre en place de telle sorte que ses charges soient assurées de faire face aux charges du premier processus, […] abuse des atténuations d’attaques de cache de planification préventive pour faire manquer les charges de la victime dans le cache, surveille les conflits de sonnerie pendant que la victime calcule et utilise un classificateur d’apprentissage automatique standard pour supprimer le bruit des traces et des bits de fuite. “

L’étude marque également la première fois qu’un canal microarchitectural basé sur la contention a été exploité pour des attaques de synchronisation de frappe afin de déduire des données sensibles tapées par la victime.

En réponse aux divulgations, Intel a classé les attaques comme un “canal secondaire traditionnel”, qui fait référence à une classe de attaques d’oracle qui tirent généralement parti des différences de synchronisation d’exécution pour déduire des secrets.

Le fabricant de puces des lignes directrices pour contrer les attaques de synchronisation contre les implémentations cryptographiques recommandent d’adhérer aux principes de programmation à temps constant en veillant à ce que –

  • L’exécution est indépendante des valeurs secrètes
  • L’ordre dans lequel les instructions sont exécutées (aka les modèles d’accès au code) sont indépendants des valeurs secrètes
  • L’ordre dans lequel les opérandes de la mémoire sont chargés et stockés (les modèles d’accès aux données) sont indépendants des valeurs secrètes

Des conseils supplémentaires sur les pratiques de développement sûres pour atténuer les attaques par canal secondaire traditionnelles peuvent être trouvés ici. Le code source pour reproduire la configuration expérimentale détaillée dans l’article est accessible ici.



Leave a Reply