Delle app di contact tracing si sta parlando molto, in questi giorni, in merito a questioni privacy e a come i dati saranno gestiti dai governi o dalle autorità sanitarie: si parla molto meno, invece, delle problematiche di cyber security di queste app (che sono connesse, ovviamente, anche alla protezione dei dati degli utenti) e di quanto non solo le app stesse ma anche le infrastrutture che le sorreggono risultino esposte ad attacchi di soggetti terzi o ad altri interventi malevoli. Ed infine, di quale impatto sulla sicurezza può avere l’uso di specifiche di sviluppo aperte o chiuse, oltre alle loro diverse implementazioni.
Indice degli argomenti
App di contact tracing: come funzionano
Alla base, il concetto di contact tracing è semplice: ognuno di noi porta con sé un beacon, ovvero un dispositivo bidirezionale capace di emettere un segnale che può essere ricevuto da chiunque sia fisicamente prossimo a noi.
Questo beacon – che può assumere varie forme, da un braccialetto Bluetooth a uno smartphone con relativa app – si fa carico di calcolare la durata del contatto e la distanza a cui è avvenuto.
Le implementazioni possibili sono innumerevoli ma il concetto è che quando un individuo viene identificato come infetto da Covid-19, un sistema centrale si fa carico di segnalare l’evento a tutti coloro che sono stati esposti alla persona infetta.
Le persone segnalate dovrebbero quindi entrare in quarantena (o essere controllate dal sistema sanitario, ma tutto quello che avviene successivamente alla segnalazione è responsabilità del governo e non più dell’app).
È importante notare che il contact tracing non implica la geolocalizzazione, ovvero è possibile tracciare i contatti senza avere alcuna informazione sulla posizione geografica degli individui coinvolti.
Ora che abbiamo inquadrato la situazione, cerchiamo di capire i problemi che queste app dovranno farsi carico di gestire e perché un’implementazione affrettata può essere pericolosa per la popolazione.
Il primo tra tutti è che quando un’app è capace di trasmettere dati che vengono ricevuti da altri dispositivi, si apre il fianco ad una vasta gamma di attacchi che non esistono sui canali tradizionali, che vanno dall’app verso un server centrale e viceversa.
Questo perché mentre un’app si fida del server centrale (quella che in gergo si chiama trusted party), non si può – né deve – fidare di una terza parte, come ad esempio un altro telefono, perché i dati da esso inviati potrebbero essere alterati ad-hoc per convincere la nostra app a comportarsi diversamente da come dovrebbe.
App di contact tracing: i framework
Ad oggi sono emersi 5 framework per il contact tracing: PEPP-PT, Google/Apple Privacy Preserving Tracing Project (GA-PPTP), DP-3T, Blue Trace e TCN. Ogni framework ha diverse caratteristiche che possiamo riassumere brevemente in:
- Specifiche
- aperte: GA-PPTP, DP-3T, Blue Trace, TCN
- proprietarie: PEPP-PT
- Implementazione
- open source: DP-3T, Blue Trace, TCN
- proprietaria: PEPP-PT, GA-PPTP
- Controllo
- decentralizzato: DP-3T, TCN, GA-PPTP
- centralizzato: PEPP-PT, Blue Trace
Menzione a parte va fatta per la gestione della privacy perché ogni framework adotta differenti strategie con relativi pro e contro.
Analizziamo ora queste caratteristiche nel dettaglio.
Specifiche
Restringere l’accesso alle specifiche di un framework destinato ad un utilizzo di massa ha poco senso perché difficilmente possono essere condotti studi indipendenti da parte della comunità di esperti per verificare che non ci siano falle logiche. La preferenza dovrebbe quindi cadere verso framework aperti.
Implementazione
Il dettaglio implementativo è importante se si decide di sviluppare applicazioni proprie, invece che affidarsi ai provider (come Google ed Apple) che hanno già il controllo dei dispositivi. Un framework open source consente alla comunità di verificare che la specifica sia stata implementata senza errori che potrebbero avere conseguenze disastrose.
Un esempio è l’applicazione TraceTogether di Singapore che, almeno in fase iniziale, includeva oltre al codice dell’app un tracker governativo che di fatto rendeva completamente vano il tentativo di anonimizzare i dati. Il tracker è stato rimosso dopo la pubblicazione della scoperta da parte di un analista.
Controllo
Il concetto di decentralizzazione è alla base dell’anonimato: se l’informazione sui contatti viene gestita e archiviata da un ente centrale, l’ente centrale a tutti gli effetti si può comportare come un sistema di sorveglianza di massa.
Il rischio riguarda come e da chi questi dati verranno acceduti, e per quanto tempo verranno archiviati.
Il secondo grande problema è che questi dati hanno un enorme valore di intelligence, e non è difficile pensare che threat actor governativi e cyber criminali dedicheranno tempo e risorse per cercare di appropriarsene. E, se la storia ci insegna qualcosa, molto probabilmente ci riusciranno.
Ci sono comunque delle parziali alternative: un sistema centralizzato capace di tutelare (ma non assicurare) la privacy è possibile se vengono inseriti degli intermediari tra gli utenti del sistema e il server principale. Ogni intermediario può avere accesso solo ad una parte dell’informazione, manipolarla in maniera crittograficamente sicura e poi spedirla al server finale.
Questo middleware, sebbene resti un punto di vulnerabilità, renderebbe possibile l’abuso solo se tutti gli intermediari si accordassero tra loro: non rappresenta dunque una garanzia di sicurezza, ma quantomeno una compromissione volontaria richiederebbe la collusione di tutte le parti.
Chiaramente gli enti sanitari ed i governi potrebbero decidere per un approccio meno privacy-oriented perché consentirebbe loro di tracciare attivamente i casi infetti, una funzionalità utile se l’app, come avviene in Cina, avesse anche funzionalità di law enforcement e non solo di notifica.
Riassumendo: la scelta dovrebbe cadere su un framework con specifiche aperte, implementazione open e controllo decentralizzato. Immuni si rifarà invece a PEPP-PT, forse il framework meno desiderabile tra tutti, senza ancora riferimenti precisi su quale dei sotto-protocolli utilizzeranno. Immuni oltretutto è in grado di utilizzare anche la geolocalizzazione tramite GPS, sebbene ancora non sia stato comunicato se quest’ultima funzionalità verrà abilitata o meno.
Le app di contact tracing e la deanonimizzazione
In tempo di emergenza in molti sono d’accordo ad accettare compromessi sulla privacy se in gioco c’è la sicurezza di tutti. Tuttavia, come per ogni scelta, dobbiamo analizzarne le possibili conseguenze.
La Corea del Sud, presa come esempio d’eccellenza riguardo l’efficacia del contact tracing, ha già avuto a che fare con una serie di fenomeni social interessanti. I cittadini che hanno avuto un contatto con una persona infetta vengono notificati con un messaggio che indica dove è avvenuto il contatto.
Questa notifica ha scatenato una sorta di caccia alle streghe dove i notificati hanno incrociato le loro informazioni per deanonimizzare gli infetti. Il povero malcapitato si ritrova quindi ad essere identificato pubblicamente e, a seconda delle circostanze, anche colpevolizzato.
Il Guardian, ad esempio, menziona la storia di un uomo accusato pubblicamente di sfruttamento della prostituzione per essere stato tracciato in una zona di Seoul nota per il traffico di prostitute. È stato poi rivelato che l’unica sua “colpa” era stata quella di essersi fermato a cena in un ristorante del quartiere.
E non mancano esempi anche nell’altra direzione, ovvero dove alcuni si recavano di proposito in ristoranti o locali specifici per poi dichiararsi infetti e far diramare la notifica con conseguente chiusura dei locali visitati dal finto infetto.
Il problema degli infetti fantasma
Il segnale Bluetooth tipicamente viaggia per pochi metri, ma con una piccola antenna si possono ricevere segnali anche da svariate centinaia di metri di distanza.
Immaginiamo il caso di un attaccante che inizi a registrare tutti i beacon (gli identificativi inviati dall’app di contact tracing) dei pazienti che entrano o escono da un ospedale: essendo zona sensibile le possibilità di catturare il beacon di un infetto sono alte.
A questo punto diventa semplice andare in giro per la città, o in posizioni di interesse, e ritrasmettere i beacon, creando quindi dei contatti “fantasma” e generando dei cluster di infezione assolutamente inesistenti, ma che comunque aggraverebbero il carico del sistema sanitario, o costringerebbero centinaia di persone ad una quarantena completamente evitabile.
Ci sono ovviamente delle mitigazioni per attacchi di questo genere, ma se queste non fanno già parte del framework adottato dall’app, potrebbero non essere inserite dall’inizio e aprire quindi una falla in grado di causare enormi danni all’infrastruttura sanitaria e ai cittadini.
Non dobbiamo assolutamente dimenticare che un’applicazione attiva, e che trasmette in continuazione, è una fonte incredibilmente appetibile di informazione per una miriade di entità che, lasciata la porta aperta, non tarderanno ad approfittarne.
L’opzione proposta da Google e Apple
L’alternativa proposta da Google e Apple non è da scartare a priori. Entrambe le aziende già tracciano ognuno di noi in maniera capillare: a differenza di molte altre già hanno una struttura solida ed evoluta per l’archiviazione ed il trattamento dei dati, personali e non, e hanno risolto il problema della gestione di comunicazioni e traffico dati su larghissima scala.
Oltretutto, combinate tra loro, la copertura a livello di mercato è di oltre l’80%. Fattore fondamentale affinché il contact tracing funzioni a dovere: l’NHS, utilizzando i modelli di Taiwan e Corea del Sud e loro simulazioni, ha rilevato che senza un utilizzo da parte di una vasta maggioranza della popolazione (si parla dell’80%) il contact tracing non porta benefici.
Le posizioni dominanti di Google ed Apple consentirebbero di raggiungere questi numeri nel giro di pochi giorni. Oltretutto, questo approccio risolverebbe alla base il problema di dotare delle capacità di tracciamento i dispositivi delle categorie più deboli (ad esempio gli anziani) che potrebbero non essere in grado di farlo in autonomia.
Esempio delle problematiche di bassa adozione è nuovamente Singapore: nonostante l’adozione del contact tracing dall’inizio della pandemia – attivato però solo dal 12% della popolazione – e senza politiche di lockdown, è dovuta tornare sui propri passi (ed imporre invece una quarantena stretta) a fronte di una forte ondata di infezioni partita proprio nella seconda settimana di aprile.
Va da sé che aggiungere una capacità di tracciamento nativa all’interno di Android e iOS farebbe sicuramente gola a molti (aziende produttrici e governi inclusi) ed andrebbe fatto con i dovuti paletti da definirsi e fissarsi prima di partire con un progetto di massa. Ovvero non deve poter esistere l’opzione di attivare un sistema del genere senza una ben definita e ragionevole data di dismissione.
Il mercato degli infetti
Consci del fatto che la pandemia non finirà domani, anzi che dobbiamo armarci di pazienza sul lungo termine, si può pensare ad altri fenomeni distopici, ma non troppo, che potrebbero emergere con la diffusione capillare del contact tracing.
Il beacon di un infetto può avere un valore economico non indifferente. Immaginiamo il caso in cui tramite attacco tecnologico (o anche di prossimità fisica) si riesca a stabilire un contatto con un infetto, il nostro beacon diventerebbe “infetto” a sua volta. Potremmo quindi, dotati di una semplice antenna o nuovamente per prossimità fisica, prendere di mira una specifica persona, farla marcare dal sistema come potenzialmente infetta ed utilizzare l’informazione per fare insider trading, metter fuori gioco un competitor scomodo o influenzare delle negoziazioni.
Come già detto, esistono delle mitigazioni per questo tipo di “attacco”, ma resta il fatto che conoscere, controllare o poter replicare il beacon di un infetto potrebbe diventare uno strumento di leva commerciale, finanziaria o di intelligence che fino a poco prima non si sarebbe neanche immaginato.
La situazione si potrebbe esacerbare ulteriormente se venissero applicati i cosiddetti “certificati di immunità”, ovvero dei “bollini” elettronici, assegnati da un ente sanitario ad una persona fisica, che consentirebbero di provare il proprio stato di immunità, e quindi essere utilizzati per autorizzare una persona a tornare al lavoro, circolare e via dicendo.
Se questi venissero veicolati dall’app per il contact tracing, è ragionevole pensare che emergeranno gruppi criminali dedicati a generare tali certificati su richiesta a fronte di pagamento.
Cosa farne del contact tracing
Il contact tracing è una misura di controllo che scegliamo di imporci per accelerare il ritorno alla normalità – o quello che ne sarà del post-pandemia – e per mitigare le conseguenze di successive ondate di infezioni, se e quando dovessero presentarsi.
Un modello in Machine Learning del MIT ha mostrato – e siamo chiari: non che ce ne fosse bisogno – che l’allentamento delle misure di quarantena porterà ad un ritorno delle infezioni in maniera esponenziale.
In ogni caso il contact tracing per essere efficace dovrà essere sostenuto non solo da una tecnologia solida, capace di minimizzare il rischio di attacchi, gestirne le conseguenze e ad andare avanti, ma anche da un sistema capace di dialogare in continuazione con gli esperti epidemiologi.
Senza questo continuo dialogo, confronto, evoluzione e supporto anche da parte di un adeguato sistema sanitario, il contact tracing rischia di far più danni di quanti invece ne potrebbe prevenire.