Vulnerabilità App Immuni: cerchiamo di fare chiarezza

Dalla mattinata del 2 novembre, su varie testate giornalistiche italiane appare la notizia che tratta una vulnerabilità della App Immuni, scelta dal governo italiano per eseguire il tracciamento dei contatti per l’attuale pandemia di SARS-CoV-2 che ha messo a dura prova il sistema sanitario di molti paesi.

Essendo questo un sito di informazione sulla sicurezza informatica in senso stretto e pratico e meno “giornalistico”, abbiamo voluto provare a proporre una spiegazione tecnica per far capire di cosa si parla quando leggiamo di questa vulnerabilità.

In cosa consiste la vulnerabilità

Molte app di tracciamento dei contatti popolari (ad esempio, quelle promosse dal governo italiano, francese e svizzero) sono vulnerabili agli attacchi relay. Attraverso tali attacchi le persone potrebbero essere diagnosticate in modo fuorviante come positive alla SARS-CoV-2, quindi essere costrette a mettere in quarantena e alla fine portare a un congestionamento del sistema sanitario senza lecito motivo.

Ciò che sfugge e che va sottolineato è che si tratta di una vulnerabilità ben nota e non dipendente dalla app Immuni in via diretta. La app Immuni per funzionare e garantire una interoperabilità tra Stati utilizza le API di Google/Apple con questo standard: https://blog.google/documents/69/Exposure_Notification_-_Cryptography_Specification_v1.2.1.pdf

Lo standard Apple/Google è soggetto all’attacco indicato, ma solo in una finestra temporale ristretta di 10 minuti, tempo oltre il quale infatti gli RPI (Rolling Proximity Identifiers) vengono rigenerati dal sistema.

La responsabilità di Immuni quindi può essere quella di aver scelto e di essersi appoggiati allo standard Google/Apple, che però di contro rende la App interoperabile tra Stati. Si è scelto, date alcune specifiche di partenza, di raggiungere un miglior compromesso tra aspetti positivi e aspetti negativi. Uno di questi è che sui dispositivi Apple il Bluetooth non funziona in modo affidabile con app in background e l’unico modo per ottenere l’affidabilità richiesta è utilizzare le nuove API di Apple/Google.

Uno studio dell’Università di Padova propone una soluzione alternativa all’attuale sistema di funzionamento che si dovrebbe affiancare a Immuni. Si chiama ImmuniGuard e con un video dimostrativo ci spiegano come funzionerebbe un attacco che sfrutta questa vulnerabilità, e come il loro sistema ci potrebbe proteggere se utilizzato parallelamente a Immuni.

Lo scenario di attacco relay analizzato coinvolge due utenti onesti dell’app Immuni (A e B) e due malintenzionati (Adv1 e Adv2):

  • B è un individuo che si trova nel Luogo Y e ha un alto rischio di essere diagnosticato positivo a SARS-CoV-2 (Es., Un paziente in ospedale). 
  • Adv2 si avvicina a B, acquisisce il segnale dell’app Immuni e lo trasmette ad Adv1. 
  • Adv1 si avvicina ad A, la vittima, e trasmette il segnale proveniente da B.
  • Se B viene trovato positivo a SARS-CoV-2 e carica i suoi identificativi sul server Immuni, A riceverà un avviso di notifica di esposizione errata, poiché A non ha mai incontrato B.

Riteniamo dunque ora più chiaro di cosa si parla al di sotto dei titoli sulla vulnerabilità di app Immuni recentemente scoperta. Abbiamo inserito nell’articolo tutti i collegamenti utili ad approfondire l’argomento, con i documenti ufficiali e i papers di ricerca prodotti dall’Università di Padova. Infine per chiarezza specifichiamo che l’implementazione di Immuniguard come possibile soluzione è su Github e apertamente consultabile.