Come impedire agli hacker di cancellare i dati dal tuo telefono Android con un unico collegamento

Schermo superiore del Galaxy S III

L'ecosistema Android ha avuto una scossa ieri con la rivelazione che semplici collegamenti - qualcosa che potresti semplicemente aprire online - potrebbero innescare una cancellazione completa di alcuni dispositivi Android. Il ricercatore Ravi Borgaonkar ha rivelato l'exploit e (ovviamente) il dispositivo che ha ottenuto tutta l'attenzione è stato il Samsung Galaxy S III più venduto. Samsung ha già rilasciato una patch per la vulnerabilità. Ma si scopre che molti altri telefoni Android sono apparentemente vulnerabili allo stesso exploit. La radice del problema risiede nel dialer Android standard; anche se Google ha corretto il problema mesi fa, quella correzione potrebbe non essere stata applicata agli attuali dispositivi Android e molti non la riceveranno mai.

C'è motivo di preoccupazione, ma non un vero e proprio panico. Ecco come funziona l'exploit e alcuni suggerimenti su come gli utenti Android possono proteggersi.

Cos'è USSD?

Il nuovo exploit Android si basa su un protocollo integrato nella maggior parte dei telefoni chiamato USSD, o Unstructured Supplementary Service Data. Pensa a USSD un po 'come un protocollo di messaggistica di testo, ma invece di essere utilizzato per trasmettere brevi messaggi tra utenti di telefoni, è destinato a consentire sia ai produttori di dispositivi che agli operatori di telefonia mobile di creare servizi aggiuntivi per i loro telefoni e la rete. Come i messaggi di testo, i messaggi USSD sono brevi (fino a 182 caratteri), ma a differenza dei messaggi di testo, possono effettivamente aprire una connessione di rete a due vie tra un dispositivo e un endpoint di rete, quindi sono più reattivi dei messaggi SMS e possono essere utilizzato per servizi interattivi in ​​tempo reale.

Le persone che si affidano a servizi telefonici prepagati hanno probabilmente utilizzato i servizi USSD per controllare il saldo prepagato rimanente. Ad esempio, gli utenti prepagati T-Mobile compongono il numero  #999#per vedere il loro saldo. Questo è USSD. Tuttavia, USSD può supportare applicazioni più sofisticate come i servizi di pagamento mobile - in effetti, questo è uno dei motivi per cui alcuni paesi in via di sviluppo sono più vicini ai pagamenti mobili rispetto al Nord America e all'Europa. Altri servizi hanno costruito funzioni di social networking per Twitter, Facebook e altri servizi di social networking, sebbene questi siano in genere visti solo sui feature phone nei mercati emergenti.

USSD è implementato nei telefoni GSM (gli utenti standard di operatori come AT&T e T-Mobile), ma ciò non significa che sei fuori dai guai se usi un telefono con un operatore CDMA come Verizon o Sprint. Molti codici USSD attivano azioni sul dispositivo locale e non richiedono un operatore di telefonia mobile che supporti USSD. Molti telefoni costruiti per reti CDMA risponderanno a questi codici.

USSD è, per definizione, non strutturato, il che significa che i telefoni non supportano gli stessi set di codici USSD. Diversi produttori e operatori di telefonia mobile hanno ampiamente seguito il proprio istinto su come sviluppare funzionalità e servizi USSD. Un codice USSD che fa una cosa su un telefono Nokia può fare qualcos'altro interamente su un telefono LG o niente. Tuttavia, un codice comunemente usato è *#06#, che spesso mostra il numero IMEI (International Mobile Equipment Identity) univoco di un dispositivo.

Tel: io una storia

Ravi Borgaonkar (vulnerabilità USSD, Samsung)

USSD non è una novità e non è una nuova minaccia per Android. Ciò che Ravi Borgaonkar ha dimostrato è stata una combinazione straordinariamente semplice di codici USSD con il protocollo URL "tel:". Hai visto protocolli URL in cose come link Web e indirizzi e-mail: quelli sono http:e mailto:, rispettivamente. Tuttavia, esistono centinaia di altri protocolli URL.

Il tel:protocollo consente agli utenti di comporre un numero di telefono da un browser Web: tel: 555-1212 dovrebbe collegare la maggior parte degli americani all'assistenza telefonica a livello nazionale, ad esempio. La dimostrazione di Borgaonkar ha combinato lo tel:schema URL con un particolare codice USSD che - hai indovinato - può eseguire un ripristino delle impostazioni di fabbrica di alcuni dispositivi Android. Borgaonkar ha soprannominato questo ripristino di fabbrica USSD la "tragedia di Samsung", in parte perché l'implementazione da parte di Samsung del suo comando di cancellazione non comporta alcuna interazione con l'utente. Alcuni altri dispositivi hanno comandi di ripristino delle impostazioni di fabbrica simili, ma richiedono almeno la conferma manuale da parte dell'utente.

In teoria, tutto ciò che un utente malintenzionato dovrebbe fare è incorporare un URL dannoso in un sito Web e qualsiasi dispositivo vulnerabile che carica quella pagina verrebbe ripristinato alle impostazioni di fabbrica. (In alcuni casi, ciò include anche la cancellazione della scheda SIM.)

Si è tentati di pensare che questa sia solo una vulnerabilità con il browser integrato di un telefono, ma nel caso di Android è davvero nel dialer Android predefinito: Borgaonkar ha anche dimostrato modi per eseguire il ripristino USSD utilizzando codici QR, messaggi SMS push WAP e (in il caso del Galaxy S III) anche tramite NFC. Non è necessario coinvolgere un browser. Qualsiasi app in grado di comporre un numero su un telefono Android può potenzialmente attivare un comando USSD.

