Des processeurs Intel Xeon exposés à des attaques par canal auxiliaire via le réseau
L'attaque NetCAT, pour Network Cache ATtac, tire parti de la technologie Data Direct I/O Technology (DDIO) d'Intel pour exécuter à distance des « timing attacks » sur la frappe de caractère.
Des chercheurs ont découvert une autre faille permettant d'exploiter une caractéristique des puces Intel Xeon et récupérer des données potentiellement sensibles. Mais cette fois, l'attaquant n'a pas besoin d'un accès local à la machine ciblée, car l'attaque peut fonctionner sur le réseau. La responsabilité de cette vulnérabilité est à mettre au compte de la technologie Data Direct I/O (DDIO) d'Intel, qui permet à des périphériques, comme des cartes réseau, d'accéder directement au cache interne du processeur pour bénéficier de meilleures performances, réduire la consommation d'énergie et profiter d'un débit de données plus élevé. Avant l'introduction de la technologie DDIO, ces appareils échangeaient des données avec le CPU en passant par la RAM, mais sa latence peut constituer un goulot d'étranglement.
La technologie DDIO a été conçue pour des contrôleurs Ethernet et des réseaux de datacenters rapides, l'objectif étant de permettre aux serveurs de gérer des connexions Ethernet 10 gigabits (10 GbE) et au-delà. Cette technologie a été introduite pour la première fois en 2011 dans les familles de processeurs Intel Xeon E5 et Intel Xeon E7 v2 de niveau entreprise. Les attaques CPU comme Spectre et Meltdown et leurs nombreuses variantes ont déjà utilisé le cache CPU comme canal auxiliaire pour en extraire des données sensibles. Cette fois, les chercheurs du groupe VUSec de la Vrije Universiteit Amsterdam ont démontré que l'accès au cache DDIO peut être exploité de la même manière.
Récupérer les frappes de caractères
Dans un article publié hier, les chercheurs expliquent que l'attaque, baptisée NetCAT pour Network Cache ATtac, exploite la technologie DDIO sur le réseau pour contrôler les temps d'accès dans le cache du CPU activé par d'autres clients connectés au même serveur via SSH (Secure Shell). En utilisant un algorithme d'apprentissage machine, les chercheurs ont ensuite pu déduire les frappes transmises sur la connexion en analysant les informations de temps dans la zone de cache du CPU utilisée par la carte réseau du serveur.
« Dans une session SSH interactive, chaque fois que l'on tape sur une touche, les paquets réseau sont transmis directement. Par conséquent, chaque fois que l'on tape un caractère à l'intérieur d'une session SSH cryptée sur sa console, NetCAT peut faire fuiter le timing de l'événement en laissant fuiter l'heure d'arrivée du paquet réseau correspondant. Chaque utilisateur à des schémas de frappe différents. Par exemple, taper 's' juste après 'a' est plus rapide que taper 'g' après 's'. En conséquence, NetCAT peut effectuer une analyse statistique des temps d'arrivée des paquets dans ce que l'on appelle une timing attack sur la frappe de caractère pour faire fuiter les caractères que l'utilisateur tape dans sa session SSH privée ».
Première attaque à distance par canal auxiliaire
Cela signifie qu'avec une connexion réseau directe au serveur, un attaquant peut faire fuiter des informations potentiellement sensibles vers d'autres clients connectés au même serveur. C'est donc la première fois qu'une attaque par canal auxiliaire du CPU fonctionne à distance plutôt que localement. Intel a accordé une prime pour la découverte de la vulnérabilité, mais lui a attribué un score de gravité faible de 2,6 sur 10, sur l'échelle CVSS. « Dans le cas où le DDIO et le RDMA (Remote Direct Memory Access) sont activés, il est recommandé d'effectuer de sérieux contrôles de sécurité sur un réseau sécurisé, car un attaquant a besoin d'un accès RDMA en lecture et en écriture sur une machine cible utilisant le DDIO », indique Intel sur son site Web. « Dans les scénarios complexes dans lesquels les technologies DDIO et RDMA sont généralement utilisées, comme les clusters de calcul massivement parallèles, les attaquants n'ont en général pas d'accès direct à partir de réseaux non-fiables », ajoute Intel pour justifier ce score.
Les chercheurs étaient un peu en désaccord sur la rareté des situations d'exploitation possibles mentionnées par Intel. Ils ont expliqué à nos confrères de CSO qu'ils avaient utilisé le RDMA (Remote Direct Memory Access) pour cette attaque parce que c'était plus facile, mais qu'il existait probablement d'autres façons d'exploiter la technologie DDIO. « NetCAT n'est que la première fissure dans le système de protection et des recherches futures permettront probablement de découvrir d'autres méthodes d'attaque plus performantes, comme ce fût le cas avec d'autres attaques par le passé », ont-ils déclaré.
Atténuation limitée et peu pratique
Les chercheurs du groupe VUSec de la Vrije Universiteit Amsterdam ont le sentiment que, comme la plupart des vendeurs, la réponse d'Intel est plus focalisé sur l'exploit qui leur a été divulgué que sur la cause profonde de la vulnérabilité, dans le cas présent, la technologie DDIO elle-même. À moins de désactiver cette fonctionnalité, qui peut avoir un impact significatif sur les performances, les propriétaires de serveurs ne peuvent pas faire grand-chose pour atténuer le problème. « Quand DDIO et RDMA sont activés, limitez l'accès direct depuis des réseaux non-fiables », préconise Intel dans un avis qui recommande aussi « l'usage de modules logiciels pouvant résister au timing attacks, utilisant un code à temps constant ».
Le problème c'est que, dans le cas de nombreux déploiements, ces recommandations sont difficilement applicables dans la pratique. Par exemple, les serveurs qui ont besoin d'une connexion directe à Internet sont disponibles par défaut pour les réseaux non-fiables. De plus, fixer un temps constant dans le contexte de l'accès au cache implique que le code doit parler au CPU même lorsqu'il n'en a pas techniquement besoin, de sorte que le temps d'accès ne varie pas et ne révèle rien à l'attaquant. « Cependant, cela coûte très cher en performance », ont expliqué les chercheurs. L'attaque NetCAT cible le SSH car il génère de nouveaux paquets à chaque frappe, ce qui en fait une cible évidente. Cependant, d'autres applications vulnérables et scénarios d'attaque potentiels restent encore à découvrir. Les chercheurs de VUSec pensent que, comme ce fut le cas avec Meltdown, Spectre, Rowhammer et d'autres failles résultant de choix de design matériel, il faut s'attendre à voir émerger d'autres variantes d'attaque DDIO.