Una semplice interfaccia radio a corto raggio può rivelare abitudini, movimenti e relazioni sociali con una precisione sorprendente. Il Bluetooth, introdotto alla fine degli anni Novanta come standard per collegamenti personali a basso consumo, è oggi presente in miliardi di dispositivi: smartphone, automobili, smartwatch, auricolari, strumenti medici e infrastrutture urbane. Secondo i dati Bluetooth SIG, oltre 5 miliardi di dispositivi compatibili sono acquistati ogni anno, con una crescita trainata soprattutto dal Bluetooth Low Energy. La diffusione massiva di questa tecnologia, unita alla tendenza a mantenerla sempre attiva, ha trasformato un protocollo pensato per la comodità in una fonte continua di metadati ambientali. Esperimenti recenti dimostrano che la semplice osservazione passiva dei segnali radio può restituire una mappa dettagliata della vita quotidiana.
Un progetto sperimentale per osservare i segnali invisibili via Bluetooth
Bluehood è un applicativo che Danny McClelland ha sviluppato in Python, progettato per intercettare e analizzare i dispositivi Bluetooth nelle vicinanze. L’architettura si basa sullo stack BlueZ presente sui sistemi Linux e sfrutta le API HCI per effettuare scansioni passive, senza stabilire connessioni con i dispositivi rilevati.
I dati raccolti sono automaticamente salvati in un database SQLite e visualizzati attraverso una dashboard Web accessibile in locale. Il sistema può essere eseguito su hardware minimale, come una scheda Raspberry Pi dotata di adattatore radio compatibile, oppure su un comune laptop.
La scansione passiva permette di rilevare e raccogliere gli identificatori temporanei (codici che cambiano periodicamente per riconoscere un dispositivo), gli indirizzi MAC (identificativi hardware univoci delle interfacce di rete) e gli UUID dei servizi BLE, cioè gli identificatori unici dei servizi offerti tramite Bluetooth Low Energy.
L’analisi di questi elementi permette di classificare i dispositivi per tipologia e produttore, riconoscendo ad esempio telefoni, sistemi audio, wearable o unità di bordo dei veicoli. Il software costruisce inoltre pattern temporali, generando mappe di presenza oraria e calcolando i tempi di permanenza dei dispositivi all’interno dell’area monitorata.

Metadati comportamentali e ricostruzione delle abitudini
L’osservazione continuativa dei segnali radio, come spiega l’autore di Bluehood, evidenzia la natura fortemente informativa dei metadati Bluetooth.
Anche senza identificare direttamente una persona, la correlazione tra dispositivi consente di individuare schemi ricorrenti: arrivi e partenze di veicoli, presenza simultanea di smartphone e smartwatch appartenenti allo stesso individuo, variazioni nei ritmi quotidiani.
Attivando una raccolta di dati continuativa nel tempo, si possono dedurre gli orari di lavoro, le visite abituali o le preferenze di acquisto, arrivando a costruire profili comportamentali dettagliati, cioè analisi strutturate delle abitudini e dei comportamenti di una persona.
Il fenomeno è accentuato dalla natura broadcast del Bluetooth, che prevede la trasmissione periodica di pacchetti di advertising. Anche quando i produttori implementano tecniche di randomizzazione degli indirizzi MAC per ridurre la tracciabilità, la combinazione di UUID, intervalli di trasmissione e intensità del segnale permette di correlare sessioni successive e riconoscere dispositivi nel tempo.

