UnShadowed - Concept

Dans cet article je vais essayer d'expliquer mon idée, le concept qui se cache sous UnShadowed.

On connait tous les "free wifi" ou wifi gratuit des aéroports, des gares, des centres commerciaux. Mais ce qu'on ne sait pas c'est que tout ça permet de nous suivre ! Donc on va s'intéresser au protocol wifi.

Le Wifi est un protocole intéressant quand on entre dans les détails. Il existe deux méthodes de balayage pour les points d'accès WiFi actifs.

  • Allumer le récepteur et écouter chaque canal en attendant le signal de la borne. C'est le scan passif.
  • Diffuser un paquet "Qui est là?" sur chaque canal. C'est le scan actif.

Avec le scan passif rien n'est transmis de votre adaptateur wifi. Maintenant viennent les problèmes. La borne (par défaut) ne transmet des infos que tous les 100TU (102,400µs). Pour avoir un peu d'espoir d'entendre la plupart des Points d'Accès, vous devriez attendre 2 intervalles, disons 102 400µs * 2 par canal. Nous avons 12 (ou 14 dans certaines régions) canaux dans la bande 2.4Ghz, donc un balayage complet prendrait 102 400µs * 2 * 12 = 2 457 600µs ou environ 2,5 secondes.

Steven Haigh https://www.crc.id.au/

Et pendant ce temps, le récepteur est en mode d'utilisation de puissance élevée, ce qui a un impact négatif sur l'autonomie de la batterie. Alors je suis d'accord on pourrait lancer un scan que toutes les 30 secondes, mais cela signifie quand même que nous devons mettre le récepteur sous tension pendant 5 secondes par minute. Les appareils utilisent donc ce qu'on appelle le scan actif
Dans ce processus, la carte wifi transmet une requête de sondage (probe request) sur le canal.
La requête consiste en: 

  • BSSID: Adresse MAC de diffusion.
  • SSID: Longueur zéro.
  • MAC: Adresse MAC wifi de l'appareil.

Le scan actif est la méthode utilisée par défaut par presque tous les appareils existants. Les besoins en énergie sont beaucoup plus faibles, après une requête, l'adaptateur n'écoute qu'une fraction du temps par rapport à un scan passif (bien que cela varie selon le fabricant et le pilote).
Là où je veux en venir c'est qu'en tant que borne je peux "entendre" toutes ces "requêtes" faites par les appareils à la recherche de wifi. Et comme l'adresse MAC est unique (ou du moins considérée comme l'étant) je suis en mesure de suivre un appareil.
Imaginez une application vous indiquant qu'un individu, ou qu'un appareil vous suit, sans même que cet appareil soit connecté à internet.