Le vulnerabilità del contact tracing che dobbiamo studiare

0
93
Questo post è stato pubblicato qui
App per il contact tracing contro il coronavirus (Getty Images)
App per il contact tracing contro il coronavirus (Getty Images)

di Alessandro Armando (Università di Genova), Mario A. Bochicchio (Università del Salento), Francesco Buccafurri (Università Mediterranea di Reggio Calabria), Alberto Marchetti Spaccamela (Sapienza Università di Roma), Fabio Massacci (Università di Trento), Francesco Palmieri (Università di Salerno), Paolo Prinetto (Politecnico di Torino), Silvio Ranise (Fondazione Bruno Kessler)

Questo articolo è frutto di una selezione tratta dal white paper Considerazioni su privacy e security delle app di proximity tracing, scritto dal gruppo di lavoro sul contact tracing del Laboratorio nazionale di cybersecurity del Cini.

Da mesi si parla, in Italia e nel mondo, di tracciamento dei contatti tramite gli smartphone e di come questa pratica possa aiutare ad arrestare la diffusione del coronavirus. L’obiettivo è duplice: da un lato informare le persone che sono state vicine a qualcuno che è portatore del virus; dall’altro monitorare la diffusione dell’agente patogeno in modo da valutare l’efficacia complessiva delle misure di confinamento e di prevenzione. In ambedue i casi lo scopo è di fermare, il prima possibile, la diffusione di un male che in poco tempo ha costretto l’intero pianeta a modificare la propria quotidianità.

Al fine di meglio comprendere le scelte fatte in Italia e altrove, e le difficoltà che ciascuna di queste comporta, il Laboratorio nazionale di cybersecurity del Cini (Consorzio interuniversitario nazionale per l’informatica) ha costituito un gruppo di lavoro composto da esperti e accademici, che si è posto l’obiettivo di tenere traccia dei sistemi di contact tracing e delle possibili vulnerabilità a essi collegate. Il primo risultato di questa iniziativa consiste nella pubblicazione di un white paper (Considerazioni su privacy e security delle app di proximity tracing, qui la versione integrale) nel quale si sono riassunte le conclusioni del gruppo di lavoro, che si è concentrato sulle minacce per la privacy e la sicurezza dei sistemi di tracciamento. 

Dal contact tracing manuale a Immuni

Da sempre affidato a operatori umani opportunamente formati, il tracciamento dei contatti  è stato utilizzato con successo, in combinazione con altre strategie, per controllare ed eliminare, malattie infettive importanti, quali il vaiolo.

Nel caso del coronavirus, individuato un caso indice (ovvero un portatore del contagio), il processo prevede la realizzazione di una serie di interviste volte ad acquisire informazioni utili per ricostruirne lo stato di salute, gli spostamenti e la lista di persone con cui potrebbe essere venuto a contatto. Realizzato da operatori umani, il contact tracing è strettamente integrato con l’esecuzione dei tamponi e raccoglie una grande quantità di dati personali sugli individui coinvolti.

Per fronteggiare più efficacemente la pandemia di Covid-19 si è proposto di agevolare il compito degli operatori tramite il proximity tracing (dall’inglese, tracciamento di prossimità), che grazie alla tecnologia di cui sono dotati gli smartphone permette di identificare delle situazioni in cui due o più entità (che possono essere oggetti, veicoli o persone) si trovano a una determinata distanza tra loro per un dato intervallo temporale. Uno dei modi possibili per raggiungere questo scopo è mediante l’utilizzo della tecnologia Bluetooth.

Tuttavia, per incentivare l’adesione di questo strumento è necessario che esso offra garanzie adeguate per la tutela della privacy dei soggetti coinvolti, che sono riassumibili in pochi principi “guida”: adesione volontaria, massima tutela della privacy, interoperabilità dei protocolli sia a livello nazionale – il mercato degli smartphone è estremamente eterogeneo – sia a livello internazionale, per un pieno ripristino dell’area Schengen.

