Les failles Thunderclap dans Thunderbolt 3 ne sont toujours pas corrigées
Le 28 février 2019 à 10h14
2 min
Sciences et espace
En 2016, des chercheurs avaient alerté Apple, Intel, Microsoft et certains constructeurs d’un lot de failles dans l’implémentation faite de Thunderbolt 3 dans des périphériques et des cartes PCI Express. Tous ont plus ou moins réagi, mais de manière incomplète.
Le problème réside dans l’accès direct à la mémoire (canal DMA) des périphériques Thunderbolt 3, pour des questions de performances. Si un pirate parvenait à contrôler le périphérique, il pourrait utiliser cet accès pour lire d’autres informations en mémoire, mais aussi exécuter discrètement du code.
Les chercheurs notent qu’il existe bien une solution contre ce problème, l’IOMMU (Input-Output Memory Management Unit). Elle impose aux périphériques de n’accéder qu’aux seules zones mémoire qu’ils nécessitent.
Problème, elle grève une partie des performances. En outre, elle n’est supportée par défaut que dans macOS. Elle est absente de Windows 7, 8, 10 Familiale et 10 Pro. Dans l’édition Entreprise, elle n’est présente qu’en option et sous forme limitée. Dans les systèmes Linux et BSD, elle est souvent désactivée.
Même quand l’IOMMU est active, son implémentation laisse à désirer. Même sur macOS où elle est présente, les chercheurs ont réussi à faire exécuter des applications, même chose sur un FreeBSD. Sous Linux, des éléments du noyau devenaient même accessibles. En outre, sous macOS, les périphériques n’étaient pas protégés les uns des autres.
Pour les chercheurs, le problème est donc toujours présent, même si des protections en ont légèrement réduit le périmètre. Mais la méthode d’attaque n’a pas changé : il suffit dans la plupart des cas de brancher un périphérique malveillant pour déclencher des actions sans faire de bruit.
Ils citent par ailleurs un « fabricant très populaire » d’ordinateurs portables qui aurait décidé de repousser l’intégration du Thunderbolt 3 dans ses machines le temps que ces failles de sécurité soient bien cernées. Aucun nom n’est cependant cité.
En attendant, un site dédié aux failles Thunderclap a été mis en ligne pour résumer le problème sous forme de FAQ (en anglais).
Le 28 février 2019 à 10h14
Commentaires (7)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 28/02/2019 à 10h24
#1
Cela signerait il la fin de ce connecteur ?
Le 28/02/2019 à 10h34
#2
Le 28/02/2019 à 10h53
#3
Il faut des cadenas à port USB-C thunderbolt " />
Le 28/02/2019 à 11h16
#4
Ca ne serait pas la fin du connecteur, plutôt celle du protocole en l’état.
Le 28/02/2019 à 12h49
#5
Le 01/03/2019 à 17h46
#6
OK, mais il s’agit aussi (et sans doute surtout) d’un problème PCI Express.
Si un périphérique PCI Express (qu’il passe par Thunderbolt, ou non), est compromis l’ensemble du système est compromis.
Thunderbolt avec ses ports externes simplifie beaucoup ce genre d’attaques, et le fait qu’on en trouve de plus en plus augmente la surface d’attaque. Mais quelqu’un qui ouvre un PC fixe et ajoute une carte PCI Express pour faire ce genre d’attaque arrivera exactement au même résultat.
Et même sur un portable, certains connecteurs internes comme celui de la carte Wifi doivent permettre le même genre d’attaque (juste une déduction de ma part, c’est loin d’être sûr)… j’espère que le NVMe est bien protégé lui ?
Et pour Thunderbolt, depuis qu’il y a le contrôle d’accès, qu’ils disent bien que leur attaque ne permet pas de contourner, la simplicité de cette attaque par Thunderbolt est très diminuée.
Sur Windows ou Linux, il faut que l’utilisateur accepte le périphérique au niveau Thunderbolt, s’il ne le fait pas l’attaque n’est pas possible.
L’attaque par un port Thunderbolt, reste sans doute plus simple qu’une autre qui impliquerai d’ouvrir le boîtier du PC.
Ça reste donc un type d’attaque inquiétant et une solution définitive, qui n’impacte pas trop les perf sera la bienvenu.
Mais il faut relativiser maintenant qu’elle demande aussi de convaincre l’utilisateur de faire
une action, ou bien qu’il ai laissé son PC sans surveillance, allumé et
non-verrouillé.