Vai al contenuto
Offerte

GhostMap, falla Android: basta installare un’app per il boot loop

In questo articolo Indice dei contenuti 2 sezioni

Una vulnerabilità ribattezzata GhostMap è in grado di trascinare i dispositivi Android dentro un boot loop persistente, cioè un ciclo continuo di riavvii che rende il telefono di fatto inutilizzabile. Per scatenarlo basta un’app costruita su misura che non richiede alcun permesso e che non ha nemmeno bisogno di essere aperta. È sufficiente che venga installata.

Il meccanismo produce una vera e propria negazione del servizio persistente, quella che in gergo si chiama DoS. L’app sfrutta la falla per costringere Android a mappare un file all’interno di una regione di memoria non allocata. Quando il processo coinvolto prova a leggere da quella zona va in crash, e da lì comincia il problema.

A scoprire la vulnerabilità è stata Bitdefender, azienda rumena specializzata in sicurezza informatica, quasi per caso. I ricercatori stavano analizzando un trojan bancario per Android che continuava a mandare in tilt i loro emulatori ogni volta che cercava di leggere una risorsa dell’applicazione. Approfondendo la questione hanno individuato l’origine del comportamento e l’hanno replicata con un’app dimostrativa priva di codice eseguibile, senza permessi richiesti in fase di installazione e senza alcuna necessità di essere avviata sul dispositivo.

Secondo la società, Google è al corrente di GhostMap da agosto ma ha chiuso la segnalazione senza rilasciare una correzione, classificandola come “non riproducibile”.

Come GhostMap manda in crisi il sistema

Alla base di tutto c’è un disaccordo tecnico tra due librerie di Android, che interpretano in modo diverso i metodi di compressione ZIP. Questa incoerenza permette a un APK malformato, il pacchetto con cui vengono distribuite le app, di aggirare i controlli sulle dimensioni e di essere mappato oltre il contenuto effettivo del file. I ricercatori spiegano che leggere una voce di questo tipo provoca un SIGBUS in qualunque processo tocchi il file. Si tratta di un segnale inviato dalla CPU per fermare un processo che accede a uno spazio di memoria non valido.

Per mostrare l’effetto a catena Bitdefender ha inserito nella propria app una risorsa che system_server, il servizio centrale di Android, prova a leggere in automatico subito dopo l’installazione. La lettura fa scattare la falla e il processo si riavvia. Appena ripartito torna a leggere la stessa risorsa e crolla di nuovo, in un giro senza fine.

Durante i test è stato utilizzato Pixel 10 con Android 17 e la patch di sicurezza del 5 agosto. Il telefono ha cominciato la sequenza di crash circa un secondo dopo l’installazione dell’app, con il ciclo che si è ripetuto 110 volte in avvio normale e 72 volte in modalità provvisoria. C’è poi un dettaglio non da poco. Il boot loop impedisce anche di accedere alla modalità provvisoria, che in condizioni normali servirebbe proprio a diagnosticare il guasto e a rimettere in sesto lo smartphone.

Le strade per interrompere i crash sono soltanto due. La prima è il ripristino ai dati di fabbrica, che però cancella tutto quello che è salvato in locale. La seconda passa per ADB, eliminando il file malformato, ma richiede che il debug sia già attivo sul dispositivo e che gli script riescano ad agire prima che il sistema vada in crash.

La risposta di Google

Bitdefender ha segnalato il problema a Google il 20 agosto, ricevendo come risposta un “Won’t Fix (Not Reproducible)”, ovvero nessuna correzione perché il difetto non risultava riproducibile, con la questione considerata fuori dall’ambito previsto. Convinti che il colosso di Mountain View avesse classificato male il rapporto iniziale, i ricercatori hanno inviato una versione più dettagliata il 25 agosto. Anche in questo caso l’azienda ha ritenuto la falla estranea al perimetro di un aggiornamento di sicurezza, pur riservandosi di valutarla per un aggiornamento futuro.

Secondo Bitdefender l’unica occasione per fermare l’attacco è il momento dell’installazione. Gli strumenti di sicurezza di terze parti possono aiutare a individuare una possibile minaccia e a mostrare un avviso, ma non dispongono dei permessi necessari per bloccare l’installazione dell’app.

Fonte: TecnoAndroid

Condividi:
132 Condivisioni