Due ricercatori di sicurezza, Serge Vaudenay (EPFL) e Martin Vuagnoux (base23), hanno scoperto un bug nel sistema Apple-Google per il tracciamento Covid-19 che potrebbe avere impatti sulla privacy degli utenti e sulla sicurezza dei loro dati. Ricordiamo che è il sistema alla base anche di Immuni.
Com’è noto, nella primavera scorsa Apple e Google, i due giganti della tecnologia delle telecomunicazioni, hanno collaborato combinando le loro preziose risorse nello sviluppo di una soluzione di tracciamento Covid-19, poi adottata da quasi tutti i Governi che hanno realizzato app.
Ecco perché tutte le vulnerabilità trovate su questo framework Apple-Google hanno conseguenze anche per gli utenti Immuni.
Indice degli argomenti
Cos’è questo bug e gli impatti privacy
La vulnerabilità è stata trovata nel software GAEN (che è closed-source), ossia la Google-Apple Exposure Notification.
I ricercatori di sicurezza hanno pubblicato un video su Vimeo che presenta il lavoro che eseguito (com’è riportato nel Hackaday e nel Decrypt) per esplorare, in particolare, un bug presente nell’app SwissCovid che, lo ricordiamo, è l’app che lo stato Svizzero utilizza per il tracciamento e che, come tante altre app, si basa sul codice fornito dal framework Apple-Google.
Questo in un sistema di tracciamento Covid non dovrebbe avvenire, perché l’obiettivo e la promessa di un framework del genere dovrebbe garantire la privacy e prevenire che siano tracciabili i movimenti.
In sostanza, Serge e Martin hanno scoperto che l’indirizzo numerico di Bluetooth LE e l’ID di prossimità mobile del framework non si aggiornano necessariamente in contemporanea, lasciando aperte piccole finestre in cui l’indirizzo Bluetooth corrisponde al vecchio ID, che è un sassolino da tracciare. Come hanno dichiarato, sono stati in grado di intercettare i messaggi fino a 50 metri di distanza utilizzando un’antenna di basso costo.
Nel testo del video si legge che “questa è un’acquisizione Bluetooth passiva e reale di SwissCovid. Un malintenzionato è in grado di correlare il precedente e il nuovo BD_ADDR e RPI grazie al messaggio “sassolino”. “In questo modo il malintenzionato può rintracciare continuamente l’utente dell’app SwissCovid. Questo non dovrebbe accadere per più di 15 minuti”.
Il bug nel sistema Apple-Google per il tracciamento Covid-19 non può essere corretto dall’Italia
Gli sviluppatori delle app non possono intervenire per correggere con una patch questo bug.
L’app SwissCovid è open source, come la nostra Immuni, ma il framework GAEN (Google Apple Exposure Notification) e molte altre app di questo tipo sono closed source (codice proprietario) e non c’è modo per gli sviluppatori dell’app di correggerlo.
Il codice closed source (codice proprietario) è in contrasto con la natura open source della maggior parte delle app in esecuzione su di esso. Questo crea preoccupazione, proprio perché la differenza tra la solida teoria e la pratica reale sta esattamente in quelle righe di codice non ispezionabile e lascia tutte le app, che si basano su di esse, vulnerabili, e le dichiarazioni del tipo “fidati di noi” non hanno nessuna validità. La trasparenza porta alla fiducia e la fiducia al miglioramento e al progresso.
L’azione sarebbe quella di convincere Apple e Google a rendere aperto l’intero codice del framework Covid. In questo modo, la società scientifica potrebbe valutare il codice e i bug verrebbero trovati e corretti più velocemente.
Il video rileva che, sebbene il 21 luglio 2020 Apple e Google abbiano rilasciato una patch (snippet) di codice per il framework (giudicata patch incompleta), non essendo un progetto open source, significa che la comunità scientifica non può verificare il codice e affrontare simili potenziali problemi.
Bug per Immuni nel sistema Apple-Google di tracciamento Covid-19: c’è una soluzione?
Alcuni sviluppatori hanno provato a utilizzare la blockchain per proteggere le app di tracciamento dei sintomi Covid-19. I legislatori della California hanno proposto un sistema di tracciamento open source basato su blockchain in tutto lo stato.
Tuttavia, sia la Electronic Frontier Foundation (EFF) che l’American Civil Liberties Union (ACLU) si sono pronunciate contro un sistema basato su blockchain, citando un “enorme problema di privacy” e che “nessuno dovrebbe essere obbligato a sbloccare il proprio telefono ed esporre le proprie informazioni sanitarie per poter accedere al proprio ufficio, scuola o mercato di quartiere”.
Altre soluzioni, oltre l’apertura del codice da parte di Apple-Google e della tecnologia blockchain, non si prospettano e il problema privacy nelle app contact tracing rimane aperto.
L’impatto e il rischio del bug su Immuni
Per calcolare il rischio che incombe da un attacco del genere occorre prendere in considerazione alcuni aspetti.
Secondo lo stato dell’arte, il rischio è una funzione che dipende dall’impatto sulla privacy della persona e dalla probabilità dell’attacco [R=f(Impatto x Probabilità)].
In questo caso, l’impatto è legato al tracciamento e all’identificazione dei movimenti del proprietario dello smartphone. Si tratta di informazioni che riguardano la geolocalizzazione. Queste informazioni possono essere sfruttate da malintenzionati.
L’attacco potrebbe essere eseguito da esperti su commissione, oppure per diletto, curiosità o altro. Comunque sia, quando si tratta di privacy l’impatto è considerato di livello alto (scala da 1 a 5).
Basso rischio
La probabilità, invece, che si verifichi l’attacco su uno smartphone potrebbe essere stimata molto bassa (scala da 1 a 5) in quanto, per essere realizzato e avere informazioni utili da sfruttare, occorre rimanere per lungo tempo (stimiamo 24 ore) nelle vicinanze (circa 10 metri) della vittima (persona presa di mira). In questo caso è impossibile che la vittima non si accorga a non allontani il malintenzionato o non si allontana lui stesso da lui. In alternativa, il malintenzionato dovrebbe avere una rete di ricevitori distribuiti sul territorio per intercettare e portare al termine l’attacco.
Pertanto, combinando il livello alto dell’impatto (valore 5) con il livello molto basso (livello 1) della probabilità, l’entità di rischio (scala da 1 a 25) risulta pari a 5 su un massimo di 25 (entità di rischio bassa).
Si può quindi dire con ragionevole certezza che per il sistema GAEN, per Immuni e per le altre app il rischio è molto basso.