21 mai 2021

Nos WiFi sont en danger !

Wifi, Wireless Communication and Hotspot Stock Footage Video (100%  Royalty-free) 1025131469 | Shutterstock

Introduction

Des millions d’appareils se retrouvent vulnérables à des failles de sécurité liées au WiFi et qui touchent tous les protocoles, autant le WEP que le WPA3.

Le chercheur en sécurité Mathy Vanhoef (Université de New York Abu Dhabi) a dévoilé cet ensemble de failles de sécurité qu’il a baptisé FragAttacks (fragmentation and aggregation attacks).

Des failles WiFi faciles à exploiter ?

Comment expliquer qu’autant d’appareils et de versions de protocoles soient concernés ? Il y a trois vulnérabilités découvertes qui sont des défauts de conception de la norme WiFi. Le plus gros problème réside dans les failles liées à des défauts d’implémentations du WiFi des terminaux.

Un attaquant qui se trouve à portée d’un appareil vulnérable peut exploiter ces failles de sécurité pour réaliser une attaque et voler des données. D’ailleurs, Mathy Vanhoef a publié une vidéo sur YouTube où il montre trois exemples d’exploitation de ces failles.

  • Intercepter des informations sensibles comme l’identifiant et le mot de passe de la victime
  • Interagir à distance avec un appareil connecté (IoT), par exemple allumer et éteindre une prise connectée
  • Prise de contrôle d’une machine sous Windows 7 sur un réseau local

Vulnérabilité d’injection de texte clair

La première vulnérabilité se trouve au niveau de la conception des appareils WiFi qui acceptent des trames non chiffrées même lorsqu’ils sont connectés à un réseau WiFi protégé. Cela signifie que l’attaquant n’a rien à faire de spécial. Des routeurs domestiques, des appareils IoT, des smartphones, de nombreux dongles WiFi sous Windows acceptent à tort les trames en texte clair (non chiffré) lorsqu’elles sont divisées en plusieurs fragments.

De plus, certains appareils acceptent les trames agrégées en texte clair qui ressemblent à des messages de handshake (négociation entre le point d’accès WiFi et l’appareil pour générer une connexion chiffrée). Un attaquant peut exploiter cela en envoyant une trame agrégée dont les débuts ressemblent à un handshake et dont la seconde sous-trame contient le paquet que l’attaquant veut injecter. Un périphérique vulnérable interprétera d’abord cette trame comme un message d’établissement de connexion, mais la traitera ensuite comme une trame agrégée.

Faille de conception : aggregation attack

Le premier défaut de conception réside dans la fonctionnalité d’agrégation de trames du WiFi. Cette fonctionnalité augmente la vitesse et le débit d’un réseau en combinant de petites trames dans une trame agrégée plus grande. Pour implémenter cette fonctionnalité, l’en-tête de chaque trame contient un indicateur qui indique si les données transportées (chiffrées) contiennent une trame unique ou agrégée. Ceci est illustré dans la figure suivante :

Figure 1 : En-tête d’une trame

Malheureusement, cet en-tête « is aggregated » n’est pas authentifié et peut être modifié par un attaquant, ce qui signifie qu’une victime peut être amenée à traiter les données transportées chiffrées d’une manière non intentionnelle. Un attaquant peut en abuser pour injecter des paquets réseau en incitant la victime à se connecter à son serveur, puis en définissant l’en-tête « is aggregated » de paquets soigneusement sélectionnés. Pratiquement tous les appareils testés étaient vulnérables à cette attaque. La possibilité d’injecter des paquets peut à son tour être utilisée de manière abusive pour intercepter le trafic d’une victime en lui faisant utiliser un serveur DNS malveillant.

Faille de conception : mixed key attack

Le deuxième défaut de conception réside dans la fonctionnalité de fragmentation des trames du WiFi. Cette fonctionnalité augmente la fiabilité d’une connexion en divisant de grandes trames en fragments plus petits. Lors de cette opération, chaque fragment appartenant à la même trame est chiffré à l’aide de la même clé. Cependant, les destinataires ne sont pas obligés de vérifier cela et réassembleront les fragments qui ont été déchiffrés à l’aide de différentes clés. Dans de rares conditions, cela peut être abusé pour exfiltrer des données. Ceci est accompli en mélangeant des fragments qui sont chiffrés sous différentes clés, comme illustré dans la figure suivante :

Figure 2 : Illustration schématique d’une mixed key attack

Le premier fragment reçu par le point d’accès est déchiffré à l’aide d’une clé différente de celle du deuxième fragment. Néanmoins, la victime rassemblera les deux fragments. En pratique, cela permet à un attaquant d’exfiltrer des données.

Faille de conception : fragment cache attack

Le troisième défaut de conception réside également dans la fonction de fragmentation des trames WiFi. Le problème est que, lorsqu’un client se déconnecte du réseau, le périphérique WiFi n’est pas obligé de supprimer les fragments non réassemblés de la mémoire. Cela peut être abusé contre les réseaux de type hotspot tels que eduroam et govroam et contre les réseaux d’entreprise où les utilisateurs se méfient les uns des autres. Ceci est réalisé en injectant un fragment malveillant dans la mémoire (c’est-à-dire le cache de fragments) du point d’accès. Lorsque la victime se connecte ensuite au point d’accès et envoie une trame fragmentée, les fragments sélectionnés seront réassemblés avec le fragment infecté de l’attaquant. Ceci est illustré dans la figure suivante :

Figure 3 : Illustration schématique d’une fragment cache attack

L’attaquant injecte le premier fragment dans le cache du point d’accès. Une fois l’attaquant déconnecté, le fragment reste dans le cache de fragments et sera réassemblé avec un fragment de la victime. Si la victime envoie des trames fragmentées, ce qui semble peu courant dans la pratique, cela peut être abusé pour exfiltrer des données.

Conclusion

Pas moins de 12 CVE ont été créés concernant ces FragAttacks impactant la grande majorité des appareils WiFi utilisés dans le monde. Le seul moyen de prévenir l’exploitation de ces failles reste de lancer les mises à jour des appareils présents sur le réseau, distribuées par les fabricants et s’assurer de l’utilisation d’une connexion chiffrée lors de recherche sur internet (HTTPS).

Voici la liste des CVE attribuées à ces attaques :

  • CVE-2020-24588 : aggregation attack
  • CVE-2020-24587 : mixed key attack
  • CVE-2020-24586 : fragment cache attack

Les vulnérabilités qui permettent l’injection de texte clair sur un réseau WiFi protégé :

  • CVE-2020-26145 : Accepting plaintext broadcast fragments as full frames
  • CVE-2020-26144 : Accepting plaintext A-MSDU frames that start with an RFC1042 header with EtherType EAPOL (in an encrypted network).
  • CVE-2020-26140 : Accepting plaintext data frames in a protected network.
  • CVE-2020-26143 : Accepting fragmented plaintext data frames in a protected network.

D’autres failles de conception :

  • CVE-2020-26139 : Forwarding EAPOL frames even though the sender is not yet authenticated
  • CVE-2020-26146 : Reassembling encrypted fragments with non-consecutive packet numbers.
  • CVE-2020-26147 : Reassembling mixed encrypted/plaintext fragments.
  • CVE-2020-26142 : Processing fragmented frames as full frames.
  • CVE-2020-26141 : Not verifying the TKIP MIC of fragmented frames.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *