NetCAT : une attaque qui tire parti de la technologie Data Direct I/O d'Intel
pour exécuter à distance des attaques temporelles
Après Spectre et Meltdown, voici NetCAT (Network Cache Attacks), une faille qui exploite Data Direct I/O(DDIO) et Remote Direct Memory Access (RDMA), deux technologies qui permettent aux équipements ou périphériques réseau, tels qu'une carte réseau, d'avoir accès directement aux caches CPU à des fins d'optimisation des performances en contrôlant et diminuant les latences. Sauf que ces technologies exposent les serveurs dans des réseaux locaux non fiables à des attaques par canal auxiliaire distant. Ainsi un attaquant pourrait exploiter la technologie DDIO pour contrôler les temps d'accès dans le cache du CPU activé par d'autres clients connectés au même serveur : en plus simple, l'attaquant peut exfiltrer des données sur l'ensemble des machines connectées au serveur en passant par la carte réseau et se frayer directement un chemin dans le cache du CPU. Il ne lui reste plus qu’à explorer ce qui se trouve dans le cache comme le démontre la vidéo ci-dessous, dans laquelle on peut voir comment l'attaque s'effectue et comme résultat l'apparition en clair de ce que peut saisir une victime dans un terminal SSH.
Les chercheurs du groupe VUSec de la Vrije Universiteit Amsterdam à l'origine de la découverte de cette vulnérabilité ont expliqué qu’ils ont utilisé un algorithme d'apprentissage afin de déduire ou deviner les touches saisies et transmises par la victime. Et ce, en analysant les informations de temps d'arrivée dans la zone de cache du CPU utilisée par la carte réseau du serveur (c’est ce que l'on appelle une timing attack ou attaque temporelle). En cryptanalyse, une attaque temporelle consiste à estimer et analyser le temps mis pour effectuer certaines opérations cryptographiques dans le but de découvrir des informations secrètes. Dans le cas d'une session SSH chiffrée, chaque fois que la victime tape sur une touche, les paquets réseaux sont émis et par conséquent, chaque fois que l'on tape un caractère à l'intérieur de cette session SSH chiffrée, NetCAT permet de divulguer l'information saisie.
NetCat est-il la première attaque à distance par canal auxiliaire ?
La réponse à cette question est effectivement oui puisqu’un attaquant peut provoquer la fuite d'informations potentiellement sensibles vers d'autres clients connectés au même serveur. C’est également la première fois qu'une attaque par canal auxiliaire du CPU est démontrée et fonctionnelle à distance plutôt que localement.
Cependant, Intel a attribué un score de faible gravité à cette vulnérabilité: 2,6 sur 10, sur l'échelle CVSS en indiquant sur son site Web que "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. 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 », pour justifier ce score et en recommandant aussi "l'usage de modules logiciels pouvant résister aux timing attacks, utilisant un code à temps constant".
Les chercheurs sont en désaccord avec cette déclaration puisqu’ils ont démontré qu'il était possible d’utiliser le RDMA (Remote Direct Memory Access) comme vecteur et que c'était facile. Ils soulignent qu'il pourrait également exister d'autres façons d'exploiter la technologie DDIO tout en faisait référence éventuellement à d’autres types d’attaques. "NetCAT n'est que la première brèche 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é".
Les chercheurs ont tout de même le sentiment que la réponse d'Intel est plus focalisée sur l'exploit qui leur a été divulgué que sur les défauts réels et causes de la vulnérabilité de cette technologie (DDIO) en elle-même.
Sources : intel, CVE, VUSec
Et vous ?
Qu’en pensez-vous ?
Partager