Nella corsa alla presentazione di smartphone Android sempre più nuovi e innovativi, per quanto si possa ancora innovare nel settore degli smartphone, sono tanti i produttori che si affrettano ad accantonare il supporto per i modelli già immessi sul mercato, soprattutto quelli più economici. Aggiornare Android con una ROM personalizzata significa sostituire la versione del sistema operativo preinstallata dal produttore e caricare una release non ufficiale. LineageOS è uno dei progetti più famosi che possono essere scelti per rimpiazzare il software non più aggiornato dal produttore.
In passato ci siamo chiesti per quanto tempo sia sicuro usare un dispositivo Android. A stretto rigore, l’indisponibilità delle nuove patch di sicurezza che Google rilascia ma che i produttori di smartphone generalmente non distribuiscono oltre la data di fine supporto costituisce di per sé un problema. Scegliere una ROM Android di terze parti di solito consente di superare questa limitazione e mettere in sicurezza il proprio dispositivo, continuando a ricevere gli aggiornamenti di sicurezza.
Quanto è sicura una ROM Android non ufficiale?
Una ROM Android personalizzata è una versione modificata del sistema operativo originale, sviluppata da programmatori e comunità di appassionati anziché dai produttori di dispositivi o da Google. Queste ROM possono offrire una serie di miglioramenti e funzionalità aggiuntive rispetto alle ROM stock (ovvero quelle preinstallate sui dispositivi). D’altra parte, la disponibilità e il continuo aggiornamento del progetto AOSP (Android Open Source Project) consente di fidare su di una solida base per costruire versioni derivate del sistema operativo mobile.
In generale, ROM è un termine inappropriato per riferirsi alle versioni personalizzate di Android costruite a partire dalla base rappresentata da AOSP. Ne parliamo anche nell’articolo sulle differenze tra ROM e memoria interna di uno smartphone. Tuttavia, ROM è entrato nell’utilizzo comune quindi non c’è motivo per non adeguarsi.
Cominciamo con una considerazione ovvia: non c’è modo di garantire che una ROM personalizzata sia di per sé affidabile. Scaricando un’immagine personalizzata del sistema operativo Android, essa potrebbe letteralmente contenere qualsiasi cosa. Si può essere sicuri che non ci siano keylogger nascosti tra le “pieghe” del codice?
L’ecosistema delle ROM Android personalizzate si regge sul concetto di fiducia. Scegliendo ROM “aperte”, create da persone od organizzazioni con una lunga storia di buona condotta, si può essere ragionevolmente sicuri di non incorrere in problemi. Idealmente, dovrebbe essere ciascun utente a compilare la ROM a partire dal suo codice sorgente, anche se è un processo complesso e che richiede tempo.
Anche alcune ROM commerciali possono contenere brutte sorprese
Quanto finora illustrato non costituisce un argomento a sfavore delle ROM personalizzate. È capitato più volte che una ROM commerciale, soprattutto quelle utilizzate nei dispositivi Android a bassissimo costo, realizzati da produttori poco seri, contenesse spyware o addirittura veri e propri malware.
Molti dispositivi Android si presentano con una serie di software preinstallati, le cui implicazioni in termini di sicurezza sono spesso difficili da valutare. In mplteplici situazioni si tratta di applicazioni che non sono sviluppate dal fornitore del dispositivo, ma installate come risultato di accordi di partnership.
Alcune applicazioni Android hanno la reputazione di saccheggiare i dati degli utenti, trasferendole a soggetti terzi. Paradossalmente, la dotazione software fornita da alcuni noti produttori di smartphone Android sembra avere più funzionalità di raccolta dei dati rispetto alle ROM personalizzate.
Il problema più rilevante nel caso delle ROM personalizzate, è che la loro installazione richiede la disattivazione di alcune protezioni software fondamentali.
Cos’è il bootloader di Android e a cosa serve
Il bootloader di Android è un programma fondamentale che si occupa di avviare il sistema operativo sul dispositivo. All’accensione del dispositivo, il bootloader verifica il corretto funzionamento dell’hardware e successivamente carica il kernel del sistema operativo Android in memoria. Una volta che il kernel è caricato, il controllo passa al sistema operativo.
Le versioni recenti di Android utilizzano una funzione di sicurezza chiamata Verified Boot, che verifica l’integrità del sistema operativo durante l’avvio. Se il bootloader rileva che il sistema operativo è stato modificato o non è autentico, può impedire l’avvio del dispositivo, proteggendo così l’utente da potenziali minacce.
Per gli utenti che desiderano installare ROM personalizzate o modificare il sistema operativo, è spesso necessario sbloccare il bootloader. Questo processo consente di eseguire codice non ufficiale e di personalizzare l’esperienza Android, ma l’intervento non è esente da rischi. I produttori citano la possibilità di invalidare la garanzia (cosa che non interessa i possessori di device non più supportati) e ridurre la sicurezza.
Il problema dello sblocco del bootloader
Un bootloader sbloccato consente l’esecuzione di un kernel e di file binari a supporto che non corrispondono agli hash crittografici definiti dal produttore del dispositivo. Nella configurazione “di fabbrica”, infatti, Android controllerà l’hash crittografico del contenuto della partizione di avvio della memoria interna confrontandolo con il valore impostato dal fornitore. Se gli hash non corrispondono, il processo di avvio è interrotto.
Lo sblocco del bootloader è il primo passo necessario per installare una ROM personalizzata su quasi tutti i dispositivi Android moderni e di solito è un’operazione unidirezionale. Il bootloader non può essere bloccato di nuovo in modo sicuro, perché la partizione di avvio personalizzata non avrà hash crittografici che corrispondono ai valori memorizzati dal produttore.
La maggior parte delle ROM moderne basate su AOSP utilizzano la cosiddetta file-based encryption (FBE) per impostazione predefinita. Per quelle che non lo fanno, la crittografia può solitamente essere abilitata dopo l’avvenuta installazione.
Abilitare FBE significa che se si perde il dispositivo e un malintenzionato riuscisse a installare un nuovo codice di avvio oppure, più semplicemente, ricorresse a un’interfaccia di debug compatibile con la configurazione esistente, nessun dato personale dell’utente risulterà accessibile. L’attaccante deve quindi trovare un modo per decifrare i dati, tenendo presente che le chiavi di decifratura per FBE sono collegate al PIN dell’utente (che, ovviamente, deve essere difficile da indovinare) o agli altri sistemi di protezione impostati sul dispositivo mobile.
ROM personalizzate senza supporto per la crittografia dei dati
Da quanto osservato al paragrafo precedente, emerge che le ROM Android personalizzate senza supporto FBE dovrebbero essere evitate come la peste.
Tornando a LineageOS, già citato in precedenza, basti osservare che tutte le versioni moderne di questa ROM Android supportano FBE e lo attivano per default. Versioni più vecchie e altre ROM di terze parti, tuttavia, potrebbero non fare altrettanto. In questi casi, un bootloader sbloccato espone i dati dell’utente e qualunque attaccante che possa disporre fisicamente del dispositivo è in grado di leggerli e recuperarli. Non è neppure richiesto l’inserimento di alcun PIN.
I rischi derivanti dall’uso di un dispositivo con bootloader sbloccato
Lo sblocco del bootloader, di per sé, può comportare rischi per la sicurezza. Tuttavia, la crittografia FBE abilitata rende più complesso approfittarsi di questa configurazione.
I rischi più rilevanti derivano dalla situazione in cui l’utilizzo di un bootloader sbloccato si combina con altre vulnerabilità di sicurezza. Si pensi alla presenza di bug di sicurezza irrisolti nel codice di Android (da qui torniamo all’importanza di disporre di un device aggiornato con le patch) oppure all’inserimento deliberato di malware.
Supponiamo che un aggressore possa, sfruttando una falla di sistema, accedere in scrittura a file arbitrari. Un problema di sicurezza è già estremamente critico di per sé ma, con un bootloader sbloccato, l’attaccante potrebbe inserire malware capace di sopravvivere a una cancellazione completa dei dati.
È comunque difficile valutare se la potenziale rimozione delle vulnerabilità in una ROM personalizzata, aggiornata quindi con tutte le patch rilasciate mensilmente da Google, compensi i potenziali rischi derivanti dall’utilizzo di un bootloader sbloccato.
L’uso di uno smartphone è intrinsecamente rischioso
Usare una ROM personalizzata probabilmente elimina i rischi di basso livello associati alle app preinstallate del fornitore. È verosimile essere ragionevolmente certi che, ad esempio, una ROM come LineageOS non legga la lista dei contatti, il calendario, registri gli spostamenti e li invii a un network pubblicitario. Come peraltro emerso di recente con gli ID pubblicitari utilizzati per tracciare la posizione degli utenti.
In generale, l’utilizzo di una ROM personalizzata che supporta la crittografia FBE non espone ad alcun rischio aggiuntivo significativo. A patto ovviamente di affidarsi sempre e soltanto a ROM di specchiata reputazione.
Quasi tutti i problemi associati all’uso di una ROM personalizzata, eccezion fatta – ovviamente – per quelli figli dell’utilizzo di una ROM malevola, possono essere mitigati avendo massima cura della disponibilità fisica dei propri dispositivi.
Alla fine, la sicurezza dei dati conservati in uno smartphone Android è una questione che richiede consapevolezza e valutazioni ponderate da parte di ciascun utente. Scegliere di utilizzare una ROM personalizzata può portare vantaggi in termini di privacy e controllo, ma solo se accompagnata da una corretta gestione della sicurezza fisica del dispositivo e da un uso consapevole delle funzionalità di protezione disponibili.
Credit immagine in apertura: iStock.com – juniorbeep