Un'app malevola può costringere un dispositivo Android in un ciclo di riavvii persistente semplicemente essendo installata, senza richiedere permessi e senza bisogno di essere aperta, come riportato da BleepingComputer il 5 novembre, secondo quanto hanno scoperto i ricercatori di Bitdefender. Per ripristinare il dispositivo dal difetto, denominato GhostMap, può essere necessario un ripristino di fabbrica che cancella i dati memorizzati localmente, a meno che l'accesso al debug non fosse già stato abilitato.
Bitdefender ha dimostrato il problema su un Pixel 10 con Android 17 e la patch di sicurezza del 5 agosto. La sua app dimostrativa non conteneva codice eseguibile e non richiedeva alcuna interazione dell'utente dopo l'installazione. I ricercatori hanno scoperto il difetto mentre analizzavano un trojan bancario per Android che andava ripetutamente in crash sui loro emulatori durante la lettura di una risorsa dell'applicazione.
Bitdefender afferma di aver segnalato GhostMap a Google ad agosto, ma Google ha classificato il problema come non riproducibile e non ha rilasciato una patch. Lo sfruttamento descritto nel rapporto è la dimostrazione di Bitdefender, non una campagna di attacco documentata.
Come l'installazione innesca i crash
GhostMap deriva dal fatto che due librerie Android interpretano in modo diverso i metodi di compressione ZIP. Un APK malformato, ovvero un pacchetto applicativo Android, può sfruttare questa discrepanza per aggirare i controlli sulle dimensioni, facendo sì che Android mappi in memoria un file oltre il suo contenuto effettivo.
Quando un processo legge la regione non valida, riceve SIGBUS, un segnale che interrompe il processo che tenta un accesso non valido alla memoria. Qualsiasi processo che acceda al file interessato può andare in crash, hanno spiegato i ricercatori.
Per la sua dimostrazione, Bitdefender ha incluso una risorsa che il servizio di sistema principale di Android, system_server, legge automaticamente dopo l'installazione. La lettura fa andare in crash il servizio. Quando il servizio si riavvia, legge di nuovo la stessa risorsa e va di nuovo in crash, creando il ciclo persistente.
Sul Pixel di test, i crash sono iniziati circa un secondo dopo l'installazione. I ricercatori hanno registrato 110 ripetizioni in modalità di avvio normale e 72 in modalità provvisoria. Bitdefender avverte che il ciclo impedisce anche agli utenti di accedere alla modalità provvisoria, normalmente un percorso per la risoluzione dei problemi e il ripristino.
La risposta di Google e le opzioni di ripristino
Bitdefender ha segnalato per la prima volta il problema a Google il 20 agosto e ha ricevuto una risposta “Won’t Fix (Not Reproducible)”, che lo considerava fuori ambito. Ritenendo che Google avesse classificato erroneamente la segnalazione, i ricercatori hanno inviato una versione ampliata il 25 agosto.
Google ha comunque ritenuto il problema al di fuori dell'ambito di un aggiornamento di sicurezza, anche se lo ha riservato a una valutazione per un futuro aggiornamento, ha dichiarato Bitdefender. BleepingComputer aveva chiesto a Google lo stato della correzione e attendeva una risposta al momento della pubblicazione dell'articolo.
Bitdefender afferma che l'occasione per fermare l'attacco è durante l'installazione. Gli strumenti di sicurezza di terze parti possono rilevare la minaccia e mostrare un avviso, ma non hanno il permesso di bloccare l'installazione.
Per gli utenti i cui dispositivi sono già intrappolati nel ciclo, le opzioni di ripristino indicate sono un ripristino di fabbrica oppure l'eliminazione del file malformato tramite Android Debug Bridge (ADB), uno strumento di debug. Il ripristino tramite ADB richiede che il debug sia stato abilitato in precedenza, e gli script di rimozione devono agire prima che il sistema vada di nuovo in crash. Un ripristino di fabbrica cancella tutti i dati memorizzati localmente.