Dispositivi non disattivabili e superfici di esposizione
Una criticità rilevante riguarda la presenza di dispositivi che non consentono all’utente di disabilitare il modulo radio Bluetooth. Apparecchi acustici moderni utilizzano BLE per la telemetria e la regolazione da remoto; alcuni pacemaker e dispositivi medici impiantabili impiegano canali radio analoghi per diagnostica e aggiornamenti.
Anche veicoli di emergenza, flotte logistiche e mezzi di trasporto pubblico integrano moduli Bluetooth per gestione e manutenzione. In questi scenari l’emissione radio è continua e non controllabile dall’utilizzatore.
Analoghe limitazioni esistono nel settore consumer: smartwatch che richiedono connessioni permanenti allo smartphone, collari GPS per animali domestici, attrezzi fitness connessi. La presenza di questi dispositivi aumenta la superficie di esposizione e contribuisce alla creazione di segnali persistenti nel tempo.
Applicazioni per la privacy che richiedono visibilità radio
Alcuni strumenti progettati per proteggere le comunicazioni sfruttano intenzionalmente il Bluetooth per creare reti decentralizzate.
Applicazioni come Briar e BitChat utilizzano topologie mesh per sincronizzare i messaggi in assenza di connessione Internet, basandosi su scambi peer-to-peer tra dispositivi vicini.
In tali contesti, la trasmissione costante di segnali BLE diventa una condizione necessaria per il funzionamento del sistema, introducendo un compromesso tra resilienza delle comunicazioni e esposizione ai rilevamenti ambientali.
Vulnerabilità e scenari di attacco concreti
Il rischio non si limita all’analisi passiva. La vulnerabilità WhisperPair, identificata come CVE-2025-36911, ha evidenziato come difetti nei meccanismi di pairing possano permettere il controllo remoto di cuffie e auricolari, consentendo intercettazioni audio e tracciamento tramite reti di localizzazione.
Attacchi di questo tipo approfittano di vulnerabilità nei protocolli di autenticazione, cioè nei meccanismi che verificano l’identità dei dispositivi, e nella gestione delle chiavi crittografiche, ossia i codici segreti usati per proteggere le comunicazioni, dimostrando che il livello radio, ovvero la trasmissione wireless dei dati, costituisce un punto esposto e quindi un obiettivo significativo per gli aggressori.
Anche in assenza di exploit attivi, un attore malevolo può utilizzare uno scanner BLE per raccogliere dati nel tempo e costruire modelli predittivi, individuando momenti di assenza da un’abitazione o identificando target di interesse.
L’accessibilità dell’hardware necessario, spesso limitata a un investimento nell’ordine delle poche decine di euro, rende queste tecniche realistiche anche per attori non altamente specializzati.
Architettura e funzionalità operative di Bluehood
Il progetto Bluehood integra funzionalità di classificazione e filtraggio dei dispositivi, escludendo automaticamente gli indirizzi randomizzati per ridurre il rumore nei dati.
L’interfaccia Web dell’applicazione consente di monitorare in tempo reale la presenza di dispositivi, generare report giornalieri e ricevere notifiche tramite servizi come ntfy.sh. L’installazione può avvenire tramite container Docker o installazione manuale con dipendenze Python, richiedendo privilegi elevati per l’accesso al sottosistema Bluetooth.

