Venerdì scorso (7 maggio) sono andato a fare la prima dose di vaccino anti-Covid (Pfizer, se ci tenete a saperlo). Il centro vaccinazioni di Giubiasco è facilmente accessibile in auto e con i mezzi pubblici, ben organizzato, con personale competente, gentile e disponibile. L’attesa è stata minima e non ho avuto effetti collaterali a parte un mal di testa e il naso un po’ chiuso per qualche ora. La ricezione del 5G non mi è migliorata, però Bill Gates mi sta più simpatico di prima.
L’unica pecca di tutto il procedimento è arrivata quando mi è stata consegnata la documentazione: insieme al foglio di carta con i dati della vaccinazione (numero di lotto, data, ora, specialista responsabile, eccetera) c’era infatti un foglio informativo su MyCOVIDvac, il sito del “libretto di vaccinazione elettronico” che dovrebbe custodire i dati della mia vaccinazione.
Il foglio, con tanto di logo del Dipartimento Federale dell’Interno e dell’Ufficio Federale della sanità pubblica, promette che le informazioni “vengono memorizzate sicure e in Svizzera. Solo lei stabilisce chi può accedere ai suoi dati protetti”. Sottolinea che “Il libretto di vaccinazione elettronico è un documento ufficiale”. Inoltre accenna alla possibilità che i dati del libretto costituiscano la base per un certificato di vaccinazione internazionale.
Il sito da visitare, secondo il foglio, è www.lemievaccinazioni.ch. Hmmm…. dove ho già sentito questo nome? Ricordo di averne sentito parlare nei media locali, ma non mi sovviene il motivo. Una visita al sito, che è un redirect a www.mycovidvac.ch, e tutto mi torna in mente.
Il sito infatti dice di essere “fuori servizio dal 22 marzo a causa di vulnerabilità di sicurezza […] I dati degli utenti sono ancora disponibili e protetti […] Tutte le lacune di sicurezza critiche identificate sono state eliminate […] La piattaforma dovrebbe tornare online all’inizio di maggio.”
Ma siamo al 10 di maggio e la piattaforma non è tornata online.
A marzo 2021, l’Incaricato federale della protezione dei dati e della trasparenza ha aperto un procedimento formale contro la Stiftung meineimpfungen, la fondazione che gestisce questa piattaforma e che ha sede a Gümlingen, nel canton Berna, in seguito alle segnalazioni di violazioni dei dati fatte dal sito svizzerotedesco Republik (articolo in tedesco).
Il sito aveva infatti delle falle di sicurezza spettacolari che consentivano a chiunque, con un po’ di competenza informatica, di accedere a “450’000 dati inerenti allo stato vaccinale, tra cui 240’000 relativi a vaccinazioni contro il Covid-19” e quindi il trattamento dei dati è stato interrotto, come spiegano i media nazionali (Bluewin, anche qui; Admin.ch; Swissinfo; Corriere del Ticino; Ticinonline; SRF, anche qui; La Regione).
L’Associazione consumatori della Svizzera italiana (ACSI), per la quale fra l’altro scrivo una rubrica mensile, ha pubblicato un facsimile di una lettera per consentire agli utenti di richiedere la cancellazione dei propri dati dalla piattaforma.
Un disastro, insomma. Una fondazione che aveva la fiducia delle autorità federali si è rivelata un colabrodo di privacy, e proprio in un settore delicato come quello della salute. Sulla stessa piattaforma, oltretutto, c’erano molti altri dati sanitari altamente sensibili. Dati sanitari che comprendevano, scrive Republik, anche quelli dei Consiglieri Federali Ignazio Cassis e Viola Amherd.
Ma qual era esattamente il difetto del sito? I mezzi d’informazione sono stati molto riassuntivi, ma Republik ha pubblicato non solo un articolo di spiegazione ma anche l’analisi tecnica (in tedesco; PDF) che ha dato il via alla vicenda.
—-
In sintesi: secondo Republik, chiunque riuscisse a identificarsi come medico sulla piattaforma aveva accesso a tutti i dati di tutti gli utenti: indirizzi, numeri telefonico, data di nascita, situazione vaccinale, fattori di rischio. E li poteva alterare, per esempio assegnando a una persona giovane e sana uno stato di rischio che le avrebbe permesso di ricevere in anticipo il vaccino.
Brutta situazione, potreste pensare, ma per sfruttarla sarebbe stato necessario trovare un medico corrotto. In realtà no: serviva soltanto qualcuno che riuscisse a registrarsi come medico sulla piattaforma. I dati necessari (un numero identificativo e un’immagine della tessera identificativa dell’associazione medica, o un diploma) erano facilmente reperibili online (i numeri identificativi sono pubblici e le scansioni delle tessere si trovano senza troppe difficoltà).
In altre parole, chiunque si poteva registrare come medico. Il processo era basato puramente sulla fiducia, senza alcun riscontro o controllo significativo. Questo è il mio numero, questo è il mio diploma, questa è la mia mail, mandatemi una password, grazie.
Sugli account dei medici non c’era autenticazione a due fattori, e il token di reset delle password che veniva mandato via mail era composto soltanto da sei caratteri e aveva il seguente formato:
https://www.meineimpfungen.ch/passwort-reset.do?token=******&usertype=SPECIALIST
Pertanto era possibile procedere per forza bruta fino a generare un token valido: tempo stimato, con 500 tentativi al secondo, circa due ore.
Non è finita. I ricercatori hanno scoperto che se ci si accontentava (si fa per dire) di consultare tutti i dati degli iscritti, senza volerli modificare, era sufficiente iniziare il processo di registrazione come medico e ignorare la mail che chiedeva di inviare un documento identificativo. A quel punto si chiedeva il reset della password, con il classico “Ho dimenticato la password”, che funzionava anche sugli account non ancora validati.
A questo punto era possibile vedere tutti i dati semplicemente conoscendone l’URL, che seguiva uno schema molto intuibile: l’ID della singola scheda utente era semplicemente un timestamp corrispondente alla data e all’ora di creazione dell’account del paziente-bersaglio. Era quindi sufficiente una enumeration progressiva di tutti i possibili timestamp per ottenere un elenco di quelli che corrispondevano a un account.
Ciliegina sulla torta, c’era anche una possibilità di cross-site request forgery e di cross-site scripting che permetteva di acquisire ulteriori dati sanitari, comprese informazioni su malattie croniche, infezioni da HIV e tumori.
La piattaforma dice di aver risolto tutti questi problemi, ma è da vedere se ha risolto quello fondamentale: riconquistare la fiducia degli utenti.
Questo articolo vi arriva gratuitamente e senza pubblicità grazie alle donazioni dei lettori. Se vi è piaciuto, potete incoraggiarmi a scrivere ancora facendo una donazione anche voi, tramite Paypal (paypal.me/disinformatico) o altri metodi.