Tra le soluzioni più popolari per crittografare dati in Windows e con gli altri sistemi operativi a contendersi il favore degli utenti ci sono BitLocker e VeraCrypt. In realtà solamente il secondo è un software multipiattaforma mentre BitLocker è compatibile esclusivamente con i sistemi Windows.
Abbiamo abbondantemente parlato delle funzionalità di BitLocker e VeraCrypt nella pagine de IlSoftware.it.
BitLocker è supportato su tutte le edizioni di Windows, tranne che nella Home: in questo caso gli utenti possono abilitare o ritrovarsi attiva la Crittografia del dispositivo. Questa fornisce però un livello di protezione basilare con le chiavi che vengono memorizzate sempre e comunque sui server Microsoft.
BitLocker è il modo più semplice per proteggere i dati su hard disk e SSD: nel nostro articolo abbiamo visto come configurare BitLocker in maniera sicura e chiedere una password all’avvio del sistema.
Sui PC dotati di chip TPM 2.0, attivare BitLocker è semplice come fare clic su una semplice voce nelle impostazioni di Windows.
Purtuttavia, fare affidamento al solo utilizzo del chip TPM non è consigliabile: utilizzando il criterio di protezione solo TPM chiunque conosca la password dell’account Windows (o la password dell’account Microsoft, se utilizzato per l’accesso al sistema operativo) sarà in grado di “sbloccare i dati” e accedere al contenuto di file e cartelle.
Nel nostro articolo citato in precedenza abbiamo visto infatti come attivare la protezione TPM + PIN: il chip TPM in questo caso rilascia la chiave crittografica solo se si digita correttamente il codice PIN durante la fase di pre-avvio.
Anche se il codice PIN è breve, l’immissione ripetuta di un PIN errato provoca il blocco dell’accesso alla chiave crittografica lato TPM.
Questa opzione offre il miglior equilibrio tra sicurezza e praticità combinando “qualcosa che si ha” (il modulo TPM) con “qualcosa che si conosce” (il codice PIN).
BitLocker permette di abbinare anche l’utilizzo di una chiavetta USB o di una smartcard: sebbene l’opzione TPM + PIN + chiavetta USB sia probabilmente la più sicura, i vantaggi aggiuntivi non rappresentano un netto balzo in avanti rispetto all’opzione TPM + PIN se si considerano la ridotta praticità e affidabilità. Bisognerà infatti comunque digitare la chiave di ripristino BitLocker se si dovesse perdere la chiavetta USB o la smartcard oppure se dovessero danneggiarsi.
L’autore di VeraCrypt spiega che se l’attaccante ha privilegi di amministratore, può ad esempio resettare TPM, catturare il contenuto della RAM (che contiene le chiavi master) o il contenuto dei file archiviati sui volumi montati e decifrati in tempo reale. Questi dati possono essere inviati su un altro server via Internet o salvati in un’unità locale non crittografata.
Se l’attaccante ha accesso fisico all’hardware del computer può ad esempio collegare un componente “ad hoc” (come un registratore di tasti hardware) che catturerà la password, il contenuto della RAM o il contenuto dei file archiviati sui volumi montati. Secondo VeraCrypt, TPM fornisce solo un “falso senso di sicurezza” ed è per questo motivo che l’applicazione non supporterà mai TPM.
Elcomsoft mette in evidenza le principali modalità per aggredire unità protette con BitLocker ricordando che l’acquisizione dei privilegi amministrativi già consente di per sé di leggere in chiaro la chiave di ripristino utilizzata sulla macchina: basta infatti digitare quanto segue ed esaminare quanto riportato in corrispondenza di Password numerica, Password:
In seguito agli attacchi sferrati con successo sulla crittografia hardware implementata a livello di unità SSD, inoltre, dal 2019 Microsoft ha deciso di rinnegarne il supporto per default in BitLocker.
Per impostazione predefinita BitLocker non utilizza più la crittografia hardware degli SSD ma si affida alla cifratura software ritenuta più sicura.
Principali differenze tra BitLocker e VeraCrypt
Sviluppo: BitLocker è un software proprietario che viene sviluppato ed aggiornato da Microsoft risultando inoltre integrato in Windows. VeraCrypt è una soluzione open source sviluppato dalla comunità.
Piattaforme supportate: come accennato in apertura, BitLocker è disponibile solo su Windows; VeraCrypt è compatibile con i sistemi Windows, macOS e Linux.
Funzionalità di crittografia: entrambi supportano la crittografia dei dati su disco ma VeraCrypt offre maggiori opzioni di crittografia, tra cui algoritmi più sicuri e la possibilità di creare archivi crittografati.
Integrazione a livello di sistema operativo: Bitlocker è integrato in Windows ed è “amalgamato” con le funzioni di sicurezza del sistema operativo; VeraCrypt richiede processi di installazione e gestione separati rispetto a Windows e alle altre piattaforme supportate.
Archivi crittografati: VeraCrypt consente di creare volumi crittografati all’interno dei quali memorizzare informazioni riservate e dati importanti. Bitlocker è limitato alla crittografia a livello di unità e partizioni. Entrambe le soluzioni permettono di crittografare l’unità contenente il sistema operativo.
Una buona idea potrebbe essere la cifratura dell’unità di sistema con TPM + PIN ricorrendo a BitLocker per poi creare uno o più volumi virtuali crittografati con VeraCrypt in modo da godere di un livello di sicurezza aggiuntivo.
VeraCrypt consente inoltre di creare volumi nascosti: in questo modo un eventuale malintenzionato non può risalire alla presenza dei dati cifrati e, ad esempio, indurre l’utente a condividere la password di decodifica.
Personalizzazione: VeraCrypt offre maggiori opzioni di personalizzazione rispetto a BitLocker, ad esempio la possibilità di scegliere l’algoritmo crittografico e il tipo di volume da usare.
Audit pubblici. Microsoft ha condotto audit interni su BitLocker e ha collaborato con organizzazioni di sicurezza esterne per valutare la sicurezza del software.
Il codice sorgente di BitLocker, tuttavia, non è disponibile per la revisione pubblica: Microsoft si limita a condividere informazioni sul funzionamento del software e sulle modalità con cui è stato testato.
D’altra parte VeraCrypt è stato ripetutamente oggetto di diversi audit indipendenti e pubblici svolti da enti e organizzazioni di sicurezza. Nel 2016 OSTIF (Open Source Technology Improvement Fund) ha condotto un audit su VeraCrypt e ha pubblicato un rapporto dettagliato sul lavoro svolto.
Più di recente, nel 2020, il Federal Office for Information Security (BSI) tedesco ovvero l’agenzia governativa della Repubblica federale di Germania responsabile per la sicurezza informatica ha svolto in collaborazione con il Fraunhofer Institute un’indagine su VeraCrypt le cui conclusioni sono consultabili qui.
“Sebbene VeraCrypt sia un progetto software ben riconosciuto, sembra che il progetto sia ancora guidato principalmente da un singolo sviluppatore piuttosto che da un team di sviluppo“, si legge nel resoconto dell’audit che parla di codice di codice complessivamente poco leggibile e di diverse implementazioni a seconda del sistema operativo sul quale il programma va in esecuzione.
“VeraCrypt può proteggere i dati in modo efficace solo in caso di furto o perdita di dispositivi crittografati, ma non contro eventuali attacchi online su un sistema in esecuzione“, si legge. Ma la stessa cosa si potrebbe dire nel caso di BitLocker. È ovvio che un aggressore in grado di acquisire, anche in modalità remota, i privilegi di amministratore può impossessarsi dei dati altrui.
ll sorgente di VeraCrypt è comunque disponibile per l’analisi da parte di chiunque fosse interessato a verificare il comportamento del programma e a individuare eventuali “debolezze”.
D’altra parte Elcomsoft stessa aveva certificato la solidità di VeraCrypt spiegando che l’applicazione è sicura: l’unico punto debole rimane l’estrazione e l’utilizzo delle chiavi On-the-fly encryption (OTFE) per forzare l’accesso ai dati crittografati. Già l’attivazione della casella Activate encryption of keys and passwords stored in RAM permette di proteggersi e crittografare in tempo reale i dati conservati nella memoria RAM.