I moduli APEX (Android Package EXecutable) sono dei pacchetti predisposti da Google per consentire agli sviluppatori di aggiornare parti specifiche del sistema operativo Android senza dover intervenire sull’intero sistema. Il fatto è che, come spiega Tom Hebb (Meta), i pacchetti APEX dovrebbero essere sempre firmati con una chiave privata nota solo al singolo produttore hardware.
A settembre 2023, tuttavia, i tecnici del Red Team X di Meta hanno scoperto che nel sorgente di AOSP (Android Open Source Project), il progetto open source gestito da Google, sono presenti delle chiavi crittografiche di test. Questa, ad esempio, è la chiave privata con cui è firmato il modulo APEX che permette di agire su com.android.art
, ovvero il motore Art (Android Runtime), ambiente di esecuzione delle applicazioni introdotto da Google con Android 5.0 “Lollipop” come successore del precedente runtime Dalvik.
Chiavi private presenti nelle immagini di Android possono consentire l’esecuzione di codice con i privilegi più elevati
Analizzando il sorgente delle immagini del sistema operativo, derivate da AOSP, utilizzate da 14 famosi produttori Android nei loro dispositivi, è emerso che 7 aziende condividono almeno una chiave privata. Utilizzandola, chiunque può di fatto sviluppare codice firmato digitalmente e presentarlo ad Android come se fosse un aggiornamento autorizzato.
Questo, ovviamente, può avere delle conseguenze drammatiche: l’esecuzione di codice arbitrario con i massimi privilegi possibile può avere come conseguenza l’installazione di malware e spyware a basso livello, la sottrazione di dati personali, il danneggiamento dell’integrità delle applicazioni e dei dati.
Quali sono i dispositivi Android a rischio e quali i produttori interessati dalla problematica
Dopo la segnalazione di Meta, giunta in privato, Google si è subito attivata per porre rimedio alla questione. L’azienda di Mountain View ha quindi rilasciato, a dicembre 2023, una patch ufficiale che mira a impedire l’utilizzo delle chiavi private di test. Nel frattempo, al problema di sicurezza è stato assegnato l’identificativo CVE-2023-45779.
Indipendentemente dal dispositivo utilizzato, quindi, chi ha installato l’aggiornamento di dicembre 2023 o successivi per Android è al momento immune da qualunque tipo di attacco.
Secondo Hebb, un aggressore che provasse a eseguire codice su un dispositivo Android vulnerabile sfruttando la falla CVE-2023-45779, potrebbe effettivamente aggirare i meccanismi di sicurezza esistenti e comprometterli in modo completo.
La lacuna di sicurezza in questione ha impatto su molti OEM, tra cui ASUS (Zenfone 9), Microsoft (Surface Duo 2), Nokia (G50), Nothing (Phone 2), VIVO (X90 Pro), Lenovo (Tab M10 Plus) e Fairphone (5). I modelli di dispositivi citati, tuttavia, rappresentano solo la punta dell’iceberg perché sono solamente quelli utilizzati durante i test svolti nei laboratori Meta. È verosimile che molti, se non tutti, i dispositivi Android degli stessi produttori possano lamentare il medesimo problema. D’altra parte, il bollettino di Fairphone sulla questione lo conferma.
La lista dei produttori e dei dispositivi Android certamente NON vulnerabili
Gli esperti di Meta hanno condiviso anche l’elenco dei modelli di dispositivi risultati immuni alla problematica descritta. Google (Pixel), Samsung (Galaxy S23), Xiaomi (Redmi Note 12), OPPO (Find X6 Pro), Sony (Xperia 1 V), Motorola (Razr 40 Ultra) e OnePlus (10T) sono indicati come certamente non vulnerabili.
Anche in questo caso, gli altri dispositivi dei medesimi produttori dovrebbero a loro volta essere esclusi dalla falla CVE-2023-45779.
Attualmente non sfruttabile da remoto, la vulnerabilità CVE-2023-45779 potrebbe essere usata in una catena di exploit
Con l’obiettivo di sensibilizzare sviluppatori, produttori e utenti finali sulla delicatezza della questione, i ricercatori di Meta hanno pubblicato su GitHub il codice Proof-of-Concept (PoC).
La problematica oggetto di trattazione richiede di per sé l’accesso fisico al dispositivo Android vulnerabile e l’utilizzo del comando adb shell
. Tuttavia, come abbiamo visto in molte altre circostanze, esiste sempre la possibilità che la vulnerabilità CVE-2023-45779 sia utilizzata nell’ambito di una catena di exploit per ottenere privilegi elevati in un dispositivo già compromesso.
Il consiglio è quello di verificare nelle impostazioni di Android, toccando Info sul telefono/tablet, lo stato di aggiornamento del dispositivo. Se non fosse aggiornato (livello di patch di sicurezza antecedente a 2023-12-05), è opportuno installare le eventuali patch disponibili. In loro mancanza, è opportuno valutare il passaggio a una ROM Android più recente.