Quattro cose da considerare prima di installare le applicazioni per il tracciamento di contatti
L’attuale pandemia è uno di quegli scenari che possono mettere alla prova i valori fondamentali di una società. Per la maggior parte degli account, il coronavirus è un caso limite, l’eccezione alla regola. E, tuttavia, costringe molti a ripensare al modo in cui operano nel mondo, come trattano gli altri e le regole che sono disposti (o meno) a seguire. La recente risposta pubblica al tracciamento dei contatti è un buon esempio.
1. Tracciamento della posizione e privacy dei dati
In generale, alle persone non piace essere rintracciate. Il diritto alla privacy è considerato un diritto umano fondamentale in molte parti del mondo. Legislazioni come il GDPR e il CCPA sono concepiti per far rispettare questa convinzione, definendo come i dati privati debbano essere raccolti, elaborati, condivisi e conservati. Con l’attuale legislazione sulla privacy dei dati, le linee guida e le protezioni esistenti dovrebbero essere adeguate per affrontare l’attuale crisi sanitaria globale.
Il monitoraggio del numero di casi di coronavirus, delle regioni colpite e di altre macro tendenze è essenziale per comprendere la diffusione del virus. Le macro tendenze possono informare su come il virus si sta propagando e anche sull’efficacia di alcune misure per contenere la diffusione.
Una qualche forma di localizzazione personale è stata ampiamente accettata come metodo efficace per comprendere la diffusione del virus. Tuttavia, dovrebbe essere implementato solo come opt-in, permettendo alle persone di scegliere quando condividere le proprie informazioni personali e dove si trovano. Fornire alle persone una scelta, insieme a dettagli su come i loro dati vengono gestiti e condivisi (dettagli che sono richiesti dal GDPR) dovrebbe essere una pratica standard.
La trasparenza dei metodi di raccolta dei dati è necessaria affinché gli esperti mondiali possano utilizzare con precisione i dati messi a disposizione. L’anonimizzazione è fondamentale quando si condividono i dati, ma essere in grado di correlare i casi significa anche che le entità locali devono condividere i dati in modo selettivo.
2. Tecnologia Bluetooth per la tracciamento dei contatti
In alcuni paesi, le applicazioni per tracciare il virus sono in fase di sviluppo con il sostegno ufficiale del governo. Sono state sollevate preoccupazioni in materia di privacy sul tracciamento della posizione geografica degli utenti, con persone che sostengono che l’iniziativa sia una scusa per far avanzare la sorveglianza del governo. Per questo motivo, l’approccio preferito utilizza la tecnologia Bluetooth, che può tracciare la vicinanza degli utenti ma non associare i dati di localizzazione ad un individuo.
Sono stati sviluppati diverse framework per la creazione di applicazioni per il tracciamento dei contatti. Apple e Google hanno unito le loro forze per supportare un metodo basato sul Bluetooth per tracciare la diffusione delle infezioni senza compromettere la privacy della posizione. Ciò comporta l’aggiunta di nuove funzionalità ai loro sistemi operativi mobili che consentono ad alcune app approvate dalle agenzie sanitarie governative di utilizzare il Bluetooth per registrare la vicinanza tra i telefoni e, quindi, le persone che li portano con sé.
In generale, queste app approvate dal governo funzionano consentendo all’utente di segnalare, in forma anonima, una diagnosi positiva di Covid-19 nell’app. In tal caso, tutti gli utenti che si sono trovati nelle vicinanze entro un certo periodo di tempo riceveranno una notifica. Il sistema è segnalato come Bluetooth-only, non raccoglie dati di localizzazione basati su GPS dagli utenti, ed è completamente opt-in.
La tecnologia funziona trasmettendo costantemente codici Bluetooth unici e rotanti che derivano da una chiave crittografica che cambia una volta al giorno. Monitora costantemente i dispositivi mobili nelle vicinanze, registrando i codici di tutti gli altri telefoni che incontrano.
Quando un utente segnala una diagnosi positiva di Covid-19, la sua app carica su un server le chiavi crittografiche che sono state utilizzate per generare i suoi codici nelle ultime due settimane. Ogni app scarica quindi quelle chiavi giornaliere e cerca una corrispondenza con uno dei suoi codici memorizzati, l’app notificherà a quella persona che potrebbe essere stata esposta.
3. Potenziali problemi di prestazioni del dispositivo con il tracciamento dei contatti
Il problema con queste applicazioni è che devono essere costantemente in esecuzione in background e monitorare costantemente l’ambiente circostante per funzionare correttamente, il che significa che un potenziale effetto collaterale potrebbe essere un più rapido esaurimento della batteria del dispositivo.
I moderni sistemi operativi mobili impediscono il consumo della batteria utilizzando varie tecniche per “soffocare” le applicazioni che non sono in uso, come la riduzione dell’accesso alle risorse del sistema. Se, quanto, e in che modo dipende dalla versione del sistema operativo e dalle impostazioni del dispositivo.
Ad esempio, sappiamo che le versioni più recenti dei sistemi operativi sono più aggressive nel ridurre l’attività in background del Bluetooth per risparmiare energia. I dispositivi Android a volte utilizzano applicazioni di sistema aggiuntive denominate ” battery optimizers “, che possono limitare ulteriormente l’attività in background del Bluetooth.
Anche il livello della batteria gioca un ruolo importante, perché molti dispositivi potrebbero (e di solito lo farebbero) passare automaticamente alla modalità risparmio energetico, che disattiva i processi in background. Ciò potrebbe potenzialmente ridurre l’efficacia delle applicazioni di tracciamento dei contatti che devono essere costantemente in esecuzione in background.
Se avete deciso di optare per l’applicazione ufficiale di tracciamento contatti del vostro governo, seguite questi passi per aumentare l’efficacia dell’applicazione:
– Mantenere la batteria carica, evitare di utilizzare vari ottimizzatori di batteria (o, in caso affermativo, creare un’eccezione per la vostra applicazione). Portare con sé un caricabatterie portatile.
– Se sei un utente di iPhone, evita di utilizzare la modalità risparmio energetico sul dispositivo, in quanto ciò può impedire l’esecuzione dell’applicazione in background.
– Non utilizzare due o più applicazioni di tracciamento simili contemporaneamente perché potrebbe esserci un conflitto nell’uso delle risorse (accesso Bluetooth).
Gli sviluppatori di applicazioni approvate dal governo stanno lavorando sia con Apple che con Google al fine di ottenere un accesso più profondo alle risorse del dispositivo e quindi essere in grado di continuare a funzionare pienamente anche in varie modalità stand-by e a basso consumo energetico mentre l’applicazione è in esecuzione in background.
4. Rischi per la sicurezza delle applicazioni di tracciamento dei contatti
È estremamente importante non installare applicazioni che si trovano su siti non ufficiali o app store di terze parti. Le applicazioni devono essere scaricate solo dagli app store ufficiali. I criminali informatici sono molto attivi durante questa crisi Covid e cercano di sfruttare l’elevata domanda di applicazioni di tracciamento. Una tattica molto comune è quella di riconfezionare un’applicazione esistente, modificarla con codice maligno e pubblicarla su uno store non ufficiale. È sempre meglio controllare il sito web del proprio governo locale per trovare informazioni sulle soluzioni di tracciamento di contatti approvate.
Molti dei nostri clienti in diverse parti del mondo si stanno chiedendo se dovrebbero consentire ai dipendenti di installare e utilizzare le applicazioni di tracciamento dei contatti sui dispositivi di lavoro. Utilizzando App Insights, abbiamo completato le valutazioni del rischio per una piccola rappresentazione delle applicazioni di tracciamento dei contatti disponibili nei diversi paesi in cui hanno sede i nostri clienti. Le sintesi di queste valutazioni dei rischi sono disponibili nelle tabelle seguenti. I clienti Wandera possono richiedere la valutazione completa del rischio per ciascuna di queste applicazioni contattando i loro account manager. Queste informazioni saranno aggiornate man mano che raccoglieremo più richieste da parte dei clienti e man mano che le applicazioni verranno rilasciate e aggiornate.
IMMAGINI
Come valutiamo il livello di rischio delle applicazioni
Le valutazioni del rischio consistono in due tipi principali di analisi delle applicazioni:
L’analisi statica viene effettuata tramite il reverse-engineering del codice dell’applicazione, disassemblando e decompilando il pacchetto dell’applicazione. Durante questa fase estraiamo vari metadati come la versione, i permessi, gli URL, le librerie usate, ecc. Controlliamo anche i record nello store di applicazioni corrispondente, se disponibile.
L’analisi dinamica osserva e analizza il comportamento delle app e il traffico di rete in tempo reale. Durante questa fase, possiamo identificare se l’applicazione utilizza metodi sicuri per il trasferimento di dati sensibili, se contatta solo i server remoti che dichiara di fare, ecc.
Quando si tratta di valutazioni del rischio delle applicazione, ci sono un gran numero di indicatori di rischio che consideriamo. Nei riepiloghi di cui sopra abbiamo incluso quanto segue:
Autorizzazioni delle app – Le autorizzazioni delle app regolano ciò che un’app può fare e a cosa può accedere. Questo va dall’accesso ai dati memorizzati sul telefono, come contatti e file multimediali, fino all’ hardware come la fotocamera o il microfono del dispositivo. Le autorizzazioni disponibili per le applicazioni su iOS e Android sono molto diverse. Raccomandiamo sempre di verificare le autorizzazioni di ogni app per assicurarsi che non richiedano l’accesso a risorse di cui non hanno bisogno, per ridurre al minimo il rischio che le vostre informazioni sensibili siano esposte a soggetti indesiderati. Le autorizzazioni servono per le funzionalità dell’applicazione? Esistono rischi potenziali legati ai permessi sensibili (ad esempio, l’accesso agli SMS)?
URL – Il numero di URL integrati in un’app mobile è indicativo del numero di servizi web con cui l’app comunica. Numeri bassi e numeri alti non sono necessariamente indicativi di rischio, ma guardando questo numero e verificando che sia in linea con applicazioni simili è un buon punto di partenza prima di controllare ogni singolo URL sospetto. Teniamo conto del numero di siti web con cui un’applicazione comunica rispetto ad applicazioni simili per verificare la presenza di anomalie che potrebbero sollevare domande.
Disponibilità del codice sorgente – Quando il codice sorgente è disponibile al pubblico significa che qualsiasi ricercatore potrebbe guardare linea per linea ciò che lo sviluppatore ha programmato, il che può potenzialmente identificare difetti e codice dannoso nelle applicazioni. Ma come proprietaria intellettuale, il codice sorgente spesso non è accessibile per i test. Se il codice sorgente è disponibile, controlliamo i componenti chiave dell’applicazione – come comunica con i server remoti, se utilizza correttamente i certificati, come vengono utilizzati i permessi, come comunica con le periferiche wireless (Bluetooth, Wi-Fi, NFC), se lo stile del codice segue le best practices, ecc.
Valutazione ATS – Sulle piattaforme Apple, una funzione di sicurezza di rete chiamata App Transport Security (ATS) è disponibile e abilitata di default. ATS è fondamentalmente un insieme di regole che assicurano che le applicazioni iOS e le estensioni delle applicazioni si connettano ai servizi web utilizzando protocolli di connessione sicuri come HTTPS. Le applicazioni iOS con ATS abilitato utilizzano la crittografia, mentre quelle con ATS disabilitato possono significare che stanno utilizzando la crittografia, ma solo per connessioni di rete selezionate.
Altri indicatori di rischio sono i seguenti:
Componenti: quali sono gli elementi costitutivi dell’applicazione? Il linguaggio utilizzato, le tecniche di programmazione, le librerie e le loro versioni, i framework, ecc. L’obiettivo è quello di verificare se l’applicazione utilizza componenti sicuri senza vulnerabilità note e/o potenziali problemi.
Comunicazione: con quali soggetti remoti comunica l’applicazione? Potrebbe essere un server su internet, un dispositivo remoto contattato tramite Bluetooth o un beacon accessibile tramite NFC. In tutti i casi monitoriamo il tipo di comunicazione, la frequenza con cui l’applicazione comunica e i dati che invia. Valutiamo anche gli URL contattati rispetto all’elenco dei servizi remoti e dei componenti applicativi per verificare se non tenta di inviare qualcosa di sensibile senza il consenso dell’utente.
App store records: Chi è lo sviluppatore? Quanti installazioni ha? Con quale frequenza viene aggiornato? C’è un processo di segnalazione di bug funzionante?
Intelligence di terze parti: controlliamo quali altri rapporti o valutazioni sono stati resi disponibili da altri ricercatori.