Nella maggior parte dei casi, le app gratuite per Android che noi tutti scarichiamo da Google Play non sono poi così “gratuite”. Gli sviluppatori non disegnano un’ app per pura bontà. Come la maggior parte dei servizi online che non richiedono il tradizionale pagamento, queste app contano sulla pubblicità e sugli in-app purchase (le vendite di software e pack aggiuntivi per le applicazioni già presenti nello store).
Durante il processo di sviluppo, il disegnatore di un’applicazione include spesso una ad library (libreria utilizzata per gli annunci pubblicitari per cellulari) di una azienda esterna. Una volta che l’app è attiva su Google Play e inizia a essere scaricata dagli utenti Android, queste aziende terze s’incaricano della pubblicità, pagando gli sviluppatori per lo spazio concesso.
Lo sviluppatore e l’utente non hanno controllo sulla ad library, né su quello che fa e le informazioni che raccoglie, sulla pubblicità che distrubuisce o come interagisce con i dispositivi dell’utente. Alcune ad library sono trasparenti e affidabili, altre possono essere ingannevoli e pericolose.
Queste ad library sono molto comuni sul sistema operativo Android e includono spesso funzionalità invadenti e fastidiose che portano con sé tutta una serie di vulnerabilità potenzialmente sfruttabili, e sono state scaricate più di 200 milioni di volte. “Spericolato” forse è l’aggettivo adatto con cui si può descrivere il comportamento di questa particolare libreria, analizzata e battezzata dai ricercatori di FireEye “Vulna”, un mix tra le parole “vulnerabile” e “aggressiva”.
Come molte ad library, Vulna ha la capacità di raccogliere informazioni sensibili come contenuti di sms, registro chiamate e rubrica. Inoltre, cosa ancora più preoccupante, gli ad di Vulna possono anche eseguire codici scaricati sui dispositivi Android, come file eseguibili, in cui sono presenti le app con la libreria in questione.
Quel che è peggio è che la lista delle vulnerabilità che riguardano i servizi di advertising offerti da Vulna consentirebbe agli hacker di sfruttare in remoto i bug, prendere il controllo di tutte le funzionalità della ad network, usandole a scopi dannosi contro l’utente che possiede il dispositivo con Vulna. In altre parole, questa libreria potrebbe essere utilizzata per mettere a punto attacchi su ampia scala dato che (e questo è il motivo per cui FireEye non ha rivelado il vero nome della libreria) sono milioni i dispositivi a cui Vulna fornisce i servizi pubblicitari
Da considerare insieme alle vulnerabilità (dovute principalmente alla mancanza di un sistema di crittografia dei dati, in entrame le direzioni, tra i server di Vulna e i dispositivi degli utenti), un hacker con un po’ di esperienza potrebbe in teoria portare a termine una qualsiasi di queste azioni: rubare codici inviati via SMS previsti dai sistemi di autenticazione a doppio fattore; visualizzare foto e file immagazzinati; installare app dannose e icone sulla schermata principale del dispositivo; cancellare file e dati; spacciarsi per il vero proprietario del telefono per portare a termine attacchi di phishing o di altro tipo; cancellare messaggi di testo, realizzare chiamate e usare di nascosto la fotocamera; cambiare i preferiti nella barra del browser sostituiendoli con siti malware. Altre azioni pericolose includono: spionaggio mentre i dispositivi in questione si connettono ad una Wi-Fi pubblica; installazione di una botnet malware; manomissione dei server DNS (domain name system) di Vulna, consentendo all’hacker di ridirezionare il traffico pubblicitario verso un sito controllato dal criminale. Questo è esattamente quello che è successo a Twitter e al New York Times in un attacco recente che ha fatto parlare molto di sé.
È difficile per un utente sapere se ha scaricato sul suo telefono una app affiliata a Vulna. Ciò è dovuto principalmente al modo con cui Vulna riceve i comandi HTTP dal controller server; il suo codice è infatti protetto e oscurato (tutto il contrario di un codice open-source), il che significa che solo i suoi creatori hanno il permesso di esaminarlo. In definitiva, è difficile sapere cosa stia facendo la ad network in determinati momenti.
Fortunatamente, dopo aver contattato Google e l’azienda responabile delle ad library Vulna, i ricercatori di FireEye sono riusciti a essere più specifici sull’identità attuale di Vulna. Durante questa settimana, FireEye ha annunciato che sia Google sia l’azienda responsabile hanno apportato diversi cambiamenti positivi. Google ha rimosso molte delle applicazioni che stavano abusando in maniera evidente della situazione, revocando loro l’account di sviluppatore. Molti sviluppatori hanno aggiornato le loro app installando gli update sulle versioni “invadenti” di Vulna; mentre altri le hanno rimosse completamente.
Sfortunatamente, molti utenti Android non istallano gli aggiornamenti delle applicazioni, rimanendo così vulnerabili alle minacce. Infatti, FireEye stima che molti dei 166 milioni di download contengono tuttora la cattiva versione di Vulna.
Naturalmente, noi raccomandiamo a tutti di installare gli aggiornamenti: se non vengono installati, non c’è molto altro che si possa fare o nessuno che vi possa aiutare. Fate anche attenzione agli adware (advertising-supported software). Le versioni a pagamento delle app possono sembrare uno spreco di denaro quando esistono app gratuite, ma la triste verità è che c’è sempre un “perché” se una app è a pagamento. Nulla è gratis a questo mondo. Come abbiamo sottolineato, molte delle app “gratuite” sono sovvenzionate dalla pubblicità e, come dimostra il caso di Vulna, è spesso impossibile sapere cosa stiano facendo le ad library e come vengano mantenute.
Immaginate per un istante che un hacker abbia manomesso i server DNS di Vulna e redirezionato tutti i click a un sito che ospita un Trojan bancario che ruba le credenziali. Milioni di utenti potrebbero trovarsi con l’account di home banking compromesso. Il costo, sia in termini di tempo che di denaro, del recupero dell’account bancario potrebbe superare certamente i 2 o 3 euro del prezzo della app a pagamento. Ovviamente, con questo non vogliamo suggerire che tutte le app a pagamento siano affidabili e che valga la pena installarle sempre. In ultima istanza, si consiglia sempre di leggere e fare attenzione ai permessi che si danno alle app durante il download e disabilitare l’opzione “Sorgenti Sconosciute” quando possibile.