- Implementazione di un sistema di visibilità granulare che sostituisce la patch di sicurezza monolitica con un'analisi basata sui componenti.
- Possibilità di verificare vulnerabilità specifiche tramite l'integrazione con il database OSV e il tracciamento CVE.
- Standardizzazione della comunicazione tra produttori e applicazioni tramite il Security State Provider per la gestione degli aggiornamenti OTA.
Proteggere uno smartphone Android al giorno d'oggi è, francamente, un vero grattacapo. Data la complessità dell'ecosistema, gli sviluppatori si affidavano in passato a un parametro molto generico chiamato Security Patch Level (SPL), che era sostanzialmente come cercare di stabilire se una casa è sicura basandosi solo sulla data dell'ultima ristrutturazione importante, senza avere la minima idea se la serratura della porta sul retro sia ancora rotta.
Per colmare questa lacuna informativa, sono arrivate le librerie AndroidX Security State e Security State Provider . Questi strumenti rappresentano una vera svolta, offrendo una visibilità dettagliata su ogni angolo del sistema, consentendo al software di essere realmente resiliente agli attacchi e permettendo alle app di prendere decisioni intelligenti basate su prove concrete, non su semplici supposizioni, stabilendo così un modello zero-trust.
Addio alla singola patch: l'era della granularità
Il problema principale legato all'affidarsi a una singola libreria SPL è che Android viene ora aggiornato in modo frammentario a causa di Project Mainline e degli aggiornamenti di sistema di Google Play. Per mettere ordine in questo caos, le nuove librerie suddividono la sicurezza in tre pilastri: il sistema operativo di base (aggiornato via etere), i moduli di sistema (distribuiti tramite Google Play) e il kernel Linux , che è il fondamento di tutto e viene misurato utilizzando le versioni LTS anziché le date di rilascio mensili.
Per ciascuna di queste componenti, è possibile consultare tre diversi stati, che forniscono un quadro completo della situazione:
- Livello di pressione sonora del dispositivo (DSPL): Indica cosa è installato e in esecuzione sul dispositivo in quel preciso momento, senza bisogno di una connessione a Internet.
- Livello di pressione sonora pubblicato (PSPL): Rappresenta la versione più recente pubblicata ufficialmente nel bollettino di sicurezza di Android.
- Livello di pressione sonora disponibile (ASPL): Questo strumento rivela se è già stato scaricato un aggiornamento o se è pronto per essere installato tramite un meccanismo di comunicazione interprocesso (IPC).
Controllo delle vulnerabilità e audit CVE
Uno dei punti di forza è l'integrazione con il database Open Source Vulnerabilities (OSV) . Non è più necessario procedere per tentativi per determinare se la patch di un determinato mese risolve una specifica vulnerabilità; ora è possibile monitorare programmaticamente le singole CVE .
Questa è una risorsa preziosa per le applicazioni fintech, bancarie o sanitarie, in quanto consente di limitare trasferimenti di valore elevato o l'accesso a dati sensibili qualora rilevino la presenza di una vulnerabilità critica di Bluetooth o NFC ancora attiva sul dispositivo. Ad esempio, falle come la scrittura fuori dai limiti della memoria in libimagecodec.quram.so potrebbero consentire ad aggressori remoti di eseguire codice arbitrario, trasformando un dispositivo obsoleto in una backdoor per le reti aziendali.
Implementazione tecnica e flusso di lavoro
Per avviare e far funzionare il tutto, lo sviluppatore deve aggiungere la dipendenza androidx.security:security-state:1.1.0 nel tuo file Gradle. L'inizializzazione è semplice e richiede un contesto Android, anche se la velocità può essere migliorata passando un report di vulnerabilità in formato JSON direttamente al costruttore. SecurityPatchState.
Il flusso di lavoro è generalmente suddiviso in tre tipi di controlli:
- Verifiche sincrone: Vengono utilizzati per ispezionare il DSPL all'avvio dell'app e confrontarlo con una data base obbligatoria.
- Query asincrone: attraverso
fetchAvailableSecurityPatchLevelL'app può notificare all'utente la presenza di un aggiornamento in sospeso e reindirizzarlo alle impostazioni. - Audit approfonditi: Con
queryAllAvailableUpdatesÈ possibile analizzare la freschezza dei dati e scoprire quale fornitore di aggiornamenti sta rispondendo.
È importante notare che il supporto varia a seconda della versione del sistema. Mentre Android 11 e versioni successive offrono il supporto completo, Android 10 non ha un supporto ufficiale a livello di kernel e nelle versioni 9 e precedenti, dove i moduli di Project Mainline non esistevano, il sistema restituisce per impostazione predefinita la data Unix (1970-01-01).
Il ruolo del Security State Provider e le nuove funzionalità di Android 17
Affinché l'intero sistema funzioni, qualcuno deve annunciare la disponibilità di aggiornamenti. È qui che entra in gioco il Security State Provider , che standardizza il modo in cui i client di aggiornamento segnalano la disponibilità di aggiornamenti all'ASPL. In precedenza, le informazioni sugli aggiornamenti OTA di ciascun produttore erano confinate in silos proprietari; ora, qualsiasi app autorizzata può accedere ai dati indipendentemente dalla marca del telefono.
Inoltre, Android 17 ha introdotto un importante miglioramento per i produttori (OEM) tramite un file XML per le patch supplementari . Questo permette loro di dichiarare le proprie correzioni di sicurezza implementate senza dover attendere il rilascio globale delle patch supplementari, garantendo che gli interventi di patching in corso vengano riconosciuti immediatamente e che il dispositivo non risulti vulnerabile anche dopo essere stato protetto.
Altri strumenti nell'ecosistema di sicurezza AndroidX
Oltre allo stato del sistema, esistono altri componenti chiave. La libreria security-crypto è essenziale per la gestione delle chiavi e la crittografia di file o SharedPreferences. Sebbene alcune versioni di JetSec siano ormai obsolete, è meglio non abusare dello spazio di archiviazione per dati sensibili, poiché il modello sandbox di Android e la crittografia basata su file sono già molto robusti.
Degno di nota è anche security-app-authenticator , che semplifica la verifica dell'affidabilità di un'applicazione in base alla sua identità di firma. Utilizzando XML con nomi di pacchetti e identità, la libreria garantisce che solo le applicazioni legittime possano interagire con i componenti critici del sistema.
Il passaggio a un'ispezione dettagliata a livello di componente, la possibilità di verificare le CVE tramite OSV e la standardizzazione degli aggiornamenti OTA rendono AndroidX Security State il punto di riferimento per una maggiore sicurezza mobile. Grazie all'integrazione di questi strumenti, i flussi di lavoro critici diventano resilienti e gli utenti finali sono sempre protetti dalle minacce più recenti nel panorama digitale.