In questa direzione si sono mossi i colossi del mercato, Apple e Google, che hanno sviluppato in modo congiunto una soluzione in grado di far “parlare” i rispettivi sistemi operativi, Android e iOS. 

Il primo passo

Il dibattito sul tracciamento dei contatti è stato segnato prima di tutto da una discussione sulla scelta dell’architettura che fosse in grado di coniugare meglio efficienza e rispetto della privacy, tra due modelli: il centralizzato e il decentralizzato

Nei protocolli decentralizzati (Dp-3t e soluzione Apple e Google), gli pseudonimi vengono generati e memorizzati nei dispositivi senza il coinvolgimento di un server (e quindi di un’autorità) centrale e l’unica informazione che viene condivisa sono gli pseudonimi utilizzati dalle persone positive che volontariamente decidono di trasmetterla.

In questo scenario, il server centrale non entra in possesso dell’informazione di prossimità tra i dispositivi (grafo dei contatti) che rimane memorizzata in modo distribuito sugli smartphone degli utenti, per una finestra di tempo ritenuta significativa. Secondo quanto previsto dal protocollo decentralizzato, a fronte dell’accertamento della positività, sarà il paziente a decidere se condividere volontariamente il proprio stato all’entità centrale, limitatamente ai codici pseudonimi che verranno poi condivisi con tutti i dispositivi che hanno aderito al contact tracing. Fronte loro, questi riceveranno una notifica e potranno decidere se rivolgersi alle autorità sanitarie. 

La privacy dei protocolli decentralizzati è basata sull’assunzione che dagli pseudonimi utilizzati dal dispositivo non sia possibile risalire all’identità del possessore. Qualora ciò non venisse garantito, la pubblicazione degli pseudonimi conseguente alla notifica di positività esporrebbe il paziente positivo al rischio di stigmatizzazione.

Attacchi che consentono di identificare l’utente associato a un insieme di pseudonimi (i cosiddetti attacchi di de-anonimizzazione) sono improbabili, ma non impossibili. È infatti facile prevedere lo sviluppo di applicazioni malevole finalizzate alla raccolta degli pseudonimi dei dispositivi in prossimità e alla loro marcatura temporale. In ambienti strutturati, come ad esempio quello lavorativo, la combinazione di queste informazioni con altri dati, quali la lista dei partecipanti a incontri effettuati, può facilmente portare all’identificazione di un utente positivo. Va da sé che questa raccolta e l’uso degli pseudonimi rappresentano un reato.

Nei protocolli centralizzati (come quello adottato dal governo francese) gli pseudonimi vengono generati da un server centrale e assegnati ai vari dispositivi in fase di registrazione. Quando un utente scopre di essere positivo, il suo smartphone invia al server centrale gli pseudonimi dei dispositivi con cui è venuto in contatto e sulla base dei quali, quest’ultimo notificherà agli eventuali contatti il rischio di esposizione. 

Dal momento che il server centrale non comunica gli pseudonimi degli utenti positivi, non vi è il rischio di un attacco di de-anonimizzazione degli pseudonimi. Per contro, il server centrale acquisisce il grafo dei contatti dei dispositivi: informazione utile dal punto di vista dell’analisi epidemiologica ma evidentemente anche rischiosa per la privacy dei cittadini (ancorché portata da un’organizzazione governativa).

Immuni

Apple e Google hanno congiuntamente definito e implementato sui rispettivi sistemi operativi (iOS e Android) un sistema di notifiche di esposizione basato su modello decentralizzato, sul quale si fonda anche l’app italiana Immuni. Di questo è apprezzabile in particolare la disponibilità del codice sorgente, che consente di ispezionare il funzionamento del servizio e se questo sia in linea con la documentazione. Tuttavia rimane difficile accertare che la app scaricata e installata corrisponda effettivamente al codice reso pubblico. 

Minacce a security e privacy

