La disponibilité d'un réseau peut être remise en cause soit par le brouillage radioélectrique, soit par une attaque en déni de service consistant à rendre inopérant le réseau par un envoi massif d’informations.
Le brouillage radioélectrique du réseau est relativement aisé par exemple avec du bruit blanc diffusé dans la gamme de fréquence des 2,4 GHz et qui suffira à empêcher l'utilisation du réseau.
Réalisable avec des composants du commerce, le brouillage peut être général ou sélectif. Un brouillage général interdira l'usage de la totalité du réseau. Un brouillage sélectif pourra empêcher la prise en compte des communications d'un élément du réseau. La perte de disponibilité pourrait devenir définitive (destruction des interfaces de réseau sans fil) dans le cas où la puissance du brouilleur s'avèrerait très supérieure au niveau admissible par les matériels visés.
Le déni de service logique consiste à saturer le point d'accès en multipliant artificiellement le nombre de demandes d'association. Le point d'accès considère alors que de nombreuses machines veulent se connecter. Or, il n'accepte en général que 256 associations (machines). Ne pouvant faire la distinction à priori entre une demande légitime et une demande illicite, il va donc refuser toutes les demandes d'association et donc provoquer un déni de service. Par ailleurs, sur un poste autonome (PDA, portable), la surconsommation due à l'obligation de répondre aux sollicitations de l'attaquant provoque un affaiblissement rapide des batteries et donc une perte importante d'autonomie.
L’intrusion revêt un caractère actif, consistant à pénétrer un réseau directement, sans nécessairement usurper une identité, afin de pouvoir bénéficier de l'infrastructure du réseau (accès Internet, intranet..), voire pour effectuer divers types d’actes malveillants. Une intrusion est souvent facilitée par l'absence totale d'authentification. Sur un réseau radio 802.11b chiffré, elle peut passer par une attaque de la clé de chiffrement, par défaut la clé WEP ("Wire Equivalent Privacy").
Le mécanisme de l’attaque peut être représenté par le schéma ci-dessous :
Figure 17 : Le mécanisme de l'intrusion dans un réseau WiFi
Pour ce faire, après avoir capté et enregistré une partie de la communication, l’attaquant doit reconstituer la clé de chiffrement WEP. Cette reconstitution passe par une étude des flux de données chiffrées circulant sur le réseau. Une fois la clé de chiffrement reconstituée, il est possible de s'introduire dans le réseau de manière transparente car on ne peut différencier un poste normalement autorisé d'un poste usurpant la même identité, contrairement au cas d'un réseau filaire bien configuré.
Il convient de noter que les machines d'un réseau interne sont bien souvent peu protégées. Elles constituent des cibles de choix pour mener des attaques par rebond ou des agressions sur d'autres entités. Dans ce cas, le gestionnaire ou l’exploitant du réseau radio deviendrait structurellement incapable de remonter à la source de l’agression.
Un agent malveillant disposant du matériel adéquat (un ordinateur portable ou simplement un PDA (assistant personnel) muni d’une carte 802.11b), peut écouter le réseau et par conséquent capter et interpréter les paquets d’informations circulant sur celui-ci. Ce phénomène est d’autant plus dangereux qu’il est invisible et non détectable, car complètement passif.
Or, la majorité des cartes réseau sans fil peut être configurée à cet effet et des manuels de fabrication d'antennes sont disponibles sur Internet. Pour quelques dizaines d’euros, il devient possible de concevoir des antennes permettant d’accroître la distance de captation de plusieurs centaines de mètres sans pour autant perdre des informations.
Par ailleurs, l'activation du protocole de chiffrement natif WEP ne suffit pas à garantir la confidentialité des informations (cf. paragraphe 6.4.3.A.2.a - ).
L’usurpation d’identité, revêt un caractère actif puisque l’agent malveillant cherche à pénétrer le réseau en usurpant l’identité d’une personne autorisée, ceci pouvant parfois se faire de manière transparente. Une fois l’opération réussie, il a toute liberté d’action pour porter atteinte à l’intégrité du réseau en modifiant ou en supprimant les informations qui y circulent.
Pour ce faire, l’agent malveillant a la possibilité d'usurper soit l’identité d’un point d’accès, soit celle d’un client.
Dans la première hypothèse, l’attaquant se place entre le client et le véritable point d’accès tout en feignant d’être légitime ; il peut alors à loisir enregistrer et modifier les données transmises.
Dans la seconde (cf. figure ci-dessous), il se fait passer pour un client pouvant légitimement accéder à l'ensemble du réseau (sans fil et/ou filaire). L'aspect immatériel du réseau ne permet pas de distinguer le véritable client du faux. Dans ce cas, les informations qui normalement transitaient uniquement par le réseau filaire, peuvent être déroutées et passer désormais sur le réseau radio.
Le schéma de l’attaque est ainsi le suivant :
Figure 18 : Le mécanisme de l'usurpation d'identité dans un réseau WiFi
Ce type d’attaque est actuellement possible car la norme 802.11b propose un « système d'authentification » basé sur le contrôle des adresses machines (MAC) transmises en clair. Ce système ne peut être considéré comme un réel système d'authentification.
Le sniffing est une technologie réseau permettant à un attaquant de compromettre la sécurité d’un réseau d’une manière passive. Un « sniffer » est un outil qui surveille, sans se faire repérer, un ordinateur du réseau en vue d’y trouver des informations susceptibles d’intéresser un attaquant. Dans la plupart des cas, ces informations sont relatives à l’authentification des utilisateurs : couples nom d’utilisateur/mot de passe permettant l’accès à un système ou une ressource. Un certain nombre de serveurs applicatifs transmettent en clair les données d’authentification. Il s’agit notamment :
- du serveur telnet (ouverture d’une session à distance sur un serveur Unix) ;
- du serveur ftp (transfert de fichiers de ou vers une machine donnée) ;
- du serveur pop (permet la relève par les utilisateurs de leur courrier électronique) ;
- du serveur imap (même fonctionnalité que le serveur pop) ;
- du serveur nntp (serveur gérant la lecture et l’écriture des messages dans les forums de discussion) ;
- des serveurs permettant l’exécution de commandes à distance (rlogin, rsh …) ;
- du serveur graphique X (le système X-Windows utilise un cookie pour autoriser les utilisateurs à se connecter à un serveur X. Un cookie de 128 bits généré aléatoirement est envoyé par tout client X11 qui se connecte à un serveur X Windows. En espionnant ce cookie, un attaquant pourra se connecter au même serveur X) ;
- …………
Cette technique vise à modifier le routage au niveau 2, et permet de jouer l'attaque de l'intercepteur (surnommée attaque « Man In The Middle ») sur un réseau local. Le protocole ARP est le protocole assurant la correspondance sur un réseau local entre les adresses de niveau 2 (adresses Ethernet) et les adresses de niveau 3 (adresses IP). En modifiant les associations, il est possible de faire croire à une machine que l'adresse IP de son correspondant se trouve en fait à l'adresse Ethernet d'une machine pirate.
Le protocole ARP (RFC 826) a été créé sans prendre en compte les aspects d'authentification des machines, de sorte que n'importe quelle machine sur un réseau est capable de s'annoncer comme propriétaire d'une adresse IP.
L'utilisation d'un protocole non sécurisé, associé à de mauvaises implémentations dans les systèmes d'exploitation, fait qu'à ce jour, quasiment tous les systèmes sont vulnérables à de l'ARP cache poisoning.
Bien que la RFC définisse le format des messages, il est possible de les envoyer sous de multiples formes. Ainsi, une trame ARP peut être codée de 8 façons différentes (broadcast ou unicast, whois ou reply, gratuitous ou pas). Selon le résultat que l'on veut obtenir (création d'une entrée en table, mise à jour), il est possible d'employer ou de combiner ces messages.
Des tests menés sur de nombreux OS (Unix, Linux, BSD, Windows, IOS, IPSO...) montrent qu'il existe toujours une forme de requête permettant de les "cache poisoner". Sur certains OS, Windows 9x, NT et 2000, il est même possible de modifier des entrées définies en statique. Ce ne sont pas les seuls. Des tests menés sur un Solaris 8 ont permis d'identifier que cet OS était également vulnérable à de l'ARP cache poisoning sur des entrées définies en statique en utilisant des requêtes de type « gratuitous ».
Les attaques mettant en oeuvre le protocole ARP sont nombreuses et vont de l'écoute réseau sur un réseau switché au déni de service, en passant par le spoofing et l'attaque de l'intercepteur.
La méthode du détournement d’adresse IP existe depuis longtemps et certaines histoires célèbres font état de cette technique.
Le concept est simple, les techniques pour y parvenir plus complexes. Il suffit d'usurper l'adresse IP d'une machine autorisée pour profiter de ses privilèges. Pour y parvenir, seules les techniques basées sur la construction manuelle de paquets IP étaient jusqu'alors connues. Jumelées à de l'écoute réseau, cela permettait au mieux de créer une pseudo communication avec la machine visée. La pile IP du système d'exploitation de la machine pirate était dans ce cas inutilisée. Des outils comme dsniff ou ettercap mettent en oeuvre ce principe.
Les mises en oeuvre de cette méthode sont les suivantes :
- construction de paquets en aveugle : les paquets sont construits et envoyés sur le réseau, sans savoir ce que l'autre machine va répondre. En TCP, cela nécessite de prédire les numéros de séquence échangés ;
- vol de connexion TCP : il s'agit d'attendre l'établissement d'une connexion par une source autorisée, puis de la voler. Cela nécessite d'être sur le chemin réseau, d'écouter le trafic et de s'insérer dans la connexion. Cette méthode permet de profiter des privilèges de la source, le vol étant effectué après la phase d'authentification ;
- écoute du réseau et construction de paquets : il s'agit d'une méthode similaire au vol de connexion TCP, mais en créant une nouvelle connexion. Les paquets sont écrits et lus sur le réseau sans passer par la pile IP de la machine, permettant de spoofer l'adresse de la source. Restera à jouer la phase d'authentification.
Il existe peu d’outils mettant en œuvre cette technique. Les deux outils les plus connus sont les suivants :
- Juggernaut ;
- Hunt.
La technique présentée ici abandonne les principes d'écoute du réseau et de forgeage de paquets. Elle permet de spoofer une adresse IP de façon « propre », en permettant à n'importe quelle application exécutée de « profiter » de cette nouvelle identité. Cette méthode a été nommée le « smart-spoofing IP ».
De manière à bien décortiquer cette technique, prenons l’exemple suivant :
- soit deux machines Paris et Londres autorisées à dialoguer entre elles ;
- soit un pirate nommé Charlie.
Le schéma de l’exemple est le suivant :
Figure 19 : Schéma d'une situation permettant le smart spoofing IP
Le smart-spoofing IP consiste à opérer dans un premier temps un ARP cache poisoning du routeur de Paris afin d’insérer dans la chaîne de routage niveau 2 des paquets circulant entre Londres et Paris.
Il est nécessaire d'activer le routage sur Charlie afin que Londres continue à recevoir les paquets qui lui sont destinés. Dans le cas où Charlie se situe sur le même réseau local que Paris, un blocage des ICMP redirect sur Charlie empêchera de laisser trop de traces permettant une détection de l'attaque. Les ICMP redirect ne constituent toutefois pas une gêne fonctionnelle car le routage a seulement été détourné au niveau 2 (les ICMP redirect agissant au niveau 3).
Enfin, il est nécessaire d'empêcher le routeur de Londres d'effectuer des requêtes ARP en broadcast, vers d'autres machines. Ces broadcast auraient l'inconvénient de repositionner la véritable adresse ARP du routeur de Londres dans le cache du routeur de Paris. Pour ce faire, on remplit le cache ARP du routeur de Londres avec l'ensemble des adresses MAC pouvant se trouver sur le réseau.
Il est à noter que seul l'ARP cache poisoning du routeur de Paris est nécessaire.
Le fonctionnement est alors le suivant :
Figure 20 : La situation à l'issue de l'ARP poisoning
Une fois ceci réalisé, l'ensemble des paquets circulant de Paris vers Londres passera par Charlie. La deuxième étape consiste à mettre en place un mécanisme de translation d'adresse source (SNAT) sur Charlie, de sorte que les connexions créées vers Paris le soit avec l'adresse source de Londres.
Les paquets en retour seront naturellement traités par le processus de SNAT et renvoyés dans la pile IP de Charlie.
La situation est alors la suivante :
Figure 21 : La situation une fois l'attaque par smart spoofing réalisée
La dernière étape consiste à utiliser le logiciel client de l'application (telnet, browser, ftp, console d'administration...) afin d'accéder à Paris en se faisant passer pour Londres.
Le logiciel client peut être exécuté sur Charlie lui-même ou sur Charlie2, une machine sous Windows (pour profiter des interfaces spécifiques à ce système d’exploitation) située dans un réseau juste derrière Charlie.
Cette méthode n'apporte rien de techniquement nouveau. Le spoofing IP était déjà réalisable auparavant. Les risques pour les systèmes étaient existants. La nouveauté réside ici dans la simplicité de sa mise en oeuvre, dans la souplesse d'utilisation qui s’en suit (utilisation d'une simple application cliente, telle un browser), et dans le nombre d'équipements contre qui cette méthode peut être menée.