Alcuni ricercatori dell’università tedesca di Ulm hanno riscontrato che i terminali Android connessi ad una rete tramite Wi-Fi sono vulnerabili al furto di informazioni.
Ciò che colpisce dello studio non è tanto la vulnerabilità in sé, quanto piuttosto l’alto rischio derivante dalla sua diffusione: la ricerca, infatti, fa emergere un dato allarmante, ossia che il 99,7% degli apparati che usano Android sono in pericolo; questo perché le versioni a rischio sono tutte quelle precedenti alla 2.3.4, rilasciata solo qualche giorno fà.
La vulnerabilità risiede nel fatto che alcune applicazioni, in fase di autenticazione, trasmettano le informazioni in chiaro, permettendo così ad un malintenzionato connesso alla stessa LAN di sottrarre facilmente dati altrui semplicemente sfruttando le API di Google.
E’ facile immaginare quali siano i rischi se, ad esempio, ci si connette ad una rete wireless pubblica e magari anche aperta.
Lo studio dei ricercatori tedeschi prende spunto da un’analisi condotta in precedenza da Dan Wallach, il quale in un post sul suo blog dichiara di aver scoperto che alcune applicazioni Android tramettono dati in chiaro, dando così la possibilità ad un attaccante di intercettare informazioni.
Alla luce dello studio di cui sopra, i ricercatori dell’Università di Ulm si sono chiesti se effettivamente fosse possibile perpetrare quanto descritto da Wallach e, sfortunatamente, il responso non solo ha dato ragione a quest’ultimo, ma ha anche evidenziato una certa facilità di esecuzione dell’attacco.
La vulnerabilità, inoltre, non è limitata alle applicazioni Google Calendar e Contatti, bensì potrebbe teoricamente interessare tutti i servizi che utilizzano ClientLogin come protocollo di autenticazione per accedere alle API.
Per quanto concernce l’applicazione Google Calendar, le implicazioni di questa vulnerabilità spaziano dalla divulgazione alla perdita di dati personali; nel caso dell’applicazione Contatti, invece, le ripercussioni potrebbero essere più gravi: un malintenzionato infatti potrebbe, ad esempio, modificare l’indirizzo e-mail di un contatto in modo da poter ricevere al suo posto la corrispondenza di suo interesse.
ANATOMIA DELL’ATTACCO
ClientLogin è pensato per essere usato come meccanismo d’autenticazione, sia dalle applicazioni Android che da quelle terze parti. Il suo funzionamento è il seguente:
In pratica, per utilizzare ClientLogin, un’applicazione deve richiedere un token di autenticazione (authToken); questa richiesta viene effettuata fornendo account e password al servizio Google attraverso una connessione HTTPS; il codice generato a fronte della richiesta può essere utilizzato per tutte le successive richiesta all’API di servizio e ha una validità massima di due settimane.
Se l’authToken è utilizzato su una connessione HTTP, quindi senza offuscamente delle informazioni, un malintenzionato è in grado di catturarlo e utilizzarlo illecitamente per accedere ai dati personali dell’utente. L’attaccante, ad esempio, potrebbe visualizzare, modificare o eliminare qualsivoglia contatto, evento del calendario o foto. L’accesso non è limitato agli elementi che si stanno sincronizzando in quel momento, ma vale per tutti quelli presenti sul dispositivo dell’utente colpito.
Un attaccante potrebbe raccogliere un considerevole numero di authToken configurando un access point Wi-Fi con un SSID omonimo a quello di una rete pubblica diffusa (evil twin ), ad esempio provinciawifi a Roma. In maniera predefinita, infatti, i terminali Android si connettono automaticamente a una rete a cui ci si è già connessi in passato e a questo punto molte delle applicazioni tenterebbero di sincronizzarsi immediatamente; a meno che l’attaccante non inoltri le richieste, la sincronizzazione fallisce, ma nel frattempo questi è entrato in possesso di tutti i codici di autenticazione richiesti dai servizi.
Vista la lunga durata degli authToken, il malintenzionato può catturare un gran numero di codici e farne uso comodamente in seguito.
E’ bene notare che la vulnerabilità non è limitata alle sole applicazioni Android standard, ma colpisce anche applicazioni desktop che si autenticano ai servizi Google mediante il protocollo ClientLogin su HTTP anziché HTTPS, come ad esempio l’add-on di Google Calendar per Thunderbird se gli URL del calendario non utilizzano HTTPS.
Azioni atte a contrastare la vulnerabilità possono essere intraprese a più livelli: può farlo Google ma possono farlo anche sviluppatori e utenti. Questo post prende in esame solo quest’ultimi, mentre per il testo completo si rimanda al bollettino pubblicato dall’università tedesca. Ecco cosa possono fare gli utilizzatori finali:
- Aggiornamento di Android: se possibile, è necessario aggiornare quanto prima il sistema operativo alla versione 2.3.4 o superiore;
- Sincronizzazione: nel menù delle impostazioni della connessione, disabilitare la sincronizzazione automatica quando ci si connette a reti Wi-Fi aperte;
- Riconnessione automatica: onde evitare di collegarsi automaticamente ad una rete wireless aperta conosciuta, quest’ultima va eliminata dalla lista delle reti note presenti sul terminale;
- Cautela: la migliore protezione al momento consiste nell’evitare di connettersi a reti pubbliche aperte quando si utilizzano le applicazioni interessate dalla vulnerabilità.
Note Bibliografiche ¬
Bastian Könings, Jens Nickels e Florian Schaub. “Catching AuthTokens in the Wild
The Insecurity of Google’s ClientLogin Protocol“, The University of Ulm, 13-05-2011 (consultato il 18 maggio 2011)
Davide Fasola. “Il 99% dei terminali Android è vulnerabile”, Hwupgrade.it, 17-05-2011 (consultato il 18 maggio 2011)
Risorse Utili ¬
Analisi del professor Dan Wallach da cui hanno preso spunto i ricercatori tedeschi
Lascia un commento