VeraCrypt corregge i bug scoperti nel controllo della sicurezza

I ricercatori sulla sicurezza hanno completato l'audit della piattaforma di crittografia VeraCrypt, sostenuto da un Fondo per il miglioramento della tecnologia open source, e hanno trovato otto vulnerabilità critiche, tre di media e 15 di bassa gravità. Il team dietro il popolare strumento ha affrontato i risultati dell'audit in VeraCrypt 1.19. Ecco come dovrebbero funzionare i controlli di sicurezza.

OSTIF ha affermato che VeraCrypt 1.9 è sicuro perché la maggior parte dei difetti è stata risolta. Alcune vulnerabilità non sono state risolte in questa versione, a causa della "complessità elevata per le correzioni proposte", ma esistono soluzioni alternative.

"Fintanto che si segue la documentazione per problemi noti e la si utilizza come consigliato, credo che [VeraCrypt 1.9] sia uno dei migliori sistemi FDE [crittografia dell'intero disco] in circolazione", ha affermato Derek Zimmer, CEO e presidente di OSTIF, in una domanda e risposta Chiedimi qualsiasi cosa su Reddit. Zimmer è anche partner del provider di servizi di rete privata virtuale VikingVPN.

OSTIF ha assunto il ricercatore senior di Quarkslab sulla sicurezza Jean-Baptiste Bédrune e il crittografo senior Marion Videau per controllare la base di codice VeraCrypt, concentrandosi sulla versione 1.18, e il bootloader DCS EFI. L'audit si è concentrato sulle nuove funzionalità di sicurezza che sono state introdotte in VeraCrypt dopo l'audit di sicurezza di aprile 2015 di TrueCrypt. VeraCrypt è il fork di quello strumento di crittografia ormai abbandonato ed è retrocompatibile.

Quattro problemi nel bootloader - battiture non cancellate dopo l'autenticazione, dati sensibili non cancellati correttamente, danneggiamento della memoria e riferimenti a puntatori nulli / errati - sono stati trovati nell'audit e risolti nella versione 1.19. 

È stato inoltre risolto un problema relativo a una password di avvio di bassa gravità, in cui è possibile determinare la lunghezza della password. Sebbene la fuga di informazioni in sé non sia critica, poiché il sistema deve essere avviato ed è richiesto un accesso privilegiato per leggere la memoria del BIOS, la vulnerabilità doveva essere risolta perché un utente malintenzionato che conosceva la lunghezza della password avrebbe accelerato il tempo necessario per la forza bruta attacchi, ha detto l'audit.

VeraCrypt ha fatto affidamento sulle funzioni di compressione per decomprimere il bootloader quando il disco rigido è crittografato, per creare e controllare i dischi di ripristino se il sistema è crittografato e utilizza UEFI e durante l'installazione. L'audit ha rilevato che tutte le funzioni di compressione presentavano problemi.

VeraCrypt utilizzava XZip e XUnzip, che avevano vulnerabilità note ed erano obsolete. "Consigliamo vivamente di riscrivere questa libreria e utilizzare una versione aggiornata di zlib, o preferibilmente, utilizzare un altro componente per gestire i file Zip", hanno affermato i revisori. VeraCrypt 1.19 ha sostituito le librerie vulnerabili con libzip, una libreria zip moderna e più sicura.

UEFI è una delle funzionalità più importanti e più recenti aggiunte a VeraCrypt, quindi gli auditor hanno prestato particolare attenzione a questa parte del codice. Tutto il codice specifico per UEFI è nel repository VeraCrypt-DCS ed è stato "considerato molto meno maturo rispetto al resto del progetto" dallo sviluppatore principale di VeraCrypt, hanno scritto i ricercatori nel rapporto di audit. "Alcune parti sono incomplete o per niente incomplete."

Nel riepilogo dell'audit OSTIF ha scritto che "VeraCrypt è molto più sicuro dopo questo audit e le correzioni applicate al software significano che il mondo è più sicuro quando si utilizza questo software".  

Come risultato dell'audit, VeraCrypt ha scaricato il codice a blocchi simmetrico GOST 28147-89, originariamente aggiunto in VeraCrypt 1.17, a causa di errori nel modo in cui è stato implementato. La crittografia GOST 28147-89 era un'alternativa sviluppata dai sovietici al DES progettata per rafforzare l'algoritmo. Tutte le librerie di compressione sono state considerate obsolete o scritte male, ha rilevato l'audit. L'implementazione "è stata insufficiente", ha detto Zimmer in Reddit AMA.

