Alcuni certificati di piattaforma (o platform key) legittimi per Android sono stati abusati per eseguire codice arbitrario con i diritti più ampi possibile e firmare applicazioni per il sistema operativo Google contenenti malware.
I certificati sarebbero stati sottratti illegalmente a Samsung, LG, MediaTek, Revoview e altri fornitori di dispositivi OEM al momento non ancora verificati.
Ricordiamo che i platform key consentono di effettuare una sorta di certificazione di attendibilità tra il proprietario della piattaforma e il firmware installato sul dispositivo dal produttore della piattaforma.
Nel caso in questione, i certificati di piattaforma utilizzati dai fornitori di dispositivi OEM consentono di firmare digitalmente le immagini ROM di base dei dispositivi con il sistema operativo Android e le singole applicazioni associate per certificarne, appunto, l’attendibilità.
Come sottolinea Riccardo Meggiato, consulente in cyber security e informatica forense, “la sicurezza dei certificati è un problema che si sta amplificando sempre più, al punto che inizia a mostrare l’inadeguatezza di questa tecnologia, da sola, contro tecniche e minacce malevole più evolute”.
Indice degli argomenti
Ccertificati di piattaforma abusati per diffondere app malevole
La scoperta dell’abuso dei certificati di piattaforma è stata fatta da Łukasz Siewierski, un Reverse Engineer del team Android Security di Google, che ha condiviso in un documento pubblicato nell’ambito dell’Android Partner Vulnerability Initiative (AVPI) i risultati della sua ricerca sulle attività degli attori della minaccia.
New APVI entry: platform certificates used to sign malware
Found by yours truly 🙂https://t.co/qiFMJW111A
— Łukasz (@maldr0id) November 30, 2022
Il rischio di questa nuova attività malevola è dato dal fatto che se le app, anche quelle dannose, vengono firmate con lo stesso certificato di piattaforma e gli viene assegnato l’ID utente “android.uid.system” che ha privilegi elevati, allora queste app otterranno anche l’accesso a livello SYSTEM al dispositivo Android.
In questo modo, le app malevole riescono ad accedere a permessi sensibili normalmente non concessi alle applicazioni non di sistema, come la gestione delle chiamate in corso, l’installazione o l’eliminazione di pacchetti software, la raccolta di informazioni sul dispositivo e altre azioni altamente sensibili.
“Un certificato di piattaforma è il certificato di firma dell’applicazione utilizzato per firmare l’applicazione “android” sull’immagine di sistema. L’applicazione “android” viene eseguita con un ID utente altamente privilegiato – android.uid.system – e detiene le autorizzazioni di sistema, comprese quelle per accedere ai dati dell’utente”, spiega il reverse engineer di Google.
“Qualsiasi altra applicazione firmata con lo stesso certificato può richiedere al sistema operativo di essere eseguita con lo stesso ID utente, ottenendo lo stesso livello di accesso al sistema operativo Android”.
Ecco il contenuto del file Manifest di una delle app malevole Android a cui è stato assegnato l’ID utente “android.uid.system” con privilegi elevati (fonte: BleepingComputer).
Nei risultati delle sue ricerca Siewierski ha individuato diversi campioni di malware firmati utilizzando dieci platform key Android legittimi e ha fornito gli hash SHA256 per ciascuno dei campioni e i certificati firmati digitalmente.
Utilizzando questi stessi hash, BleepingComputer ha potuto verificare, con una ricerca su VirusTotal, che alcuni dei certificati di piattaforma abusati appartengono effettivamente a Samsung Electronics, LG Electronics, Revoview e MediaTek.
Questi sono i pacchetti dei dieci campioni di malware firmati con i certificati di piattaforma sottratti ai fornitori di dispositivi OEM Android:
- com.russian.signato.renewis
- com.sledsdffsjkh.Search
- com.android.power
- com.management.propaganda
- com.sec.android.musicplayer
- com.houla.quicken
- com.attd.da
- com.arlo.fappx
- com.metasploit.stage
- com.vantage.ectronic.cornmuni
Dal report pubblicato dall’ingegnere di Google non si evince, comunque, se i certificati di piattaforma siano stati rubati da attori della minaccia o se i pacchetti APK malevoli siano stati firmati da un insider e poi fatti trapelare all’esterno.
Inoltre, non si sa al momento se i campioni di malware siano stati diffusi sul Play Store, distribuiti mediante store di terze parti o in attacchi mirati.
Le misure di mitigazione del rischio
In maniera responsabile, Google ha immediatamente informato i fornitori di dispositivi OEM Android consigliando loro di sospendere l’utilizzo dei certificati di piattaforma incriminati e sostituirli con altri per evitare che si verifichino in futuro altri incidenti simili.
“Più che la tecnologia in sé”, ci dice ancora Riccardo Meggiato, “occorre rivedere il modello, che si basa in toto o in parte nell’affidare la sicurezza alla custodia di un asset digitale, nella speranza che questo non venga trafugato. Non a caso, nella recente vicenda che riguarda grossi nomi come Samsung, MediaTek e LG si ipotizza un furto o l’azione mirata di un insider”.
“Ovviamente non si tratta di sostituire i sistemi di verifica basati su certificati, ma di accompagnarli da altre tecnologie di controverifica e limitare i punti di vulnerabilità della supply chain che li gestisce”, conclude l’esperto in cyber security e informatica forense.
Quanto accaduto è l’occasione buona per ricordare l’importanza di scaricare sempre le app per il proprio dispositivo Android dal Play Store: Google ha infatti aggiornato il suo sistema di sicurezza Play Protect proprio per rilevare eventuali malware.
Qualora i dispositivi vengano utilizzati in ambito aziendale e produttivo, inoltre, è opportuno installare una buona soluzione di sicurezza (ancora meglio se integrata nell’eventuale client di Mobile Device Management per il controllo remoto e centralizzato dei dispositivi usati per lo smart working) in grado di garantire un elevato livello di protezione dei dati e delle informazioni riservate archiviate in memoria.
Altrettanto importante, infine, mantenere sempre aggiornata la versione di Android sul proprio dispositivo.