simulazione

Immuni, i replay attack. Il rischio di false notifiche (Video)

di Vincenzo Iovino, ricercatore presso il dipartimento DIEM dell'Università di Salerno |

Il video di un replay attack all'app Immuni. L'obiettivo di noi ricercatori non è delegittimare l’uso delle App di tracciamento, ma scoprire vulnerabilità per difendere i cittadini da malintenzionati e criminali informatici.

La storia di Immuni inizia nell’oscurità e nella totale mancanza di trasparenza durante i giorni tenebrosi della prima ondata. Era marzo e di Immuni si sapeva ben poco a parte il nome e forse qualche logo. La trasmissione della RAI Report dedica a quella che sarebbe stata la futura App nazionale del tracciamento digitale una puntata speciale in cui si paventava una battaglia tra due consorzi contrapposti, da una parte i “cattivoni” del modello centralizzato e dall’altra i paladini della privacy, i sostenitori del cosiddetto modello decentralizzato. Io ed altri colleghi eravamo già all’opera per analizzare e studiare la sicurezza di questi nuovi sistemi di tracciamento e la storia raccontata da Report ci puzzò di bruciato perché poche settimane dopo si scoprì, ahimè, che la situazione era alquanto diversa.

Nell’opinione pubblica era passato il messaggio semplicistico che i sistemi “centralizzati” fossero un cavallo di Troia per controllare la popolazione ideato da capitalisti con fini poco chiari mentre quelli decentralizzati fossero appoggiati da attivisti della privacy intenzionati unicamente a proteggere i cittadini dal Grande Fratello. Niente di più sbagliato.  Il ricercatore Serge Vaudenay e molti altri, incluso il team di cui faccio parte, avevano studiato questi sistemi in dettaglio e concluso invece che il modello decentralizzato fosse molto più carente del sistema centralizzato sotto molti aspetti di privacy e sicurezza. Questi importanti problemi di privacy furono totalmente ignorati dai fautori del modello decentralizzato.

L’entrata in scena di Apple&Google

Ma la sorpresa più grande fu che di colpo entrarono in scena Google&Apple, si scoprì che il consorzio dietro al modello decentralizzato stava collaborando con Google&Apple e che Immuni, contrariamente a quanto si era creduto, sarebbe stata basata su un sistema decentralizzato realizzato da queste Big Tech. Improvvisamente si creò un fronte unito e compatto a favore dell’app Immuni: sui social si metteva a tacere chi esponeva critiche ad Immuni, sulla stampa Nazionale non potevano più circolare articoli critici contro Immuni. Il Ministro aveva scelto – bisognava affidarsi ai Giganti!

Peccato che con questi Giganti non si sia sottoscritto nessun contratto e non abbiano dato nessuna al governo Italiano sulla sicurezza dell’App. Recentemente, mi ha colpito la reazione di noto ricercatore di Google che in un commento pubblico ha ribadito che Google non si assume nessuna responsabilità sull’uso del proprio sistema di tracciamento, la responsabilità resta delle autorità competenti Nazionali che sviluppano App basate sul sistema di Google.

Si scoprì che il sistema di Apple&Google fosse a sorgente chiuso ma per i sostenitori della privacy e trasparenza, che poche settimane prima presentavano le medesime critiche alle App basate sul modello centralizzato, questo non costituiva più un problema. Si scoprirono importanti falle di privacy nel sistema di Apple&Google, ma i difensori di Immuni si giustificarono che la sicurezza perfetta non esiste, e che quella era un giusto compromesso per lottare contro la pandemia.

Non solo privacy: I replay attacks

In sostanza era passato all’opinione pubblica che l’App Immuni era abbastanza sicura e che affidare un sistema sanitario a Google&Apple non introducesse più problemi di privacy di quelli già presenti nella vita digitale di tutti i giorni. 

Dietro la privacy si nascondeva un problema più grande per Immuni e tutta la costruzione di Apple&Google: la non immunità ai replay attack.

In un replay attack, lo scopo di un avversario è far ricevere notifiche di rischio fake agli utenti dell’App di contact tracing.

