Negli ultimi anni, il mondo degli smartphone Android ha fatto registrare importanti cambiamenti. Android 14 introdurrà tutta una serie di novità molto attese, tante incentrate sulla privacy e sulla sicurezza. La disponibilità di AOSP, Android Open Source Project, fa sì che produttori hardware, sviluppatori di ROM alternative e ricercatori indipendenti possano continuare a realizzare progetti derivati basati sul codice di Android.
È il “sale” del sistema operativo Android che fin dalla sua prima presentazione, nel 2007, Google ha descritto come una piattaforma aperta e accessibile offrendo agli sviluppatori un alto grado di libertà e aiutando gli utenti a sfruttare appieno le capacità dei loro dispositivi.
Da più parti arrivano contestazioni nei confronti di Google che, anno dopo anno, avrebbe un po’ nascosto nell’ombra quella filosofia iniziale, assolutamente vincente e che è stata l’indiscusso volano per la crescita senza confini di Android.
Abbiamo detto, ad esempio, che la rimozione di app dal pacchetto AOSP non è certamente impattante. Molto di più lo sono invece le restrizioni imposte da SafetyNet, l’utilizzo di binari non documentati a livello firmware e le difficoltà riscontrate nello sblocco del bootloader (in alcuni casi non possibile od ostacolato…) con cui gli sviluppatori di ROM Android alternative si stano via via scontrando.
Certificati CA: cosa sono e come li gestisce Android
In un lungo intervento pubblico, Tim Perry ha stigmatizzato la decisione di Google di rendere più complessa la modifica sui certificati di sistema usati nei dispositivi Android.
I certificati CA, o certificati delle autorità di certificazione, sono elementi fondamentali dell’infrastruttura sulla quale si basa la sicurezza delle comunicazioni su Internet. Essi svolgono un ruolo cruciale nella garantire la riservatezza, l’integrità e l’autenticità delle informazioni scambiate tra dispositivi client e server (e viceversa).
Quando Android 7 Nougat fu lanciato sul mercato nel 2016, i certificati CA furono divisi in due grandi gruppi: una lista “fissa” di CA fornita dal sistema operativo e utilizzata da tutte le app per impostazione predefinita, e un insieme di CA eventualmente modificabili dagli utenti, sfruttate solo da app specifiche.
Con il rilascio di Android 14, Google sta compiendo una modifica rilevante: sta separando i certificati CA dall’immagine del sistema operativo in modo che possano essere aggiornati da remoto senza un aggiornamento della ROM (leggasi firmware del dispositivo tra le mani dell’utente). L’idea è quella di rafforzare le difese contro l’utilizzo di certificati inaffidabili ma la soluzione tecnica adottata sembra destinata a rendere la vita più difficile agli sviluppatori e ai ricercatori di sicurezza.
Perché il blocco delle modifiche sui certificati di sistema può essere un problema, a partire da Android 14
Anche accedendo al dispositivo Android con i privilegi root, secondo Perry diventa molto complicato intervenire sui certificati CA con il rilascio della versione definitiva di Android 14 e successive.
A questo proposito, vale la pena evidenziare che l’accesso root non accetta mezze misure. Interagire con Android da utente root significa avere “carta bianca”: si è conquistata la libertà di compiere qualunque tipo di modifica. Magisk, tool open source che facilita l’acquisizione dei privilegi root, ad esempio, oggi integra meccanismi “ad hoc” che consentono di intervenire direttamente sul codice Java. Anche se nascosto da qualche parte sul terminale dell’utente, usando i diritti root è comunque possibile a qualunque genere di codice ed effettuare variazioni.
Questo, insomma, vale anche per i certificati CA. Il punto cruciale è che in precedenza qualsiasi utente poteva modificare i certificati direttamente, anche sulle immagini del sistema operativo fornite da Google, senza installare alcuno strumento. Adesso non è più possibile.
Cosa cambia nel caso delle ROM Android alternative, per gli sviluppatori e i ricercatori
Certo, come osserva Perry, gli sviluppatori di ROM alternative come LineageOS, GrapheneOS, Pixelexperience e così via non avranno problemi perché sono comunque in grado di disabilitare la nuova funzionalità introdotta con Android 14, se necessario. Il fatto è che questi interventi necessitano di un bel po’ di lavoro in più e porteranno a progetti che, nelle funzionalità “core”, potranno divergere in maniera significativa rispetto al codice AOSP.
Molte app Android potrebbero comunque non funzionare più nelle ROM alternative a causa di protezioni come Google Play Integrity API.
L’impatto sarà comunque molto più pesante per i ricercatori che si occupano di privacy e sicurezza oltre per i reverse engineer, che devono essere tutti in grado di ispezionare il traffico generato da app di terze parti per comprendere appieno il comportamento delle applicazioni stesse.
Il nuovo schema adottato con Android 14 può inoltre provocare problemi pratici ai numerosi sviluppatori e tester Android che utilizzano strumenti di debug HTTP con le proprie applicazioni.
Concludendo, se da un lato le ragioni delle rinnovate modalità di gestione dei certificati CA sono più che comprensibili e anche condivisibili, le esigenze dei ricercatori e degli sviluppatori in materia di sicurezza e privacy ne risultano completamente ignorate. Anche perché senza la possibilità di studiare a basso livello il comportamento delle applicazioni installate sui terminali, ne vanno di mezzo proprio la sicurezza e la privacy degli utenti. Proprio le figure che si vorrebbero tutelare.