agsandrew - stock.adobe.com
PortSmash : l’énième attaque par canal dérobé sur les processeurs Intel
La dernière attaque par canal dérobé contre les puces Intel, connue sous le nom de PortSmash, cible l'Hyper-Threading afin de voler des données, comme les clés OpenSSL privées d'un serveur TLS.
Des chercheurs ont découvert une autre attaque par canal dérobé contre les processeurs, cette fois-ci en abusant leur architecture d’exécution parallélisée pour voler des données privées.
La nouvelle méthode d'attaque – baptisée PortSmash – a été découverte par l'équipe de Billy Bob Brumley, Cesar Pereida Garcia, Sohaib ul Hassan et Nicola Tuveri, de l'université technologique de Tampere en Finlande, et Alejandro Cabrera Aldaya de l'université technologique de La Havane à Cuba.
Brumley décrit PortSmash comme étant le résultat d'une fuite causée par le « partage du moteur d'exécution » au sein du multithreading simultané (SMT), connu sur les processeurs Intel comme Hyper-Threading.
« Nous détectons la contention de port pour construire un canal dérobé visant la synchronisation afin d'exfiltrer des informations depuis les processus fonctionnant en parallèle sur un même noyau physique », décrit-il dans un billet de blog. « Nous volons une clé privée OpenSSL P-384 d'un serveur TLS en utilisant ce nouveau vecteur d’attaque sur canal dérobé. Il s'agit d'une attaque locale dans le sens où le processus malveillant doit s'exécuter sur le même noyau physique que la victime (un serveur TLS alimenté par OpenSSL dans ce cas) ».
Sumanth Gangashanaiah, directeur de l'ingénierie chez ShieldX, estime que l'efficacité des attaques PortSmash augmente parallèlement au nombre de cœurs CPU : « pour que l'attaque réussisse, l'attaquant doit exécuter du code malveillant sur le noyau où le code légitime est exécuté ». Pour lui, « le défi consiste ici à savoir si l'hyperviseur va allouer le code légitime et le code malveillant au même cœur, dans le cas de l’IaaS. Un attaquant déterminé (relevant par exemple d’un État-nation) pourrait essayer longtemps. Et le résultat peut être considérable ».
Attaques sur canal dérobé
PortSmash est la dernière d'une série d'attaques sur canal dérobé affectant les processeurs qui ont commencé à gagner l’attention avec les attaques Spectre et Meltdown, découvertes par de multiples groupes indépendants et révélées en janvier. Depuis, d'autres variantes de Spectre ont été découvertes comme NetSpectre, et il y a déjà eu une attaque par canal dérobé ciblant l'Hyper-Threading, appelée TLBleed. Plusieurs experts, comme Clémentine Maurice, de l’Irisa, et David Monniaux, directeur de recherche au CNRS, indiquaient d’ailleurs en début d’année qu’il fallait s’attendre à de nouvelles découvertes en la matière. Hector Martin, un chercheur en sécurité basé à Tokyo, partage cet avis.
Mais contrairement à TLBleed, qui, selon plusieurs experts, serait difficile à exploiter, PortSmash pourrait s'avérer plus dangereux. « Un attaquant n'aurait presque aucune difficulté à exécuter le processus malveillant sur le même coeur que le processus victime », relève ainsi Justin Jett, directeur de la vérification et de la conformité chez Plixer, dans un courriel. « Plus précisément, une fois que l'acteur malveillant connaît l'identifiant du processus visé (PID), il peut s'appuyer sur des utilitaires tels que taskset pour déterminer sur quel cœur il s’exécute. A partir de là, il est possible de configurer le processus malveillant pour qu'il s'exécute sur le même cœur ».
Kevin Bocek, responsable de la cybersécurité chez Venafi, estime de son côté que, « compte tenu de la nature infectieuse des logiciels malveillants et de l'augmentation des opérations en mode cloud, cette attaque est accessible à de nombreux attaquants, que ce soit à des fins financières ou pour viser un État-nation ».
Divulgation de PortSmash
Selon Brumley, l'équipe a révélé PortSmash à Intel le 1er octobre. AMD n'a pas été notifié parce que les travaux de recherche n’ont porté que sur les processeurs Intel Skylake et Kaby Lake. Mais Hector Martin estime que l’attaque est théoriquement possible sur les puces AMD également.
Brumley et son équipe ont annoncé publiquement PortSmash et ont fourni un démonstrateur le 1er novembre, le jour même où Intel a fourni un correctif.
« Mon équipe a d'abord proposé un embargo jusqu'au 1er novembre dans une communication privée avec Intel », indique-t-il dans un courriel. Et d’ajouter avoir, « dans la même communication, volontiers offert à Intel la possibilité de proposer un calendrier alternatif ». Ce que le fondeur a, selon Billy Bob Brumley, refusé.
Mais pour Justin Jett, le point de friction se situe peut-être encore dans l’application de ces correctifs par les entreprises : « il n'y a pas de règles strictes en matière de signalement et de réponse. Quel que soit le temps accordé au fournisseur, il arrive souvent que l’application des correctifs soit retardée beaucoup trop longtemps ». Un temps durant lequel les organisations concernées restent vulnérables.
Brumley, Red Hat et d'autres experts ont suggéré que la meilleure solution pourrait consister à désactiver l’hyper-threading. Si possible. Et ce qui n’irait probablement pas sans affecter négativement les performances des systèmes.