Una delle caratteristiche che più apprezziamo dell'OpenSource è la sicurezza: se c'è un problema nel codice, chiunque può accertarlo e correggerlo. Ma dare accesso al codice non vuol dire avere qualcuno che davvero lo legga, e quindi alcuni errori, sebbene lampanti, rimangono in giro per molto tempo.
LUKS (ne abbiamo già parlato) è un sistema molto potente per crittografare il proprio hard disk; come spesso accade con le grandi distribuzioni, viene fornito con degli script che ne rendono semplice e automatico l'utilizzo. La distribuzione in questione è Debian (con le sue derivate, in primis Ubuntu), e gli script incriminati (cryptsetup) si occupano di chiedere la password per decriptare il disco prima di montarlo; questi script sono inglobati in un initramfs, ovvero un mini-sistema Linux progettato per caricare il sistema principale o fornire un minimo di assistenza in caso di errore.
Lo script bucato in effetti fornisce questa assistenza: al trentesimo tentativo fallito di inserimento della password, il sistema apre una shell, ma di root: cosa piuttosto curiosa! L'intento è quello di avere uno spazio di lavoro dal quale sistemare eventuali piccoli errori, ma l'effetto è di avere una accesso al sistema, potenzialmente illimitato. In realtà i dati sulla partizione criptata sono ancora criptati, e quindi al sicuro dalla lettura, ma il resto no. In particolare, se l'intento è quello di danneggiare il sistema il buco è perfetto.
La partizione di boot (a meno di configurazioni molto particolari) è campo libero, non criptato, e quindi è possibile immaginare la sostituzione dell'initramfs con uno che includa un malware, compreso un keylogger per la password del disco.
La soluzione? Come descritto dalla CVE-2016-4484, modificare 3 righe dello script in /scripts/local-top/cryptroot e ricreeare l'initramfs:
Come spesso accade (ricordate GRUB2?) la falla c'è ma necessita di un accesso fisico, o per lo meno a livello console, quindi risulta difficilmente sfruttabile, il che ne mitiga molto l'impatto.
In questo caso abbiamo però un elemento d'ironia: quella che è una leggerezza di programmazione crea un buco grave, per lo più attivata da quelle azioni volte ad incrementare la propria sicurezza: criptare il disco!
Leggi il contenuto originale su Mia mamma usa Linux!