Il gruppo di lavoro ha analizzato alcune delle principali minacce potenziali alle quali potrebbero essere esposte le soluzioni adottate, dal punto di vista della sicurezza e della privacy.  Tra queste, alcune criticità riguardano trasversalmente sia i sistemi di tracciamento centralizzati sia quelli decentralizzati.

In entrambi i modelli alcune potenziali minacce riguardano la raccolta degli identificativi da parte di un agente avversario, tramite adeguata strumentazione. Bisogna chiedersi in quale misura tale eventualità possa comportare un rischio per la privacy, visto che, in linea di principio, gli identificativi scambiati sono pseudonimi.

È evidente che se la vittima dell’attacco risulta positiva all’infezione, visto che la notifica da parte del server dovrà necessariamente permettere l’identificazione del potenziale contatto a tutti gli smartphone che hanno catturato gli identificativi di tale individuo, sarà sempre possibile per l’attaccante legare le informazioni catturate all’informazione sullo stato di salute della vittima. La vittima potrebbe venire inoltre tracciata negli spostamenti avvenuti nell’arco della finestra temporale di contagio. Se gli identificativi non sono collegabili, ciò è possibile solo se l’attaccante collude con il server, il quale, deve necessariamente conoscere il modo per collegare gli identificativi di uno stesso soggetto.

Altre minacce, descritte nel white paper realizzato dal gruppo di lavoro, riguardano la potenziale collusione tra l’entità che rileva la positività del paziente e il sistema di gestione dei server che gestiscono il proximity tracing. 

Il modello decentralizzato è esposto a un’altra utilizzazione anomala dei protocolli che su di esso si fondano. Le informazioni scambiate, infatti, dovrebbero avere come unico scopo la gestione dell’epidemia. Ogni altro utilizzo deve essere visto come una minaccia a sicurezza e privacy. Un possibile utilizzo anomalo potrebbe essere, per esempio, la notarizzazione preventiva, da parte di comuni utenti, di contatti avvenuti in forma pseudonima, che, una volta de-anonimizzati possono svolgere il ruolo di prova anche in procedimenti legali. In un modello centralizzato, solo il server, non quindi un utente qualsiasi, potrebbe usare tali dati in maniera non conforme alle finalità previste per il protocollo.

Altri potenziali rischi derivanti da un’architettura decentralizzata riguardano l’insieme di tecniche che potrebbero permettere a un attaccante di impersonare un altro dispositivo, per esempio con l’obiettivo di causarne l’isolamento

Problemi derivanti dalla connettività bluetooth

Salvo in quei Paesi che hanno adottato sistemi di tracciamento basati sulla geolocalizzazione o su altri protocolli, per poter partecipare al tracciamento di prossimità in Italia è necessario tenere il bluetooth sempre attivo. A tal proposito va considerato, dal punto di vista della sicurezza, che il bluetooth low energy (Ble) non è un protocollo particolarmente robusto (sono state recentemente segnalate almeno una decina di vulnerabilità note di vario tipo relativamente allo stack Ble). Ciò può consentire a soggetti malevoli, localizzati in prossimità di dispositivi vulnerabili, di effettuare diversi tipi di attacco.

L’affidabilità delle misurazioni

Il meccanismo di tracciamento di prossimità si basa fortemente sulla misurazione della potenza del segnale in radiofrequenza ricevuto (Rssi) e sullo scambio di semplici messaggi periodici (beacons) che trasportano informazioni di identità (pseudonimi) attraverso opportune tecniche crittografiche. Purtroppo, quando si lavora con le onde elettromagnetiche, si opera in un ambiente estremamente “incerto” dove la potenza del segnale può essere influenzata da molti fattori, fra i quali la mobilità, l’orientamento dei dispositivi, la geometria/forma dello spazio interessato considerando, in particolare, la presenza di oggetti assorbenti (tasche, borse, corpo umano, pareti) o riflettenti (superfici metalliche, vetro), nonché disturbi di carattere ambientale (interferenza elettromagnetica). Un ruolo non secondario è giocato da fattori dipendenti dal dispositivo utilizzato, quali, a titolo di esempio, il tipo di antenna, i chipset utilizzati, l’eventuale incompleta aderenza agli standard. Elementi d’incertezza condivisi dagli stessi inventori del protocollo Bluetooth.

