Vai al contenuto
Offerte

WaveDigger localizza le reti WiFi dal BSSID con i server Apple

In questo articolo Indice dei contenuti 3 sezioni

Un semplice indirizzo MAC può diventare un punto preciso su una mappa. È questa la capacità che rende WaveDigger uno strumento tanto facile da usare quanto interessante sul piano tecnico. Basta inserire il BSSID di una rete WiFi e il progetto interroga il servizio di localizzazione di Apple. Se l’identificatore è presente nel database, sulla mappa compare la posizione associata all’access point. Non serve conoscere il nome della rete, collegarsi o trovarsi nelle vicinanze.

I sistemi di posizionamento basati sulle reti wireless esistono da parecchio tempo e Apple descrive ufficialmente l’uso di un grande database crowdsourced di hotspot e antenne cellulari. L’archivio cresce grazie ai dispositivi degli utenti. Con la Localizzazione attiva, iPhone e iPad dotati di GPS possono inviare periodicamente ad Apple, in forma anonima e crittografata, la posizione degli access point e delle celle rilevate nei dintorni. Incrociando nel tempo moltissime osservazioni dello stesso BSSID con coordinate GPS note, Apple riesce ad associare quegli identificatori radio a una posizione approssimativa. Il sistema torna utile soprattutto al chiuso, tra edifici alti o quando il segnale satellitare è debole, assente o troppo lento.

Cos’è il BSSID e perché rivela una posizione

Conviene distinguere due identificatori che spesso si confondono. L’SSID è il nome leggibile della rete, come “Casa” o “Ufficio”. Il BSSID identifica invece uno specifico Basic Service Set IEEE 802.11 e di norma ha la forma di un indirizzo MAC a 48 bit. Non c’è per forza una corrispondenza uno a uno con il router perché un singolo apparato può pubblicare diversi identificativi tra rete principale, rete ospiti, frequenze differenti o interfacce virtuali. Nei sistemi mesh il quadro si complica ulteriormente.

Il punto chiave è la stabilità. Chiunque può rinominare una rete in “Vodafone” o “Hotel WiFi” mentre il BSSID resta legato a una specifica interfaccia radio. Da qui nasce il Wi Fi Positioning System, abbreviato in WPS, da non confondere con il Wi Fi Protected Setup basato su PIN o pulsante. Vale la pena ricordare anche che la MAC randomization adottata dai sistemi operativi moderni protegge soprattutto i client come smartphone, tablet e notebook. L’identificatore trasmesso dal router invece deve restare riconoscibile per i dispositivi vicini ed è proprio quello che WaveDigger sfrutta.

Come funziona WaveDigger con i server Apple

WaveDigger è un progetto open source che porta questo principio dentro un’interfaccia moderna e non si ferma alle reti wireless, visto che permette di cercare anche celle LTE e 5G NR partendo dai relativi parametri. Non simula i risultati e non usa archivi statici scaricati in precedenza. Il codice genera una richiesta compatibile con il servizio WLOC di Apple e dialoga con i server tramite Protocol Buffers, il formato binario introdotto da Google per serializzare dati in modo compatto.

Alla base c’è un lavoro di reverse engineering indipendente dedicato a Core Location, che il repository cita esplicitamente. Analizzando il traffico con mitmproxy e studiando CoreLocationProtobuf.framework, i ricercatori hanno ricostruito il formato delle richieste, le strutture dati e il prefisso di byte necessario per costruire messaggi validi. Quando macOS o iOS interrogano il servizio possono trasmettere una lista di BSSID osservati e ricevere in risposta le informazioni geografiche degli access point conosciuti. Apple rappresenta le coordinate come numeri interi con otto cifre decimali implicite e WaveDigger le converte in latitudine e longitudine leggibili su mappa. Lo strumento può essere ospitato sui propri server ma esiste anche una demo online dove, inserendo un BSSID, la posizione dell’hotspot appare subito.

Il suffisso nomap per uscire dal database

Nella propria documentazione Apple spiega che il proprietario di un access point può chiedere l’esclusione facendo terminare il nome della rete con nomap. Un SSID come “CasaRossi” diventerebbe quindi “CasaRossinomap” e in questo modo i dispositivi client non inviano la posizione del punto di accesso al database. Anche Google adotta da tempo la stessa convenzione per il proprio servizio.

C’è però una limitazione curiosa legata alle reti nascoste. Apple precisa che l’opt out non funziona in questi casi perché i dispositivi non autorizzati non ricevono il nome della rete e non possono rilevare il suffisso nomap. Nascondere l’SSID finisce così per impedire proprio l’applicazione del meccanismo pensato per chiedere l’esclusione.

Fonte: TecnoAndroid

Condividi:
18 Condivisioni