Jammer, cos'è e perché il sistema Raspberry Pi anti-reggaeton non lo è proprio

Un maker appassionato di machine learning e Raspberry Pi sviluppa un dispositivo che impedisce la riproduzione di musica ad alto volume sugli speaker Bluetooth del vicino. Perché non è un jammer e cosa c'è da sapere sul suo funzionamento.

Un jammer è un dispositivo progettato per interferire con i segnali di comunicazione wireless, come quelli utilizzati nella telefonia mobile, nelle reti WiFi, per le comunicazioni GPS, Bluetooth e molto altro ancora. Il funzionamento di un jammer varia a seconda della specifica tipologia, ma in generale, opera emettendo segnali radio a frequenze simili a quelle utilizzate dai dispositivi oggetto di aggressione. Questi disturbatori di frequenze provocano interferenze e disturbi nella comunicazione, rendendo difficile o impossibile per i dispositivi target ricevere o trasmettere segnali.

L’utilizzo dei jammer è molto comune, ad esempio, tra i criminali che tentano di disabilitare i sistemi d’allarme: se a valle di un’effrazione l’allarme non può inviare notifiche tramite rete mobile, né il legittimo proprietario né i servizi di vigilanza possono attivarsi in tempo.

In Italia è ovviamente illegale detenere e utilizzare qualsiasi disturbatore di frequenza.

Il sistema anti-reggaeton basato su Raspberry Pi e inventato da Roni Bandini non è un jammer

In questi giorni si sta facendo un gran parlare di un dispositivo inventato da un maker argentino, Roni Bandini, che utilizzando un’economica scheda Raspberry Pi 3 e qualche semplice componente elettronico, interrompe la riproduzione di musica reggaeton dagli speaker Bluetooth nelle vicinanze.

Il sistema “Reggaeton Be Gone“, così chiamato dal suo ideatore, nasce dall’esasperazione di Bandini. Disturbato ogni giorno dalla musica ad altissimo volume, riprodotta di prima mattina dagli altoparlanti Bluetooth del vicino di casa, Bandini ha dapprima chiesto cessare la pratica, a tutela dei suoi timpani e del suo sacrosanto diritto al riposo.

Successivamente, visto che le vie diplomatiche non avevano sortito alcun risultato utile, il creator ha messo a punto uno strumento che dapprima utilizza il machine learning per riconoscere il genere di musica reggaeton e, nel caso in cui l’intelligenza artificiale confermi la riproduzione di questo genere di contenuti sonori, si attiva automaticamente per disturbare gli speaker Bluetooth rendendo impossibile l’ascolto.

Sistema Raspberry Pi blocca speaker Bluetooth

Perché il sistema Reggaeton Be Gone non è considerabile alla stregua di un jammer

Nel descrivere il suo progetto, Bandini tiene a precisare che è stato realizzato soltanto per mere finalità educative, a mo’ di esperimento e ne è eventualmente permesso l’utilizzo solo ed esclusivamente sui propri speaker Bluetooth, non su quelli di proprietà di altri soggetti.

Ciò premesso, l’autore di “Reggaeton Be Gone” aggiunge che il semplice codice Python da lui sviluppato, richiede la conoscenza del MAC address del dispositivo Bluetooth bersaglio e che esso si trovi fisicamente molto vicino alla scheda Raspberry Pi. Lo si può capire dal valore RSSI (Received Signal Strength Indicator), parametro utilizzato nelle reti wireless e Bluetooth per misurare la potenza del segnale radio. In generale, più è elevato il valore RSSI, più vicino è il dispositivo Bluetooth.

Ma, bando alle ciance, diamo un’occhiata al codice Python del progetto Reggaeton Be Gone: il sorgente è tutto condensato in un unico file, di semplicissima analisi.

I metodi utilizzati per connettersi a uno speaker Bluetooth che riproduce musica

La parte più interessante, è la funzione fireBT(): contiene due metodi per “mettere al tappeto” gli speaker Bluetooth:

if method==1:
# Small, are you there?
for i in range(0, threadsCount):
print(‘[*] ‘ + str(i + 1))
subprocess.call([‘rfcomm’, ‘connect’, targetAddr, ‘1’])
time.sleep(myDelay)

if method==2:
# Medium, I think you should listen
for i in range(0, threadsCount):
print(‘[*] ‘ + str(i + 1))
os.system(‘l2ping -i hci0 -s ‘ + str(packagesSize) +’ -f ‘ + targetAddr)
time.sleep(myDelay)

Il metodo 1 utilizza rfcomm connect per stabilire una connessione Bluetooth, mentre il metodo 2 utilizza l2ping per inviare pacchetti Bluetooth verso il dispositivo target. La differenza chiave risiede nei comandi specifici utilizzati e nell’azione intrapresa nei confronti del dispositivo Bluetooth (connessione o invio di pacchetti).

Già qui si dovrebbe aver capito: non siamo di fronte a un jammer perché non avviene alcun disturbo delle frequenze Bluetooth. Il codice Python si limita a tentare di stabilire una connessione wireless e/o a inviare pacchetti dati a brevissima distanza di tempo l’uno dall’altro.

Reggaeton Be Gone Bluetooth

Se uno speaker Bluetooth è già accoppiato (paired), com’è possibile disturbare la riproduzione del flusso dati?

In generale, uno speaker Bluetooth che ha già fatto pairing con un dispositivo dovrebbe essere protetto da scambi di dati non autorizzati. In altre parole, se l’altoparlante fosse già accoppiato con un dispositivo, un soggetto terzo non dovrebbe poterne assumere il controllo. Compreso Bandini. E allora come fa ad avere successo il sistema Reggaeton Be Gone basato su Raspberry Pi?

La risposta a questa domanda è contenuta nel testo di Bandini: “non tutti gli speaker Bluetooth sono vulnerabili“. Altro che jammer! In un altro articolo abbiamo visto come attivare Bluetooth e come funziona lo scambio di dati tra i dispositivi del network.

Date un’occhiata all’illuminante documento dal titolo Bluetooth Attacks elaborato tempo fa dall’Electrical Engineering and Computer Science di Toronto (Canada). Sfogliatelo fino a trovarvi dinanzi ad alcuni esempi di attacchi “After Devices Are Paired“, aggressioni che cioè possono avere successo a pairing Bluetooth già avvenuto. Insomma, è esattamente ciò che è stato sfruttato per l’esperimento Reggaeton Be Gone.

Non è ammesso farsi giustizia da soli!

Appurato che il sistema Reggaeton Be Gone non è certamente annoverabile nella categoria dei jammer, va comunque detto che non è permesso farsi giustizia da soli. Ci sono tanti modi per richiedere l’interruzione di un comportamento che arreca disturbo: ad esempio, è possibile rivolgersi al diretto interessato, fare riferimento all’amministratore di condominio, richiedere l’intervento delle forze di polizia.

Al netto di tutto ciò, è però opportuno fare alcune considerazioni che ci paiono quanto meno pertinenti.

In primis, quando si verifica un accesso non autorizzato a una rete protetta da protocolli di cifratura, si può configurare il reato di accesso abusivo a un sistema informatico (ex art. 615 ter c.p.), punito con la reclusione fino a tre anni. Se si tratta di una rete aperta, priva di misure di sicurezza, il reato di accesso abusivo non si configura. Come in questo caso.

Ci sono però delle fattispecie di reato che potrebbero comunque risultare concretamente ipotizzabili. A stretto rigore, nel caso di specie, un’aggressione nei confronti di un dispositivo Bluetooth altrui potrebbe comunque ricadere nell'”installazione di apparecchiature atte ad intercettare, impedire o interrompere comunicazioni informatiche o telematiche” (art. 617 quinquies c.p.).

Tra i “metodi” presenti nel codice Python di Bandini ce n’è anche un terzo:

if method==3:
# XXL, Say hello to my little friend
for i in range(0, threadsCount):
print(‘[*] Sorry, Scarface method is not included in this version ‘ + str(i + 1))
time.sleep(myDelay)

A nostro avviso, questo conferma lo spirito goliardico del lavoro Reggaeton Be Gone. La stringa di commento # XXL, Say hello to my little friend, fa riferimento a una celebre frase pronunciata nel film Scarface di Brian De Palma e interpretato da Al Pacino nel ruolo di Tony Montana. Questi, prima di utilizzare un’enorme mitragliatrice, se ne esce con la citazione riportata da Bandini. Ecco, insomma, il “metodo Scarface”, con la distruzione dello speaker Bluetooth è proprio quello da evitare ma anche gli altri due, per le ragioni illustrate in precedenza, non sono da meno…!

La responsabilità degli utenti e dei produttori di speaker Bluetooth

Per difendersi da attacchi come quello posto in essere col sistema Reggaeton Be Gone, è innanzi tutto importante essere tempestivi nell’installazione delle patch di sicurezza e degli aggiornamenti del firmware rilasciati dai produttori. Nel corso del tempo, infatti, spesso emergono nuove vulnerabilità e tecniche di attacco sfruttabili lato Bluetooth: è quindi importante installare le correzioni che consentano di proteggersi adeguatamente.

Per mitigare potenziali rischi, è consigliabile adottare le migliori pratiche di sicurezza, come disattivare la visibilità dei dispositivi Bluetooth quando non è necessario, utilizzare codici PIN durante il processo di pairing e accertarsi che i propri speaker siano esenti da qualunque vulnerabilità nota.

A nostro avviso, potrebbe addirittura configurarsi una responsabilità del produttore se un attacco come quello proposto da Bandini andasse a buon fine su speaker Bluetooth già accoppiati e adeguatamente protetti. Un aspetto sul quale è opportuno riflettere.

Credit immagine in apertura: iStock.com – South_agency – Le immagini pubblicate nell’articolo sono tratte dal post di Roni Bandini.

Ti consigliamo anche

Link copiato negli appunti