MegaLab.it
Stampa Articolo
Aperiodico gratuito di informatica
 
20090630153657_1249572180_20090630153534_1928142235_DSCN1332.JPG

Così entro nel tuo cellulare

a cura di bit66
26/10/2012 - articolo
Sicurezza - Scoperta una falla in Android grazie alla quale è possibile comandare da remoto uno smartphone. Come? Basta puntare il browser del cellulare su un sito malevolo.

Se abbiamo sempre pensato che navigare sul Web con il nostro telefonino Android sia più sicuro della classica navigazione desktop beh, ci siamo sbagliati. Nel mese di settembre l'indiano Ravi Borgaonkar, un ricercatore informatico (vedi box per approfondimenti) ha scoperto - e presentato all'ottava edizione della ekoparty Security Conference - un "exploit" interessante e potenzialmente devastante che, se usato nel modo giusto da qualche malintenzionato, può addirittura causare l'hard reset (ovvero il ripristino ai dati di fabbrica) del telefono colpito, cancellando in un sol colpo App e documenti. L'exploit utilizza una pagina Web per inviare alla vittima un codice USSD in grado di eseguire nel dispositivo una molteplicità di comandi, alcuni dei quali totalmente innocui, altri davvero pericolosi. È sufficiente visitare la pagina con il codice maligno per essere immediatamente infettati. Ma procediamo con ordine e vediamo come funziona questo exploit e, prima di tutto, scopriamo cosa sono i codici USSD.

1.png

USSD, questi sconosciuti!

Si tratta di sequenze di caratteri (USSD è l'acronimo di Unstructured Supplementary Service Data) che, quando vengono digitate sul tastierino numerico dei dispositivi mobili (non necessariamente smartphone di ultima generazione) servono ad inviare comandi al proprio operatore mobile per la richiesta di alcuni servizi (tra cui, ad esempio, attivazione/disattivazione della segreteria telefonica), piuttosto che a evidenziare caratteristiche hardware e software del dispositivo o attivare menu relativi alla diagnostica del cellulare. Per fare il più banale degli esempi, quante volte avremmo voluto conoscere il codice IMEI (acronimo di International Mobile Equipment Identity) del nostro cellulare? Si tratta, come molti di noi sanno, del codice univoco identificativo del cellulare e, per visualizzarlo, è sufficiente digitare sul telefono la sequenza *#06#. Per conoscere, ad esempio, la versione del software in uso sul dispositivo, è sufficiente digitare *#1234#. La lista di tali codici è ben lunga e, a parte alcuni comandi "standard" (come quello per l'IMEI) può cambiare a seconda della marca del dispositivo. Una breve lista di alcuni dei codici utilizzati dai dispositivi SAMSUNG è quella che vi mostriamo nella tabella seguente:

Tabella1.jpg

Il codice "malevolo"

Arriviamo, finalmente, al nocciolo della questione: come è possibile iniettare in un dispositivo (tramite una semplice pagina HTML ospitata su un comune server Web) uno dei codici appena visti, o altri ancor più pericolosi? Diamo un'occhiata al seguente codice HTML:

Tabella2.jpg

Il "trucco" (o bug, che dir si voglia) è tutto nel codice src richiamato nel TAG iframe. Sfruttando l'URI SCHEMA del protocollo tel: , la pagina HTML "inietta" ed esegue il codice USSD specificato nel sorgente dell'iframe. Attenzione: nel codice che vediamo qualche rigo più sopra, noteremo il testo "%23", che rappresenta il cancelletto (#) utilizzato negli USSD. Vogliamo fare una prova? Scriviamo questo codice HTML su una pagina di qualsiasi server Web (non c'è bisogno che il server disponga di particolari caratteristiche, è semplice HTML) e visitiamo la stessa pagina con il browser del nostro telefono. Se questo è "affetto" dal bug (come dovrebbero essere la maggior parte dei telefoni con installato il firmware di fabbrica), visualizzeremo l'IMEI. Attenzione a quel che facciamo però! Smanettando con i codici potremmo finire per "hard-resettare" il telefonino diventando, noi stessi vittima dell'exploit.

I rimedi

A quanto dichiarato dallo stesso Borgaonkar, il bug colpisce tutte le versioni di Android (antecedenti alla 4.0.4) che utilizzano il dialer di default del sistema operativo mobile di Google, quindi la soluzione che consigliamo è quella di installare un altro dialer dallo store di Google. Tra i migliori che abbiamo provato consigliamo Dialer One. Alcuni sviluppatori, inoltre, hanno creato delle App atte a tappare la falla del sistema, tra le quali segnaliamo TelStop e Auto-reset Blocker. Per installare queste App (e lo stesso dialer one) possiamo fare una ricerca per nome sullo store di Google, oppure più semplicemente visualizzare, con lo smartphone, i QR Code che troviamo in questa stessa pagina.

Tabella3.jpg

La nostra prova

Abbiamo testato l'exploit su due dispositivi: il Samsung GT-i9003 Galaxy S SCL e il Samsung Galaxy S II, notando alcune differenze. Il primo, dotato del dialer di default di Android, si è mostrato più vulnerabile (pur se non tutti gli USSD provati hanno funzionato), mentre il secondo, sul quale gira una ROM non ufficiale e un dialer modificato, non ha evidenziato alcuna vulnerabilità.

Prova.png

Informazioni sul firmware, della radio e sulle localizzazione del firmware (lingua, layout tastiera, lista degli APN ecc.). Per visualizzare questa schermata informativa il codice è *#1234#, sul Samsung GT-i9003 Galaxy S SCL

Prova1.png

Le stesse informazioni di sistema, visualizzate sul Samsung Galaxy S II, utilizzando codice USSD *#1234#, che in questa versione di Android non funziona tramite exploit, ma soltanto digitando il codice da tastierino numerico.

Prova2.png

Le informazioni di sistema del Samsung GT-i9003 Galaxy S SCL, accessibili dal menu impostazioni del telefono. Si noti la versione vetusta del firmware utilizzato (Gingerbread), affetto dalla vulnerabilità in oggetto.

Prova3.png

Le informazioni di sistema del Samsung Galaxy S II, accessibili dal menu impostazioni del telefono. In questo caso la versione è tra le più nuove nel momento in cui scriviamo, ed è la 4.0.4 ICS (Ice Cream Sandwich)

E l'iPhone?

Per quanto riguarda il melafonino, possiamo affermare con certezza (dopo svariate prove non andate a buon fine) che l'Exploit non funziona proprio perché riguarda esclusivamente il dialer di default di Android. Utenti iPhone, potete quindi dormire sonni tranquilli.

Chi è Ravi Borgaonkar?

Lavora come ricercatore nel settore sicurezza delle dipartimento di telecomunicazioni dell'Università Tecnica di Berlino. I suoi temi di ricerca sono orientati alle telecomunicazioni mobili e alle minacce alla sicurezza. Si occupa di tecnologie GSM / UMTS / LTE, passando per la sicurezza della rete, e ha un occhio sempre attento alla sicurezza dell'utente finale del dispositivo.

Foto.png

MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .

Copyright 2008 MegaLab.it - Tutti i diritti sono riservati