Compilare un file .c con un parametro specifico per il linker e mandarlo in esecuzione: è ciò che serve per scalare i privilegi del sistema operativo e diventare utente root in meno di 5 secondi.
La causa è una falla presente nel kernel Linux da circa 11 anni, alla quale Linus Torvalds ha tentato di porre rimedio una volta; il lavoro di Torvalds, tuttavia, è stato annullato da una postuma modifica al kernel – dunque di fatto questa vulnerabilità è sfruttabile più o meno dal 2007.
La causa di tutto sarebbe una cosiddetta “race condition” del kernel, che si verifica durante alcune operazioni di lettura in aree di memoria adibite, appunto, alla sola lettura. Una volta scoperto l’arcano, abbastanza difficile da replicare, è un attimo.
Gli exploit che sfruttano questa vulnerabilità sono stati semplici da scrivere e, stando alle parole di Phil Oester – il ricercatore che ha scoperto tutto ciò – l’attacco è
banale da eseguire, non fallisce mai e probabilmente è stato in giro per anni.
La falla in questione prende il nome di CVE-2016-5195 e la serie di exploit scritti da Oester prendono il nome di “Dirty COW”. Le conseguenze sono piuttosto gravi:
Un utente locale potrebbe sfruttare questa falla per ottenere accesso in scrittura a zone di memoria altrimenti in sola lettura, dunque ottenere privilegi elevati sul sistema.
Ho personalmente provato gli exploit in un ambiente virtuale e, effettivamente, nel 90% dei casi sono riuscita ad ottenere il risultato “aspettato”, più o meno come succede nel filmato pubblicato da Oester e che potrete vedere in alto. Se replicherete l’esperimento ricordate di catturare uno snapshot del sistema prima di procedere: alcuni degli e
Torvalds ha puntualizzato che questa falla all’inizio era puramente teorica, tuttavia ora è più semplice da sfruttare grazie ai progressi relativi agli ambienti virtuali. Il codice delle versioni supportate del kernel Linux è stato aggiornato e la falla è stata chiusa; i gestori delle distribuzioni, come ad esempio Red Hat, stanno lavorando per distribuire aggiornamenti di sistema.
Tutti gli utenti Linux devono prendere questo bug molto sul serio e patchare i sistemi operativi il più presto possibile.
E ciò è assolutamente vero: tenete aggiornati i vostri sistemi operativi installando le patch di sicurezza appena disponibili. Se avete sufficiente pratica e non siete legati a dipendenze particolari, scaricate i sorgenti più aggiornati del kernel e ricompilatelo manualmente applicando la patch.
Per tutte le informazioni tecniche su Dirty COW potrete consultare il sito web dedicato.