Vulnerabilità in cryptsetup che consente di disabilitare la crittografia nelle partizioni LUKS2.

È stata identificata una vulnerabilità nel pacchetto Cryptsetup, utilizzato per la crittografia delle partizioni disco in Linux (CVE-2021-4122), che consente la disattivazione della crittografia nelle partizioni in formato LUKS2 (Linux Unified Key Setup) tramite la modifica dei metadati. Per sfruttare questa vulnerabilità, un attaccante deve avere accesso fisico al supporto crittografato, il che significa che questo metodo è essenzialmente utile per attacchi a dispositivi esterni crittografati, come le chiavette USB, a cui l'aggressore può accedere ma non conosce la password per decrittografare i dati.

L'attacco è applicabile solo al formato LUKS2 ed è legato alla manipolazione dei metadati responsabili dell'attivazione dell'estensione "online reencryption", che consente, se necessario, di cambiare la chiave di accesso e di avviare il processo di re-criptazione dei dati in tempo reale, senza interrompere l'uso della partizione. Poiché il processo di decrittazione e crittazione con una nuova chiave richiede tempo, l'"online reencryption" offre la possibilità di non interrompere l'uso della partizione e di eseguire la re-criptazione in background, convertendo gradualmente i dati da una chiave all'altra. È anche possibile scegliere una chiave di destinazione vuota, il che consente di convertire la partizione in uno stato decrittato.

L'attaccante può modificare i metadati LUKS2 in modo da simulare un'interruzione imprevista dell'operazione di decrittazione a seguito di un guasto, riuscendo così a decrittare parte della sezione dopo aver attivato e utilizzato il supporto modificato dal proprietario. In questo modo, l'utente che collega il supporto modificato e lo sblocca con la password corretta non riceve alcun avviso sull'esecuzione del processo di recupero dell'operazione di crittografia interrotta e può scoprire il progresso di tale operazione solo tramite il comando «luks Dump». La quantità di dati che l'attaccante può decrittare dipende dalle dimensioni dell'intestazione LUKS2, ma con la dimensione predefinita (16 MiB) può superare i 3 GB.

Il problema è causato dal fatto che, nonostante il ri-criptaggio richieda il calcolo e la verifica degli hash delle nuove e vecchie chiavi, per iniziare la decriptazione non è necessario alcun hash se il nuovo stato implica l'assenza di una chiave per la crittografia (testo in chiaro). Inoltre, i metadati LUKS2, in cui viene specificato l'algoritmo di crittografia, non sono protetti da modifiche se dovessero finire nelle mani di un malintenzionato. Per bloccare questa vulnerabilità, gli sviluppatori hanno aggiunto una protezione aggiuntiva nei metadati LUKS2, per i quali ora viene controllato un hash extra, calcolato sulla base delle chiavi conosciute e del contenuto dei metadati, cioè l'attaccante non può più modificare silenziosamente i metadati senza conoscere la password per la decriptazione.

Uno scenario tipico di attacco richiede che l'aggressore abbia la possibilità di ottenere più volte il dispositivo. Inizialmente, l'attaccante, che non conosce la password di accesso, apporta modifiche all'area dei metadati che attivano la decrittazione di una parte dei dati alla successiva attivazione del dispositivo. Poi il dispositivo viene restituito al suo posto e l'aggressore aspetta che l'utente lo colleghi, inserendo la password. Durante l'attivazione del dispositivo da parte dell'utente, viene avviato un processo in background di ri-crittografia, durante il quale parte dei dati crittografati viene sostituita da dati decrittografati. Successivamente, se l'aggressore riuscirà a ottenere di nuovo il dispositivo, parte dei dati sul dispositivo sarà in forma decrittografata.

Un problema è stato identificato dal manutentore del progetto cryptsetup ed è stato risolto negli aggiornamenti cryptsetup 2.4.3 e 2.3.7. È possibile monitorare lo stato della creazione degli aggiornamenti che risolvono il problema nelle seguenti pagine: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. La vulnerabilità si manifesta solo a partire dal rilascio di cryptsetup 2.2.0, in cui è stata introdotta la funzione di "reencryption online". Come soluzione alternativa, si può utilizzare l'avvio con l'opzione "—disable-luks2-reencryption".

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster