Tante app Android pubblicate nel Play Store di Google contengono componenti traccinati (tracker): alcuni sono innocui, altri possono costituire un rischio per la propria privacy.
I tracker sono componenti software il cui obiettivo principale è quello di raccogliere informazioni sul soggetto che sta usando l’applicazione, sulle modalità con cui l’app viene adoperata, sullo smartphone in cui essa è installata. Vengono generalmente messi a disposizione degli sviluppatori (non soltanto Android ma anche iOS) sotto forma di pacchetti preconfezionati (SDK).
Non tutti i tracker sono uguali: alcuni sono progettati per gestire i crash delle applicazioni raccogliendo informazioni sui problemi eventualmente presentatisi, altri per conoscere meglio gli utenti che usano ciascuna app (analytics).
Altri tracker forniscono strumenti per la profilazione degli utenti permettendo di memorizzare e successivamente di analizzare quante più informazioni possibile sugli utenti, altri aiutano a identificare gli utenti, a mostrare messaggi pubblicitari a geolocalizzare i dispositivi client.
Generalmente sono gli sviluppatori delle singole applicazioni a decidere se integrare uno o più tracker al fine di coprire varie esigenze. In alcuni casi l’obiettivo è semplicemente quello di conoscere meglio il proprio audience mentre in altri monetizzare i dati raccolti trasferendoli a soggetti terzi (che li utilizzano per le loro finalità di business e per rivenderli ad altri). In epoca GDPR questi trattamenti dovrebbero essere meno comuni e più complicati da porre in essere, anche perché gli utenti debbono essere puntualmente informati sulla natura e sulle finalità della raccolta dei dati personali.
Eppure, come si conferma sul sito di Exodus Privacy, organizzazione francese senza scopo di lucro che si occupa di verificare il comportamento delle app Android e rilevare la presenza di tracker, la situazione è divenuta oggi ancora più complessa.
Mentre le Autorità tendono a concentrarsi molto sui trattamenti di dati effettuati da parte dei gestori di siti web, quanto accade da tempo nel mondo delle app per i dispositivi mobili appare come una vera giungla all’interno della quale molte delle attività svolte e quindi gran parte dei trasferimenti posti in essere appaiono quasi imperscrutabili.
Analizzare il comportamento di un’app Android risulta, almeno per “i comuni mortali”, piuttosto complicato. Nell’articolo Bloccare app Android con un firewall e verificare quelle che tracciano gli utenti e nel successivo Accesso Internet app Android e uso della connessione dati: come impostarli abbiamo visto come si possa usare un’applicazione come NetGuard per impedire trasferimenti di dati da parte delle varie app.
In molti casi bloccando tutto il traffico in uscita prodotto da una specifica app Android si rischia di comprometterne il funzionamento. Un buon approccio per valutare il comportamento di un’app, quindi, consiste nel controllare quali permessi utilizza e chiedersi il motivo per cui, ad esempio, ne sfrutti alcuni non strettamente necessari: App Android pericolose per la sicurezza e la privacy.
Anche una scansione delle app installate con un’applicazione antivirus per Android (a patto che sia nota e universalmente apprezzata) – vedere l’articolo Antivirus Android: no, non è affatto inutile per qualche suggerimento – aiuta tantissimo nell’individuazione delle applicazioni potenzialmente pericolose.
Sì, perché alcune app Android possono essere all’apparenza innocue (quindi non contenere alcun malware) – come la maggioranza di quelle pubblicate sul Google Play Store – ma ospitare comunque tracker pericolosi per la privacy degli utenti.
Gli esperti del progetto Exodus Privacy sostengono di aver trovato app Android con più di 30 tracker integrati. Inoltre, in oltre 37.000 app Android esaminate estrapolandole dal Play Store di Google, Exodus Privacy ha individuato quasi 160 tracker differenti.
Segnaliamo poi il caso di app Android pubblicate sul Play Store che iniziano a installare malware e ad esporre lo smartphone a rischi di attacco da remoto: Alcune app Android pubblicate sul Play Store scaricavano malware sui dispositivi.
Gli sviluppatori talvolta non sono neppure ben consapevoli circa la natura dei tracker che inseriscono nelle loro app Android.
Non prestando particolare attenzione sul comportamento di ciascun oggetto software di terze parti, il tracker potrebbero per esempio estrarre la rubrica completa o una lista delle app installate e inviarle verso server remoti, nella maggior parte dei casi fuori dai confini dell’Unione Europea. In combinazione con altri frammenti di dati raccolti dai tracker (spesso si parla, a torto, di informazioni raccolte in modo anonimo) soggetti terzi possono risalire all’identità dei singoli utenti e comporre una sorta di “rete sociale”, con le informazioni su colleghi e conoscenti.
Come scoprire il comportamento delle app Android installate e accertare la presenza di eventuali tracker
Per controllare se un’app Android utilizzi o meno qualche tracker bisognerebbe effettuarne la decompilazione. La maggior parte degli sviluppatori, tuttavia, proibisce qualunque attività di reverse engineering: il progetto Exodus Privacy utilizza un piccolo trucco che sfrutta la peculiarità di Android per elencare alcuni dettagli relativi al “dietro le quinte” delle applicazioni.
Un APK, infatti, è sostanzialmente soltanto un file Zip che ospita le informazioni sul layout dell’applicazione oltre ai cosiddetti file DEX, che contengono solo la parte dell’app scritta in Java o Kotlin e le librerie utilizzate. Tali file conservano i nomi di tutte le classi adoperate dall’app Android in chiaro, nomi delle librerie incluse compresi.
Questi elementi consentono di trarre velocemente conclusioni sulla natura e sul comportamento dell’app Android senza dover esaminare il codice da vicino.
Per automatizzare l’analisi delle app Android alla ricerca di tracker e permessi troppo ampi utilizzati dalle applicazioni installate sui propri dispositivi, è possibile installare Exodus Privacy.
Per ciascuna app installata sul dispositivo Android Exodus Privacy indica il numero di tracker che sono stati rilevati e le autorizzazioni richieste.
Con Exodus Privacy è possibile ottenere preziose informazioni sulle app Android ancor prima della loro installazione: il progetto utilizza il comando dexdump
(vedere più avanti) e gestisce un ricco database con i dettagli su ciascuna applicazione. Basta visitare la home page di Exodus Privacy e digitare il nome dell’app Android che si desidera controllare nella casella Application name.
Si può anche digitare l’identificativo univoco dell’app che compare nella barra degli indirizzi, visitando la pagina corrispondente sul Play Store di Google.
Nella pagina successiva, si potranno verificare i tracker eventualmente presenti (insieme con la loro identità) e i permessi richiesti.
Cliccando sul nome del tracker è possibile saperne di più e conoscere i soggetti che gestiscono le raccolte di dati.
Analizzare il comportamento delle app Android con Dexdump
Dicevamo che Exodus basa il suo funzionamento sullo strumento Dexdump: realizzato da Google, esso permette di effettuare una scansione dei file APK.
Noi abbiamo provato a utilizzare Dexdump da un sistema Linux Debian avviando l’installazione del tool con il comando seguente:
L’installazione di Dexdump si può richiedere anche in una macchina virtuale WSL Ubuntu creata con Windows 10: Linux in Windows: come, quando e perché utilizzarlo.
Supponendo di avere già a disposizione il file APK dell’app Android che si vuole esaminare (vedere anche App backup su Android: come si fa), basterà digitare dexdump nomeapp.apk | grep "Class descriptor" | sort | uniq
In questo modo si otterrà la lista completa delle classi utilizzate nell’applicazione Android. Il nome della classe (“Class descriptor“) aiuta a capire a colpo d’occhio se fossero presenti tracker potenzialmente pericolosi.
Altre informazioni sulle app Android installate possono essere reperite sul sito AppBrain.