6.4.3 -
Les attaques
possibles :
6.4.3.A - Les réseaux sans
fil :
6.4.3.A.1 - Disponibilité d’un
réseau sans fil :
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.
6.4.3.A.2 - Intégrité des contenus
face à des actes de malveillance :
6.4.3.A.2.a - Intrusion :
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.
6.4.3.A.2.b - Confidentialité des
informations :
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 -
).
6.4.3.A.2.c - Usurpation
d’identité :
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.
6.4.3.B - Le sniffing :
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) ;
- ............
6.4.3.C - L’ARP Poisoning :
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.
6.4.3.D - Le détournement d’adresse
IP (spoofing IP) :
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 :
6.4.3.D.1 - Le smart spoofing IP :
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.