Laisser un commentaire

Dangereux Hotspots

Les réseaux wifi non protégés, SFR wifi, FreeWifi etc, c’est génial puisqu’ils nous permettent de nous connecter à internet en situation de mobilité, en ville, à un café, etc. Le problème de ces réseaux est d’une part qu’ils ne sont pas chiffrés, d’autre part, comme nous allons le voir ici, il est possible de se connecter à ces réseaux sans même posséder les identifiants de connexion (sfr ou free etc).

Parler de connexion est un peu un abus de langage, puisque la connexion en elle-même (au reseau wifi) se fait simplement en cliquant sur le nom du réseau en question, par exemple “sfr wifi public”, attendu que ces réseaux ne sont pas sécurisés par du WPA (ou même du WEP). Ce dont je veux parler, c’est s’authentifier sur la page de connexion pour avoir accès à internet.

Concept de base

Avant toute chose, comprenons comment ça fonctionne. Ces réseaux sont ce que l’on appelle des portails captifs. Une fois connecté sur le réseau wifi, un serveur proxy nous empêche d’accéder à internet en capturant toutes nos requêtes, et nous redirige vers une page sur laquelle nous sommes invités à nous connecter (ou payer si vous êtes à l’aéroport par exemple). Tant que vous ne vous êtes pas authentifié (ou que vous n’avez pas payé), vous n’avez pas accès à ce qui se situe derrière le proxy, autrement dit, le monde libre, Internet !

Naturellement, lorsque vous êtes authentifié, il faut bien que le proxy puisse vous reconnaitre, afin de savoir à qui il doit donner l’accès au web et qui il doit bloquer. Je me suis donc demandé par quel moyen l’oiseau reconnaissait les différents clients (ordinateur, smartphone…) connectés.

Faiblesse du système

Il y a différentes solutions possibles pour que le proxy vous authentifie, ça pourrait être par un cookie, l’adresse IP… ou l’adresse mac. Et c’est là que le bat blesse, quel que soit le moyen utilisé parmi ces trois là, tous sont très facilement falsifiables.

Il suffirait donc de voir sur le réseau ce qu’il se passe, voir les appareils déjà connectés pour prendre leur adresse IP et mac ou, dans le cas d’un cookie, écouter le trafic à la recherche de ce dernier.

J’ai donc opéré quelques petits tests, il s’avère qu’il n’y a pas de cookie, et que changer son adresse IP pour celle d’un client déjà connecté, ne suffit pas à faire croire à la borne wifi que l’on est cette autre personne. En revanche, changer son adresse mac fonctionne - et de ce fait, le serveur DHCP attribue aussi l’IP correspondante. Il ne faut donc rien de plus qu’un scanner de réseau, on en trouve même sur iPhone. Une fois l’adresse mac d’un client récupéré, on remplace la notre par celle du client, on se reconnecte au réseau et roulez jeunesse !

A noter qu’avec deux clients possédant les mêmes adresses mac et ip sur un même réseau, la connexion n’est parfois pas optimale, mais ça passe.

Quelles implications ?

Une telle faiblesse du système implique-t-elle des problèmes de sécurité ou de confidentialité ? Chaque utilisateur connecté possède normalement une IP différente, et donc par ce biais, on peut agir sur le réseau avec l’IP d’un autre. En théorie, on peut remonter à l’utilisateur via celle-ci en faisant le lien avec son authentifiant. Une connexion frauduleuse engagerait - en cas d’agissement répréhensible sur le réseau - donc potentiellement la responsabilité (à tord) de la personne s’étant faite usurper sa connexion.

En gros, les risques son faibles comparés à ceux engendrés par le non chiffrement de la connexion. Car si des utilisateurs font circuler des données sensibles sans recours à un protocole de chiffrement annexe (SSL, TLS, SSH), il suffit à un intru d’écouter le réseau pour se servir de ce dont il a besoin…

Une question reste en suspens, l’EAP-SIM, le protocole de téléphonie qui vise à faire passer les appels et les datas par les Wifi des box au lieu du GSM (lorsque cela est possible). Sera-t-il chiffré correctement ? Si tel n’était pas le cas, toutes vos conversation téléphoniques seraient susceptibles d’être écouté par le premier venu, ce qui est, nous en conviendrons, assez problématique…

Je doute cependant que la sécurité d’un tel protocole soit laissée au hasard, et puisqu’il supposera un serveur RADIUS pour l’authentification [en]. Pourquoi ne pas faire profiter aux hostspots internet de toute cette infrastructure ?

Commentaires

Rejoignez la discussion !

Vous pouvez utiliser Markdown pour les liens [ancre de lien](url), la mise en *italique* et en **gras**. Enfin pour le code, vous pouvez utiliser la syntaxe `inline` et la syntaxe bloc

```
ceci est un bloc
de code
```