Nello specifico, un avversario può intercettare uno o più codici inviati da un utente di Immuni in una determinata posizione dello spazio e ritrasmetterli ad un’altra posizione dello spazio più o meno allo stesso tempo. Per es. un avversario potrebbe piazzare un dispositivo A (che può essere un telefono o anche un dispositivo dedicato delle dimensioni di una moneta) nei pressi di un ospedale e catturare tramite esso tutti i codici che i telefoni dei pazienti di questo ospedale trasmettono nelle vicinanze. Il dispositivo A potrebbe inoltre ritrasmettere questi codici ad un altro dispositivo B piazzato dall’avversario ad uno stadio. Il dispositivo B ritrasmetterà tutti gli RPI ricevuti da A a tutti gli spettatori che sostano nelle vicinanze di B. Come risultato, se uno dei pazienti dell’ospedale sarà diagnosticato positivo nei giorni seguenti, tutti gli spettatori dello stadio passati nelle vicinanze del dispositivo B riceveranno una notifica di rischio.

Le conseguenze di un replay attack potrebbero essere devastanti. Migliaia di persone penseranno di essere effettivamente a rischio, chiederanno di sottoporsi a tampone e quindi non andranno a lavorare e votare. Infine, un replay attack può altresì essere effettuato da un avversario contro un utente specifico che l’avversario desidera mettere in quarantena o terrorizzare o per danneggiare un’attività commerciale.

I replay attack erano conosciuti teoricamente ma non erano mai stati testati per la necessità di catturare codici di utenti infetti, il che è tecnicamente facile, ma costituisce un illecito. Inoltre, il sistema di Apple&Google, non è testabile: per eseguire test su di esso è necessaria una autorizzazione riservata alle autorità sanitarie. Per questi motivi gli studiosi sono stati scoraggiati dall’effettuare test di replay attack.

Recentemente ho dimostrato la fattibilità dei replay attack usando un “trucco” e facendo ciò ho scoperto nuove vulnerabilità dell’App Immuni e del sistema di Apple&Google.

Per la realizzazione della ricerca e simulazione mi sono avvalso di Biagio Pepe, esperto in informatica ed elettronica. 

Il trucco consiste nel creare una vera e propria macchina del tempo cambiando la data del telefono vittima in modo che combaci con quella del codice di un utente infetto.

 I codici degli utenti infetti sono infatti pubblici e disponibili sul server di Immuni e ad ognuno di essi è associata una data e ora.  Supponiamo per esempio che sul server di Immuni sia presente il codice X appartenente ad un infetto associato alla data 16 Settembre ore 10. Questo significa che alle ore 10 del 16 Settembre il telefono di un utente infetto trasmetteva il codice X. 

Pertanto, inviando oggi il codice X ad un telefono la cui data e ora è stata impostata alle ore 10 del 16 Settembre, si ha l’effetto di far credere a tale telefono di essere stato in contatto con un infetto, cioè si è simulato un contatto a rischio con un utente infetto.

Con i ricercatori Svizzeri Serge Vaudenay e Martin Vuagnoux abbiamo investigato in più profondità la fattibilità di questi attacchi sia per Immuni che per l’App Svizzera SwissCovid. I replay attack con macchina del tempo sono possibili in diverse situazioni pratiche e con attrezzature a basso costo. I risultati della ricerca sono disponibili qui: https://eprint.iacr.org/2020/1393.pdf

Il futuro di Immuni

Mi preme sottolineare che non è mia intenzione, né dei miei colleghi e collaboratori, delegittimare l’uso di Immuni e delle App di tracciamento.  Il nostro fine è scoprire vulnerabilità per difendere i cittadini da malintenzionati, criminali che potrebbero usare queste vulnerabilità per scopi illeciti.

Interpellato l’avv. Mario Ianulardo, specializzato in Diritto Penale dell’Informatica, evidenzia che “un’App, utilizzata in una fase di emergenza sanitaria pubblica di portata internazionale, dovrebbe risultare del tutto immune da attacchi informatici esterni e ciò proprio a tutela della salute pubblica e interesse individuale.” 

Condivido le sue considerazioni, in quanto a mio avviso, i problemi non si devono affrontare solo quando si giunge a situazioni di emergenza, non dobbiamo aspettare, come purtroppo spesso accade in questo paese, che siano fatti spiacevoli a indurre le autorità competenti a reagire. Saremo più forti lavorando a migliorare l’App Immuni (adottando per essa i sistemi proposti da diversi studiosi Italiani) e riducendo la nostra dipendenza da Apple & Google, società private con scopi di lucro che potrebbero usare i nostri dati sanitari per i fini più diversi e che non hanno sottoscritto alcun impegno a collaborare col nostro governo nel caso vi siano falle e malfunzionamenti al sistema.  La soluzione è essere più trasparenti e aperti nelle scelte e investire nella Ricerca Nazionale. C’è volontà di farlo?