Potenziali attacchi

Il fatto di basarsi totalmente sulla trasmissione/ricezione di onde elettromagnetiche espone il meccanismo di tracciamento a una serie di attacchi (tipicamente di “trolling”), tutti essenzialmente associati alla difficile proteggibilità fisica di risorse nello spettro radio. I più banali partono dalla potenziale attendibilità o schermatura dei segnali in trasmissione attraverso il principio della gabbia di Faraday (esistono bustine o contenitori opportunamente progettati allo scopo), che comunque hanno un senso molto limitato in un ambito di applicazione volontaristico come quello che ci coinvolge.

Analogamente è possibile utilizzare tecniche di radio jamming (il protocollo Ble utilizza la banda Ism, quindi l’hardware per realizzare attacchi di questo tipo è disponibile a buon mercato) per inibire il tracciamento in particolari aree o per amplificarlo.

È anche possibile pensare a potenziali attacchi all’anonimato che possono essere facilmente alla portata sia di chi riesce a intercettare una notevole quantità di dati di contatto, sia di chi, utilizzando altri strumenti, riesce a tenere traccia temporale dei propri contatti, come più estensivamente analizzato nel white paper

Considerazioni sulla soluzione Apple-Google

Una menzione a parte merita l’iniziativa congiunta Apple-Google su cui molte delle applicazioni (compresa l’italiana Immuni) si basano. Per facilitare le operazioni di tracciamento, pur non avendo sostanzialmente modificato il protocollo Ble dal punto di vista trasmissivo, è stato introdotto un nuovo servizio di “contact detection” con relative application programming interfaces (Api) integrate nel sistema operativo, che consentono alle app di operare sia su Android sia su iOS. Ovviamente, ciò non comporta modifiche al livello delle architetture hardware deputate alla gestione del Ble, ma sarà presente sugli aggiornamenti di sistema dei due brand. Per quanto sia stato abbondantemente chiarito che i dati di tracciamento non saranno resi disponibili per altri usi a livello di sistema (dove ovviamente ciò pregiudicherebbe totalmente l’anonimato) che non siano le app di tracciamento, trattandosi di sistemi operativi proprietari dei quali non è generalmente possibile visionare il codice, non vi è alcuna garanzia assoluta in merito. In ogni caso chiunque aggiornerà il sistema operativo troverà a bordo questa nuova funzionalità, anche se deciderà di non attivarla. 

L’adeguatezza della soluzione appena descritta presuppone un atto di fiducia nei confronti di Apple e Google. Entrambe le aziende hanno dichiarato che non utilizzeranno i dati raccolti dal servizio di notifica da loro sviluppato, ma alcune domande sono legittime. Quali garanzie abbiamo che Apple e Google onoreranno questa promessa? Ad Apple e Google converrà abusare delle nostra fiducia? Se ci limitiamo a considerare il valore economico derivante dallo sfruttamento delle informazioni di contatto, la risposta è certamente positiva. È tuttavia plausibile che il rischio (reputazionale e conseguentemente anche economico) derivante da un eventuale abuso superi di gran lunga le prospettive di guadagno portate dallo sfruttamento commerciale di questi dati.

Il Laboratorio nazionale di cybersecurity del Cini coordina attività di ricerca, sviluppo e formazione sui temi della sicurezza informatica a livello nazionale e internazionale per aiutare il sistema paese a essere più resiliente alle minacce cibernetiche.

 

 

The post Le vulnerabilità del contact tracing che dobbiamo studiare appeared first on Wired.