Nella versione 1.9, gli utenti possono decrittografare i volumi esistenti che hanno utilizzato la crittografia ma non possono creare nuove istanze.

Gli utenti che hanno utilizzato il codice GOST rimosso come parte dell'audit dovrebbero crittografare nuovamente le vecchie partizioni utilizzando la versione più recente. Gli utenti dovrebbero inoltre crittografare nuovamente su tutti i sistemi di crittografia dell'intero disco poiché sono stati risolti numerosi problemi con il bootloader. Chiunque abbia utilizzato versioni precedenti alla 1.18 dovrebbe ricriptare le partizioni a causa del bug relativo alla scoperta di partizioni nascoste.

VeraCrypt è un fork di TrueCrypt, che gli sviluppatori hanno interrotto bruscamente a maggio 2014, suggerendo problemi di sicurezza non specificati. Si temeva che la piattaforma avesse una backdoor o qualche altro difetto che comprometteva lo strumento. L'audit è stato necessario per valutare la sicurezza complessiva della piattaforma.

OSTIF ha affermato che TrueCrypt 7.1a non dovrebbe più essere considerato sicuro perché non è più in manutenzione attiva ed è influenzato dai problemi del bootloader scoperti nell'audit. Tuttavia, il rapporto di audit ha anche suggerito che i punti deboli di TrueCrypt 7.1a non influiscono sulla sicurezza dei contenitori e delle unità non di sistema.

È facile escludere VeraCrypt come pericoloso a causa dei problemi scoperti, ma questo ignora l'intero valore di avere un audit. Se l'audit avesse scoperto problemi e il team si fosse rifiutato di risolverli o non avesse risposto alle richieste dei revisori, allora sarebbe stato motivo di preoccupazione. In questo caso, Quarkslab ha completato l'audit in un mese ei manutentori hanno risolto un numero significativo di problemi e documentato in dettaglio come gestire gli altri problemi che non erano stati risolti. Sì, i revisori hanno trovato alcune decisioni discutibili ed errori che non avrebbero dovuto essere fatti in primo luogo, ma non c'erano backdoor problematiche o vulnerabilità che compromettessero l'integrità dello strumento di crittografia dell'intero disco.

La natura dello sviluppo open source significa che il codice sorgente è disponibile per essere esaminato da chiunque. Ma, come è stato ripetutamente dimostrato negli ultimi anni, pochissimi sviluppatori sono attivamente alla ricerca di falle di sicurezza. Questo è il motivo per cui, nonostante l'approccio "molti bulbi oculari", Heartbleed e Shellshock e altre vulnerabilità critiche sono rimasti in OpenSSL per anni prima di essere scoperti.

Con un audit, i professionisti esaminano ogni riga del codice sorgente del software open source per verificare l'integrità del codice, scoprire falle di sicurezza e backdoor e collaborare con il progetto per risolvere il maggior numero di problemi possibile. L'audit è in genere costoso: il motore di ricerca privato DuckDuckGo e il servizio di rete privata virtuale Viking VPN sono stati i principali donatori di OSTIF per questo audit - motivo per cui gli audit non sono più comuni. Tuttavia, poiché molti prodotti commerciali e altri progetti open source fanno molto affidamento su una manciata di progetti open source, gli audit stanno diventando sempre più importanti.

Una volta completato l'audit di VeraCrypt, OSTIF guarda avanti agli audit di OpenVPN 2.4. Anche GnuPG, Off-the-Record e OpenSSL sono sulla roadmap. La Core Infrastructure Initiative della Linux Foundation aveva dichiarato piani per un audit pubblico di OpenSSL con NCC Group, ma lo stato di quel progetto non è attualmente chiaro.

"Vorrei che potessimo raggiungere ogni progetto che piace a tutti e la mia lista sarebbe enorme, ma abbiamo risorse limitate con cui lavorare e garantire i finanziamenti è la stragrande maggioranza del nostro lavoro in questo momento", ha scritto Zimmer, sottolineando che OSTIF si sta concentrando su un progetto "promettente" in ogni area della crittografia.