Linux: autenticazione aggirabile in 70 secondi

La vulnerabilità si annida nel sistema di autenticazione per la crittografia del disco di alcune distro. Il sistema apre una shell con privilegi di root e consente di copiare o cancellare i dati dal disco fisso.

La crittografia del disco fisso dovrebbe essere uno strumento per garantire maggiore sicurezza. Nel caso di Debian e Ubuntu, però, si trasforma in un clamoroso bug che apre le porte alla violazione dei dati.

La colpa è di LUKS (Linux Unified Key Setup), il sistema di cifratura dei dischi fissi utilizzato da molte distro, che gli utenti possono attivare per proteggere i loro dati con un sistema di crittografia.

L’utility, probabilmente a causa di un errore di programmazione in una patch di sicurezza relativa a Cryptsetup, ha un comportamento anomalo.

In teoria, infatti, il sistema di autenticazione dovrebbe consentire un numero massimo di tentativi (tre come impostazione predefinita) per l’inserimento della password. Come hanno verificato Hector Marco e Ismael Ripoll, però, in alcune versioni di Linux il sistema gestisce in maniera errata il controllo della password e continua il processo di avvio del sistema, comportandosi come se il mancato accesso ai dati sul disco fosse dovuto a un problema con il dispositivo.

Risultato: a ogni tentativo di recuperare il disco “malfunzionante” viene consentito di inserire nuovamente la password. Nei sistemi x86 questo loop viene ripetuto per 30 volte, consentendo così all’utente di effettuare 93 tentativi di accesso.

Si tratta di un numero di tentativi insufficienti per portare a termine un attacco di brute forcing o avere qualche speranza di indovinare la password, ma il vero problema si presenta quando si esauriscono i tentativi.

Il sistema, infatti, apre a questo punto una shell con privilegi di root che, come spiegano i due ricercatori, consentirebbe di eseguire operazioni dannose sul computer.

In particolare, chiunque avesse accesso alla consolle potrebbe sfruttare questo metodo per copiare i dati contenuti nel disco (comunque cifrati) o, ancora più grave, cancellarli.

In definitiva, quindi, per portare un attacco simile nei confronti di una macchina su cui è attiva la crittografia del disco è sufficiente tenere premuto il tasto Invio per circa 70 secondi, fino a quando non compare la shell.

Secondo i ricercatori, la falla è presente sicuramente in Debian e Ubuntu, così come in Fedora. Marco e Ripoll, però, non escludono che si presenti anche in altre distro.

Nel loro report, i due ricercatori presentano alcune possibili soluzioni per risolvere il problema (per esempio la patch mostrata nell’immagine, che blocca il numero di tentativi di accesso) ma segnalano anche due problemi più generali di impostazione “culturale”.

Le impostazioni predefinite dei sistemi Linux, fanno notare, tendono a consentire un margine troppo ampio di intervento in caso di problemi. Questo, sottolineano, perché Linux è un sistema “creato da sviluppatori per gli sviluppatori”.

Strumenti come la shell di recupero che consente di sfruttare questa vulnerabilità, sottolineano, sono utili per chi amministra i sistemi, ma espongono a enormi rischi. Di conseguenza non dovrebbero essere disponibili come impostazione predefinita.

Il peccato originale, però, è quello di concentrare gli sforzi in ambito di sicurezza solo per proteggere il sistema da attacchi in remoto, dando per scontato che l’accesso fisico alla macchina sia limitato agli amministratori e agli utenti autorizzati.

Oggi, spiegano Marco e Ripoll, non è più così ed esistono decine di situazioni in cui l’accesso fisico a una macchina è lasciato a chiunque. Per esempio nel caso dei bancomat, dei totem informativi o dei dispositivi per il check-in automatico negli aeroporti.