Non è la fine del mondo?

La vulnerabilità potrebbe sembrare piuttosto grave, ma Hendrik Pilz e Andreas Marx della società di sicurezza tedesca indipendente AV-TEST notano che la vulnerabilità probabilmente non è molto allettante per i criminali informatici.

"Riteniamo che la maggior parte degli autori di malware potrebbe non essere interessata a sfruttare la vulnerabilità, in quanto non avrebbe senso cancellare un telefono o bloccare gli utenti", hanno affermato in una dichiarazione via e-mail. "Il malware cerca di rimanere in silenzio sul tuo sistema, quindi il tuo dispositivo mobile può essere utilizzato per qualche tipo di attività dannosa, forse criminale. Funzionerà solo con sistemi in esecuzione e funzionanti ".

Il tuo telefono è vulnerabile?

Sony Xperia P recensione fianco a fianco telefono Android samsung galaxy s3

Finora, solo i telefoni Samsung selezionati hanno dimostrato di avere un codice USSD che esegue un ripristino delle impostazioni di fabbrica. Tuttavia, ciò non significa che i telefoni di altri fornitori non abbiano codici simili che gli aggressori potrebbero utilizzare per cancellare i telefoni, causare la perdita di dati o potenzialmente anche iscrivere gli utenti a servizi costosi. Dopotutto, questo è il passatempo preferito degli autori di malware Android.

Sfortunatamente, non esiste un modo sicuro per determinare se un telefono Android è vulnerabile a un attacco basato su USSD, ma gli utenti possono verificare se i loro dialer sono vulnerabili.

È stato confermato che i seguenti dispositivi sono vulnerabili alla composizione di codici USSD da una pagina Web:

  • HTC Desire HD
  • HTC Desire Z
  • HTC Legend
  • HTC One W.
  • HTC One X
  • HTC Sensation (XE) (con Android 4.0.3)
  • Huawei Ideos
  • Motorola Atrix 4G
  • Motorola Milestone
  • Motorola Razr (con Android 2.3.6)
  • Samsung Galaxy Ace, Beam e S Advance
  • Samsung Galaxy s2
  • Samsung Galaxy S3 (con Android 4.0.4)

Ancora una volta, questo non significa che tutti questi dispositivi possano essere cancellati tramite USSD. Finora, è stato confermato che solo i telefoni Samsung selezionati possono essere cancellati tramite un comando USSD. Molti altri dispositivi possono comporre comandi USSD e ci sono anche rapporti che alcuni dispositivi che eseguono Symbian e il sistema operativo bada di Samsung comporranno comandi USSD utilizzando tel:URL.

Borgaonkar ha offerto una pagina di prova che utilizza un iframe per cercare di convincere un browser a comporre un codice USSD, in questo caso, *#06#che mostra il numero IMEI di un dispositivo:

//www.isk.kth.se/~rbbo/testussd.html

Il geek autodescritto Dylan Reeve ha anche messo insieme una rapida pagina di test che può rivelare se il tuo dialer Android elabora i codici USSD, utilizzando lo stesso *#06#codice USSD:

//dylanreeve.com/phone.php

Tuttavia, il signor Reeve non è un esperto di sicurezza mobile e, se uno fosse un attaccante che cerca di sfruttare questa vulnerabilità, l'hacking di una di queste pagine di test sarebbe un ottimo modo per causare un po 'di caos.

Come proteggersi

Android 4.1 Jelly Bean

Se hai un telefono Samsung , Samsung ha già rilasciato un aggiornamento del firmware che corregge la vulnerabilità. Dato che alcuni telefoni Samsung selezionati sono attualmente gli unici dispositivi noti che possono essere cancellati, consigliamo vivamente ai proprietari Samsung di applicare l'aggiornamento.

Aggiorna Android - Finora, non ci sono indicazioni che i dispositivi con Android 4.1 Jelly Bean siano suscettibili alla vulnerabilità USSD. Se Jelly Bean è stato reso disponibile per il tuo dispositivo e hai rimandato l'aggiornamento, ora sarebbe un buon momento. Sfortunatamente, la disponibilità di Jelly Bean sui dispositivi supportati è in gran parte a discrezione degli operatori e gli operatori di telefonia mobile sono notoriamente lenti nel certificare il nuovo software per le loro reti. Molti dispositivi vulnerabili a possibili attacchi USSD non saranno mai aggiornabili a Jelly Bean.

Usa un dialer alternativo : la piattaforma aperta di Android può offrire una soluzione alternativa: invece di fare affidamento sul dialer integrato di Android, gli utenti Android possono installare un dialer di terze parti che non consente il passaggio dei comandi USSD. Uno dei preferiti è DialerOne gratuito, che funziona con Android 2.0 e versioni successive.

Block tel: URLs - Un altro approccio consiste nel bloccare l'elaborazione degli tel:URL. Joerg Voss offre il NoTelURL gratuito che essenzialmente si pone come un dialer: se gli utenti incontrano un tel:URL (tramite un browser o scansionando un codice) verrà offerta una scelta di dialer invece di averlo elaborato immediatamente.

Esegui il backup del telefono : dovrebbe essere ovvio, ma esegui regolarmente il backup del tuo telefono Android (e di tutti i tuoi contatti, foto, contenuti multimediali e dati), vero? Che tu esegua il backup su un PC locale, su un servizio basato su cloud o utilizzando qualche altro schema, il salvataggio regolare dei dati in una posizione sicura è la migliore protezione nel caso in cui il tuo telefono venga cancellato, per non parlare di smarrimento o furto.