Intel: Découverte d’une nouvelle attaque par canal auxiliaire

0

Les processeurs Intel sont vulnérables à une nouvelle attaque par canal auxiliaire, qui, selon les chercheurs, peut permettre aux attaquants de dérober des informations sensibles telles que des clés de chiffrement ou des mots de passe.

Contrairement aux attaques par canal auxiliaire précédentes, cette attaque ne repose pas sur le partage de mémoire, de cache et d’autres anciennes tactiques. Au lieu de cela, il tire parti d’un composant appelé CPU ring interconnect contention. Ce composant facilite la communication entre les différentes unités du CPU (y compris les cœurs, le cache de dernier niveau, l’agent système et l’unité graphique) sur les processeurs Intel modernes, tels que les processeurs Skylake et Coffee Lake.

Riccardo Paccagnella, l’un des chercheurs de l’Université de l’Illinois à Urbana-Champaign qui a découvert l’attaque, a déclaré que l’attaque par canal auxiliaire pourrait donner aux hackers les moyens d’inférer des « bits clés » depuis les implémentations cryptographiques vulnérables et le moment précis des touches frappées par une victime.

« L’attaquant doit être en mesure d’exécuter déjà du code non privilégié sur la machine attaquée », a déclaré Paccagnella. « Cela peut être possible soit en poussant l’utilisateur à télécharger du code (par exemple une application malveillante/malware) et en l’exécutant, en volant les informations d’identification d’un utilisateur non privilégié de la même machine, ou en exploitant des vulnérabilités d’exécution de code à distance. »

Dans leur document de recherche [PDF]: « Lord of the Ring(s): Side Channel Attacks on the CPU On-Chip Ring Interconnect Are Practical », les chercheurs ont déclaré que l’attaque est unique parce qu’elle fonctionne en dépit de certaines défenses précédentes contre les attaques par canal auxiliaire.

« Dans cet article, nous présentons la première attaque par canal auxiliaire inter-cœurs sur puce qui fonctionne malgré les contre-mesures [précédentes] », a déclaré l’équipe de chercheurs de l’Université de l’Illinois à Urbana-Champaign dans son article, qui sera présenté à l’USENIX Security 2021.

Qu’est ce que le CPU Ring Interconnect d’Intel?

L’architecture d’Intel comprend plusieurs domaines d’horloge uniques – y compris un domaine d’horloge de base par processeur, un domaine d’horloge de processeur graphique et un domaine d’horloge ring interconnect(interconnexion de l’anneau). Ce dernier est un « bus » qui fonctionne pour transmettre des informations entre les cœurs des CPU, les caches et les processeurs graphiques d’Intel. Selon les chercheurs, il y a deux défis qui font qu’il est « particulièrement difficile » de tirer parti de ce canal lors d’une attaque. Tout d’abord, on sait peu de choses sur le fonctionnement et l’architecture de l’interconnexion de l’anneau. Deuxièmement, les données qui peuvent être glanées par la contention de l’anneau sont « bruyantes par nature », ce qui rend difficile l’apprentissage de données sensibles.

L’attaque par canal auxiliaire

Afin de lancer l’attaque, les chercheurs ont pu inverser l’ingénierie des différents protocoles qui gèrent la communication sur l’interconnexion de l’anneau. À partir de là, ils ont été en mesure de reconstituer les conditions nécessaires pour deux processus d’engager la contention d’anneau. Ils ont ensuite mis au point diverses attaques par canal auxiliaire qui « tirent parti des modèles temporels de la contention de l’anneau pour déduire les secrets d’un programme d’une victime ».

Cela a permis aux chercheurs de créer deux preuves de concept d’attaques. L’une des attaques extrait des « bits clés » des implémentations vulnérables de l’algorithme de cryptage RSA et Edwards-curve Digital Signature Algorithm (EdDSA).

« Plus précisément, [l’attaque] abuse des mesures d’atténuation pour prévenir les attaques de cache planifiées afin de faire disparaitre les charges de la victime dans le cache, surveille la contention des anneaux pendant que la victime calcule, et emploie un classificateur standard d’apprentissage automatique pour interpréter les traces et les fuites de données », selon les chercheurs.

La deuxième attaque, quant à elle, cible les informations de synchronisation des frappes, qui, selon les chercheurs, peuvent être utilisées pour déduire des données comme les mots de passe. L’attaque découle du fait que les événements de frappe provoquent des pointes dans la contention de l’anneau qui peuvent être détectés par un attaquant – même avec des obstacles comme le bruit de fond.

« Nous montrons que nos implémentations d’attaque peuvent exposer les bits clés et les fréquences de frappe avec une grande précision », ont déclaré les chercheurs, qui ont publié leur code expérimental pour l’attaque sur GitHub.

Intel, pour sa part, a souligné les meilleures pratiques de sécurité existantes pour atténuer l’attaque par canal auxiliaire: « Nous apprécions le travail en cours et la coordination avec le milieu de la recherche », a déclaré Intel. Après avoir examiné le document, nous croyons que les développeurs et les administrateurs système peuvent utiliser un certain nombre de meilleures pratiques de sécurité qui aident à se protéger contre divers types d’attaques de canaux auxiliaires, y compris celles trouvées dans ce document.

Que sont les attaques par canal auxiliaire?

Les attaques par canal auxiliaire extraient des informations sensibles, telles que des clés cryptographiques, à partir de signaux créés par l’activité électronique dans les périphériques informatiques au fur et à mesure qu’ils effectuent le calcul. Il existe un éventail de techniques pour lancer des attaques latérales, y compris l’utilisation de caches, de prédicteurs de branche ou de signaux analogiques.

Intel et d’autres fabricants de processeurs ont intensifié leurs défenses contre de telles attaques. De nombreuses attaques par canal auxiliaire existantes peuvent être atténuées en désactivant l’architecture multi-threading simultanée (SMT) utilisée dans les processeurs; ou désactiver la mémoire partagée entre les processus dans différents domaines de sécurité (en partitionnant le cache de dernier niveau) afin de bloquer les attaques basées sur le cache cross-core.

Toutefois, les chercheurs soutiennent que cette dernière attaque latérale contourne ces défenses existantes.

« La principale nouveauté de notre attaque par rapport aux attaques précédentes « par canal auxiliaire traditionnel » est que notre attaque ne repose pas sur le partage de mémoire, de cache, de ressources privées ou des structures spécifiques , » a déclaré Paccagnella. « Par conséquent, il est difficile d’atténuer l’utilisation des techniques existantes d’isolement du domaine. »

Alors que les attaques par canal auxiliaire de Spectre et de Meltdown ont attiré l’attention, Intel a déclaré que celles-ci étaient des attaques d’exécution spéculatives. Cette découverte plus récente, cependant, est une attaque différente « par canal auxiliaire traditionnel », plus similaire à une attaque par canal auxiliaire comme PortSmash. Selon Intel, les canaux latéraux « traditionnels » tirent parti des « opérations architecturalement engagées » afin d’inférer des informations. Pendant ce temps, les attaques d’exécution spéculatives profitent d’opérations « qui ne s’exécutent que de manière spéculative et ne sont donc pas commises dans un état architectural ».

Les chercheurs ont également noté que les processeurs AMD utilisent différentes technologies propriétaires connues sous le nom infinity fabric/architecture pour leur interconnexion sur puce.

« Étudier la faisabilité de notre attaque sur ces plates-formes nécessite des travaux futurs », ont déclaré les chercheurs. « Cependant, les techniques que nous utilisons pour construire notre modèle de contention peuvent également être appliquées sur ces plates-formes. »

Laisser un commentaire