Google e Apple hanno dato il via a un inedito sforzo congiunto per combattere la pandemia nel corso del 2020, dando vita a un framework condiviso e rispettoso della privacy, studiato nei minimi dettagli.
Pare però che Google sia stata meno diligente di Apple nell’implementare questo framework sul proprio sistema operativo, lasciando accessibili ad alcune tipologie di app i log relativi al contact tracing.
L’app covid inglese ha bloccato tanti contagi, quale lezione per Immuni
Come riporta themarkup.org, il problema consiste nel fatto che Android conserva dei log delle attività del sistema di contact tracing e che questi log sono inseriti nei log di sistema dello smartphone.
Questi log sono residenti sul dispositivo e non sono normalmente accessibili alle applicazioni.
Il problema è che alcune app particolari (quelle preinstallate dal produttore dello smartphone) possono accedere a questi log.
È il produttore che decide a quali app concedere questo accesso e solitamente si tratta di app proprietarie che potrebbero aver necessità di raccogliere log di sistema completi per risolvere bug od ottimizzare l’esperienza d’uso.
Il problema è che queste app sono tante. Secondo The Markup (che cita ricerca di AppCensus che per prima ha sollevato il problema ancora a febbraio, rimanendo però inascoltata fino a oggi) in alcuni smartphone queste app sono addirittura un centinaio!
Cosa contiene il log
Il log incriminato contiene i rolling proximity identifiers (RPI) generati dal sistema di contact tracing dell’utente e gli RPI con cui il sensore Bluetooth del nostro smartphone è entrato in contatto (insieme al MAC address del dispositivo con cui l’utente è rimasto in contatto, che però per gli smartphone è randomizzato periodicamente).
I rolling proximity identifiers sono codici pseudo casuali che variano ogni 15 minuti generati sulla base della temporary exposure key (TEK) del dispositivo.
Non è possibile ricavare la chiave TEK dai codici RPI, ma è possibile ricavare quali RPI sono stati generati da una chiave TEK. In questo modo se un utente positivo al Covid comunica la sua positività attraverso l’app di contact tracing, questa diffonde le chiavi TEK relative alle due settimane precedenti, così consentendo agli altri dispositivi di riconoscere quali codici RPI sono stati generati dal soggetto positivo. Se uno smartphone ha “raccolto” un RPI generato da quel codice TEK siamo in presenza di un contatto stretto con un soggetto che ha il Covid.
Se un’app accede al log potrà quindi ricavare unicamente i dati relativi agli RPI dell’utente e dei suoi contatti e al MAC address di dispositivi diversi da quello dell’utente, si tratta quindi di una serie di dati parziali, che comunque innegabilmente possono in potenza far conoscere a queste app dei dati sanitari degli utenti.
E questo è in aperto contrasto con quanto promesso da Google nel presentare il sistema di contact tracing sviluppato insieme ad Apple.
Un malintenzionato potrebbe infatti utilizzare questi dati per conoscere lo stato di salute dell’utente (risalendo attraverso dati acquisiti dall’app all’identità dell’utente, acquisendo il log e poi associando gli RPI ai TEK dei soggetti che sono risultati positivi e l’hanno comunicato tramite l’app), ma gli usi potenziali di questi dati non si fermano qui.
I dati stessi (specie se acquisiti in massa e sempre associandoli ad altri dati detenuti dall’applicativo “privilegiato” in grado di interrogare il system log di Android) potrebbero essere determinati per comprendere gli spostamenti dell’utente o per determinarne le relazioni sociali (a seconda dei codici RPI con cui l’utente interagisce in prevalenza).
Chiaramente stiamo parlando di scenari poco verosimili, ma è evidente che un simile rischio avrebbe dovuto essere eliminato fin da subito da Google.
E invece il problema era presente fin dalla prima implementazione del sistema di contact tracing in ambiente Android e solo oggi è in corso di risoluzione.
La reazione di Google
Una volta che The Markup ha contattato Google, un portavoce ha risposto che l’azienda è da qualche settimana al lavoro per risolvere la problematica e che nei prossimi giorni il problema verrà risolto su tutti gli smartphone con sistema operativo Android.
Google ha poi minimizzato il problema evidenziando come non vi siano evidenze di un’effettiva raccolta dei dati di log da parte di applicativi autorizzati (per errore) ad accedervi e che comunque le informazioni condivise non permettono di risalire all’identità del soggetto.
Sebbene Google abbia in parte ragione nel tranquillizzare gli utenti, è anche vero che si tratta di un bug grave e che avrebbe dovuto essere risolto immediatamente dal colosso di Mountain View, mentre dalle affermazioni di AppCensus sembra emergere un colpevole ritardo da parte di Google nel risolvere il problema (per quanto fosse banale modificare il codice per evitare di loggare i dati relativi al contact tracing).
Inoltre sebbene sia vero che non ci sono prove di un’effettiva raccolta dei dati di contact tracing da parte degli applicativi (peraltro nella stragrande maggioranza dei casi direttamente riferibili a produttori di smartphone che fatichiamo a immaginare imbarcarsi in un illecito trattamento di dati sanitari), non è altrettanto vero che le informazioni di contact tracing non possano essere utilizzare per identificare il soggetto che fornisce i dati, è evidente infatti che se l’app che chiede i dati di log è a conoscenza della nostra identità ben potrà associarla ai dati di log relativi al contact tracing di cui è venuta per errore (di Google) a conoscenza.
Quali sono i rischi?
Nonostante la giusta critica nei confronti di Google per questo errore evitabile, è opportuno però ridimensionare le preoccupazioni per gli utenti che abbiano scaricato sui propri smartphone Android l’app Immuni, che sfrutta il framework per il contact tracing di Apple e Google.
Ci sono infatti alcuni fattori che ci possono far sentire relativamente tranquilli con riguardo ai nostri dati e, in particolare:
- Solo poche app “speciali” possono aver avuto accesso ai log, di solito si tratta di app preinstallate dai produttori dei device ed è quindi difficile immaginare che questi colossi del settore hardware siano interessati a un uso illecito dei nostri dati, per di più potendo ricavare dati ben poco “incisivi” sulle nostre abitudini di consumo.
- Non ci sono prove che alcuna di queste app abbia avuto accesso ai dati di contact tracing e nemmeno che i relativi sviluppatori ne fossero a conoscenza (va anche precisato che i log vengono inviati solo se l’utente sceglie di condividerli nelle impostazioni o in singoli casi per riportare un’anomalia).
- I dati a cui queste app potrebbero aver avuto accesso sono i rolling proximity identifiers (RPI), che l’app genera e riceve, si tratta di codici pseudo casuali che cambiano ogni 15 minuti e vengono a loro volta ricavati dal codice TEK del dispositivo (è possibile risalire dal codice TEK agli RPI ma non viceversa), chi fosse entrato in possesso dei dati potrebbe quindi ricavare le condizioni di salute dell’utente solo andando a cercare fra i TEK dei positivi pubblicati dalle autorità e combinando il dato.
- Il problema è in corso di risoluzione secondo quanto dichiarato da un portavoce di Google nei giorni scorsi.
Non c’è quindi ragione di preoccuparsi eccessivamente né questo problema può giustificare, a parere di chi scrive, la disinstallazione di un applicativo che può ancora dare una mano nella lotta al Covid e che, salvi alcuni errori e sviste, resta un impianto ben progettato frutto di uno sforzo incredibile per mettere la tecnologia al servizio della lotta alla pandemia, progettato per essere rispettoso della privacy degli utenti.
Ed è proprio questa sua progettazione privacy oriented che gli consente di minimizzare i danni anche in presenza di una svista di programmazione come quella di cui ci stiamo occupando ora.
Il problema del digital divide
Il vero nodo da sciogliere alla luce di questo errore è quello delle strade diverse che stanno prendendo Apple e Google nella gestione della privacy degli utenti.
Mentre Apple può giovare del fatto che guadagna con la vendita dei propri dispositivi (e dell’ecosistema che ruota intorno agli stessi) virando con decisione verso una maggiore tutela della privacy degli utenti (cosa che sta facendo con il sistema App Tracking Transparency introdotto con iOS 14.5) Google fatica a tenere il passo perché significa sacrificare uno dei propri core business (quello dell’online advertisement).
Apple paladina della privacy, ma a spese delle piccole imprese
Allo stesso modo mentre Apple non deve condividere con nessun produttore terzo i propri dati, avendo costruito un sistema integrato di hardware e software, Google necessita di una sinergia il più possibile trasparente con i produttori di smartphone per far funzionare il proprio modello di business, che si basa sulla scelta dei produttori in favore del suo sistema operativo, scelta che avviene anche perché ai produttori è consentito un trattamento preferenziale e un più esteso accesso a determinate funzioni e dati al fine di personalizzare la loro particolare e personale versione del software Android.
Anche in questo caso assistiamo quindi al riproporsi del problema del digital divide, con la privacy che viene garantita in maniera più scrupolosa sui (più costosi) dispositivi Apple, mentre la controparte Google rimane vittima delle obbligate sinergie con i produttori di hardware che costituiscono la spina dorsale del modello di business Android.
Sebbene nel caso in esame stiamo parlando di un problema di programmazione, certo non voluto, è evidente che Google sia in una situazione più difficile di Apple, dovendo condividere dati con partner strategici e ricavando una fetta ingente dei propri guadagni dall’online advertisement.
Questa situazione rischia di creare un diaframma sensibile fra Apple e Google dal punto di vista della privacy, che rischia di trasformare la privacy da diritto basilare dei cittadini a “servizio premium” concesso solo a chi può permetterselo.