Tom's Hardware Italia
Sicurezza

Come rubare le password da Android, una ricerca italiana

I ricercatori dell'Università di Genova e di Eurecom hanno scoperto un problema di sicurezza in Android che potenzialmente permette a un malintenzionato di sottrarre le password agli utenti. Un attacco che può sfruttare separatamente due elementi: i Password Manager e le Instant Apps. Lo hanno dimostrato in laboratorio il professor Alessio Merlo, Simone Aonzo e […]

I ricercatori dell'Università di Genova e di Eurecom hanno scoperto un problema di sicurezza in Android che potenzialmente permette a un malintenzionato di sottrarre le password agli utenti. Un attacco che può sfruttare separatamente due elementi: i Password Manager e le Instant Apps. Lo hanno dimostrato in laboratorio il professor Alessio Merlo, Simone Aonzo e Giulio Travella dell'Università di Genova, insieme a Yanick Fratantonio di Eurecom. Quest'ultimo ha anche dato notizia della ricerca e pubblicato la documentazione.

La funzione Instant Apps è stata introdotta da Google nel 2016 e permette di provare un'applicazione senza scaricarla, usandola via Web. I password manager (PM), sono invece servizi ormai molto diffusi che conservano le password per noi e le inseriscono quando è necessario.  Esempi famosi sono OnePassword o LastPass, ma ormai ce ne sono molti in circolazione – molti produttori di antivirus ne propongono uno (è anche un buon sistema per tenersi i clienti a lungo termine).

Usati su un desktop, i PM associano utente e password a un certo sito web. Su Android però l'associazione è con un'app installata (o no, come vedremo). L'app però non è riconoscibile di per sé stessa, ma rimanda al web per permettere alla password manager di capire cosa fare – ed è per questo che con alcune applicazioni i PM non funzionano o funzionano male.

Ebbene, è relativamente facile confezionare un'applicazione fasulla e far credere al PM che sia quella legittima. Se si prosegue con il login e si incollano le credenziali, ecco che la utente e password sono finiti nelle mani sbagliate. È necessaria un'azione dell'utente, che chieda cioè esplicitamente al Password Manager di completare le caselle con i dati in questione. Ma se l'aspetto dell'app web è credibile chiunque potrebbe cascarci.

Il punto qui non è ingannare la persona, ma appunto ingannare anche uno strumento (il Password Manager) che in teoria dovrebbe fornire un livello di sicurezza aggiuntiva, proprio per proteggere meglio chi non è bravo a farlo da solo.  

Per riconoscere un'app i PM usano un dato chiamato "package name" per individuare un'app, ma è un'informazione facile da contraffare. "I PM hanno davanti un lavoro duro", spiega Fratantonio, "perché devono mappare "package names" a "web domain names". Senza alternative migliori, usano metodi euristici che si possono ingannare. […] Le Instant Apps di Android", continua il ricercatore, "si possono usare per avviare questo tipo di attacco. I PM non controllano se un'app è del tutto installata oppure no".

La funzione Instant Apps, disponibile da Android 8 in poi, rende tutto un po' più pericoloso. Perché per scaricare un'app pericolosa bisogna in un certo senso andarsela a cercare, e se si resta all'interno del "recinto" rappresentato da Google Play i rischi sono relativamente contenuti (ma comunque maggiori di zero).

Con le Instant Apps invece basta un link che rimandi a una fantomatica versione di prova di una certa applicazione. A quel punto si può ingannare il password manager con il metodo descritto sopra, ma senza la seccatura di creare e far installare un'app confezionata ad hoc. E in particolare su questo appunto che si manifesta il rischio di phising: basta un annuncio "prova gratis questa fantastica app!" a creare il pericolo.

ia 1
ia 2
ia 3
ia 4

Fortunatamente esistono soluzioni che si potrebbero mettere in pratica anche da subito. Sempre Fratantonio nota che la mappatura dei pacchetti verso i domini web è possibile tramite Digital Asset Links (DAL), una funzione che permette a un sito di mandare un messaggio digitale che suona più o meno come "ok, puoi associare questo dominio alla tale app su Android in piena sicurezza, come dimostra questo certificato".

DAL però è utilizzata pochissimo e per questo i PM non la usano. Secondo i dati citati dai ricercatori solo il 2% circa dei siti. Se però gli sviluppatori di app cominciassero a usarla diffusamente, allora i password manager potrebbero sfruttare Digital Asset Link per assicurarsi che un'app o una versione Web sia esattamente ciò che dice di essere.

I ricercatori hanno poi sviluppato una nuova API (getVerifiedDomainNames) che potrebbe obbligare gli sviluppatori a fare la scelta più sicura. Sta ora a Google la decisione di aggiungerla ufficialmente ad Android oppure no.

"Crediamo che gli sviluppatori di Password Manager da soli non possano risolvere questo problema su scala globale", continua Fratantonio. "Speriamo che questo lavoro ispirerà la community a spingere l'adozione di DAL. Per il momento, speriamo anche Google pubblicherà la mappatura che hanno raccolto a mano".