Il kernel Linux è la base sulla quale poggia il sistema operativo Android. Sebbene il “robottino verde” aggiunga molte funzionalità e introduca specifiche modifiche, il nucleo delle operazioni di gestione dell’hardware e delle risorse rimane proprio il kernel Linux. Questa stretta integrazione permette ad Android di beneficiare della robustezza, flessibilità e sicurezza del kernel Linux, fornendo al contempo un ambiente ottimizzato per dispositivi mobili.
Android include driver specifici per l’hardware dei dispositivi mobili: touchscreen, GPS, fotocamere e sensori. Questi driver sono spesso scritti o modificati per funzionare con il kernel Linux di Android. Il sistema operativo Google, inoltre, utilizza un meccanismo di inter-process communication (IPC) chiamato Binder, che non è presente nel kernel Linux standard.
Le altre funzionalità e ottimizzazioni di Android sono incentrare sulla gestione della batteria, le prestazioni e la sicurezza: sono cucite proprio sulle esigenze dei dispositivi mobili.
Per eseguire le applicazioni scritte in Java, le versioni più recenti di Android utilizzano la macchina virtuale ART (Android Runtime) che in passato ha sostituito la storica Dalvik.
Un problema livello kernel Linux si riverbera sull’intero sistema operativo Android
Clément Lecigne, ricercatore di sicurezza parte del team Threat Analysis Group (TAG) di Google, ha scoperto un grave problema di sicurezza che interessa il sistema di gestione delle strutture di rete all’interno del kernel Linux. Un bug nella funzione __dst_negative_advice()
, coinvolta nell’elaborazione delle informazioni relative ai percorsi di rete, se sfruttato da parte di un aggressore, può condurre a un comportamento imprevisto del sistema. Sfruttando il problema di sicurezza in questione, possono manifestarsi fenomeni di corruzione della memoria nonché l’esecuzione di codice arbitrario.
I tecnici di Google affermano che la falla in questione, contraddistinta con l’identificativo CVE-2024-36971, può essere già sfruttata per sferrare attacchi. Al momento limitati e mirati.
Anche se Google non ha ancora fornito dettagli sul modo in cui la falla viene sfruttata e su quali siano i soggetti che ne stanno già approfittando, i ricercatori di sicurezza spesso identificano zero-day nei software per la sorveglianza di specifici individui. Si tratta di applicazioni sviluppate da agenzie specializzate che ne rivendono l’utilizzo a governi e forze di polizia per colpire individui di alto profilo.
Vulnerabilità scoperte a livello kernel sono state ripetutamente utilizzate in passato per sbloccare i dispositivi Android senza disporre di un PIN o di altre credenziali.
Che cosa fare adesso?
Google non ha specificato come possa avvenire all’atto pratico l’attacco. Tuttavia, è altamente probabile che codice in esecuzione in locale sul dispositivo mobile (si pensi a una normale app Android installata da varie fonti) sia in grado di far leva sulla falla CVE-2024-36971.
Non è escluso che collegando tra loro più vulnerabilità, specie sui dispositivi Android non più supportati dai produttori e quindi non aggiornati, sia possibile eseguire codice arbitrario anche in modalità remota.
Il suggerimento è quello di accedere alle impostazioni di Android, applicare gli aggiornamenti disponibili e controllare il cosiddetto Livello patch o Aggiornamento della sicurezza Android. Se la data qui riportata fosse piuttosto indietro nel tempo, significa che il produttore del dispositivo mobile non mette più a disposizione alcuna patch, nemmeno quelle destinate a risolvere problematiche di sicurezza. In questi frangenti è opportuno valutare l’installazione di una ROM non ufficiale, in grado di godere del supporto della comunità e di aggiornamenti periodici.
Fondamentale aggiornare le applicazioni che integrano funzionalità di browsing (compreso Android System WebView) ed evitare l’installazione di app Android provenienti da fonti dubbie o create da sviluppatori sconosciuti.
Credit immagine in apertura: Copilot Designer