L’approccio dimostra come strumenti relativamente semplici possano trasformarsi in sistemi di analisi ambientale, evidenziando la quantità di informazioni accessibili senza violare direttamente i dispositivi osservati.
Come provare subito Bluehood
Per utilizzare Bluehood è necessario predisporre un ambiente Linux con stack Bluetooth completo e accesso diretto all’adattatore radio. Il requisito fondamentale è la presenza di BlueZ, che fornisce le API e gli strumenti HCI necessari per la scansione BLE e Classic, insieme a un adattatore compatibile (tipicamente esposto come interfaccia hci0<&cide>).
L’applicazione richiede privilegi elevati perché deve intercettare i pacchetti a livello di controller, inclusi gli eventi di advertising e le variazioni di indirizzo MAC, quindi può essere eseguita come root oppure concedendo a Python le capability cap_net_admin e cap_net_raw.
L’avvio più semplice avviene tramite container Docker in modalità privilegiata con networking host, così da consentire al processo di accedere direttamente allo stack Bluetooth del sistema. In alternativa è possibile installare Bluehood manualmente tramite pip dopo aver caricato le dipendenze di sistema (bluez e python3-pip su Debian/Ubuntu oppure bluez, bluez-utils e python-pip su Arch).
Una volta avviato, il servizio espone una dashboard Web locale (porta 8080 di default) che rappresenta il punto di osservazione principale per tutte le attività di monitoraggio.
Eseguire Bluehood con Docker
Se si preferisse l’esecuzione containerizzata con Docker (è richiesta la presenza sul sistema in uso di Docker e Docker Compose), basta impartire i comandi seguenti come riportato nel repository ufficiale del progetto:
git clone https://github.com/dannymcc/bluehood.git
cd bluehood
docker compose up -d
I log in tempo reale sono consultabili con il comando che segue:
docker compose logs -f
Bluehood inizierà a catturare i pacchetti di advertising BLE (ADV_IND, scan response) e le inquiry Classic, salvando i dati nel database SQLite locale. Dal pannello Web è quindi possibile analizzare la sequenza temporale delle presenze, individuare le relazioni tra i diversi dispositivi, osservare le mappe di calore per fascia oraria (heatmap, cioè la distribuzione dell’attività nel tempo) e valutare il valore RSSI (Received Signal Strength Indicator, l’intensità del segnale) per stimare la distanza e la vicinanza tra i dispositivi.
Per verificare a basso livello ciò che Bluehood osserva, si può eventualmente eseguire in parallelo uno sniffer HCI e confrontare i pacchetti advertising con quelli registrati dall’applicazione:
sudo btmon
L’approccio descritto consente di replicare in laboratorio l’analisi dei pattern di presenza e di comprendere concretamente quali metadati radio sono esposti dai dispositivi Bluetooth anche senza alcuna interazione attiva.
Dual mode e aspetti tecnici di Bluehood
Il motore di Bluehood esegue una scansione continua dual-mode, combinando – come descritto in precedenza – l’uso di Bluetooth Low Energy e Bluetooth Classic. A livello tecnico intercetta i pacchetti di advertising BLE e le inquiry Classic, estraendo metadati come indirizzo MAC, potenza del segnale (RSSI), nome del dispositivo e UUID dei servizi annunciati.
Queste informazioni sono poi arricchite tramite lookup dell’OUI (Organizationally Unique Identifier) per identificare il produttore e tramite fingerprint dei servizi BLE per classificare il dispositivo in categorie funzionali come smartphone, dispositivi audio, wearable, IoT o veicoli.
Un aspetto centrale è la gestione degli indirizzi MAC randomizzati. I dispositivi moderni utilizzano indirizzi BLE temporanei con il bit “locally administered” impostato per ridurre la tracciabilità. Bluehood rileva questa caratteristica, filtra tali identificativi dalla vista principale e mantiene solo i dispositivi con indirizzi stabili, consentendo analisi più significative. Tuttavia, anche con la randomizzazione attiva, i pattern temporali, la forza del segnale e i servizi esposti possono contribuire a una forma di fingerprinting probabilistico.
La dashboard Web di Bluehood consente di filtrare i dispositivi per tipologia, vendor o intervallo temporale, marcare alcuni dispositivi come “watched” per monitoraggi mirati e attivare notifiche push quando un dispositivo entra o esce dall’area osservata. È possibile anche esportare i dati in formato CSV per analisi esterne o abilitare una modalità di offuscamento che maschera parzialmente MAC e nomi, utile per condividere screenshot senza esporre dati personali.
Mitigazioni radio e limiti della protezione: sicurezza, tracciabilità e implicazioni per la privacy
Le contromisure disponibili includono la disattivazione del Bluetooth quando non necessario, l’uso di dispositivi con randomizzazione MAC efficace e aggiornamenti firmware tempestivi per correggere eventuali vulnerabilità note.
Alcuni sistemi operativi implementano modalità di scansione limitata o intervalli di advertising meno frequenti per ridurre la tracciabilità. Tuttavia, tali soluzioni non eliminano completamente il problema, soprattutto nei casi in cui il modulo radio debba rimanere attivo per requisiti funzionali.
Va detto che la disattivazione del Bluetooth non costituisce di per sé una misura di sicurezza prioritaria: Bluetooth e NFC sono canali di comunicazione che diventano vettori di attacco solo in presenza di vulnerabilità concrete, configurazioni errate o contesti operativi favorevoli all’aggressore, non per il solo fatto di essere attivi.
McClelland ha voluto mettere l’accento sugli aspetti legati alla privacy, dimostrando in concreto come la semplice osservazione del traffico radio circostante permetta di ricostruire abitudini, spostamenti e relazioni tra dispositivi anche senza violare direttamente i sistemi.
Attraverso l’analisi dei pacchetti trasmessi in modalità di advertising e delle variazioni negli identificativi, è possibile individuare schemi comportamentali persistenti, mettendo in evidenza che la dimensione critica risiede anche nella capacità di profilazione nel tempo.