can encryption technologies such as TrueCrypt still be relied on for a high degree of protection?
Sì, a condizione di capire esattamente quale protezione stai ricevendo da TrueCrypt.
La crittografia non è un controllo di accesso e non protegge il sistema mentre è acceso. Una volta inserito il materiale della chiave vicino al computer (ad esempio digitandolo, caricandolo in memoria) dovresti considerare il computer come contenente il materiale chiave perché lo fa.
Pertanto, tutto ciò che può estrarre la RAM del tuo computer può leggere questo materiale chiave. Questo non dovrebbe essere sorprendentemente remoto in alcun modo. Ho guardato attraverso il codice del driver TrueCrypt in modo abbastanza esteso (non approvo i buffer di stack allocati staticamente che usano, dovrebbero preferire ExAllocatePoolWithTag
, ma cosa so?) E non sarebbe poi così difficile scrivere un driver per estrarre le chiavi del volume dalla memoria su un sistema che ha TrueCrypt in esecuzione.
Se vuoi che la crittografia dei tuoi dischi sia efficace, devi fare due cose:
- Assicurati di non allegare il materiale chiave al sistema quando puoi essere osservato da qualcuno a cui desideri impedire l'accesso ai tuoi dati.
- Fai spegnere il sistema quando i dati vengono rubati.
Contro un ladro casuale e opportunista, il punto 1 avviene di default poiché il ladro in questione non è quasi mai lì quando si utilizza il dispositivo. Ciò rende la crittografia del disco una buona difesa contro i laptop rubati, ad esempio, dal momento che i ladri opportunisti che rubano i laptop spenti ottengono un po 'di hardware, ma non alcuni dati.
L'attaccante determinato, o ciò a cui la cyber-letteratura si riferisce come una minaccia persistente avanzata, tuttavia, potrebbe avere le risorse per osservare 1. Questo potrebbe essere attraverso diversi mezzi:
- Bugging le posizioni in cui inserisci il materiale chiave inclusi keylogger, telecamere e quant'altro.
- Sfruttando il buon vecchio rimuovi la RAM, bloccala e qualsiasi altra tecnica preservi la memoria di sistema dopo lo spegnimento.
- Compromettere il tuo sistema mentre è acceso: firewire, malware, qualsiasi cosa.
Questo è stato il caso fino a quando la crittografia del disco è stata utilizzata e lo sarà fino a quando la crittografia del disco è in uso nella sua forma attuale. La crittografia non ti protegge da queste minacce: per queste, hai bisogno di un buon controllo degli accessi, buone procedure di auditing, buone pratiche di sicurezza per prevenire l'accesso al malware, una buona sicurezza fisica ecc.
Leggero aggiornamento, per divertimento in più:
L'ibernazione è un vettore di attacco noto nei moderni sistemi operativi che dipendono la tua implementazione carica completamente l'avvio sicuro . Il lavoro svolto su questo è stato derivato dal fatto che è stato possibile bypass Patchguard modificando il file di paging per caricare il codice .
Il motto della trama in questi due casi è che il sistema operativo non può fidarsi dello stato che carica dal disco a meno che non abbia il controllo della CPU.
In che modo l'ibernazione influisce sulla chiave in memoria? Questo dipende dal fatto che il file di ibernazione esista o meno nell'unità crittografata. Se lo fa, bene - dovrai reinserire la chiave per decrittografarla (e avrai anche impedito il vettore di attacco del file di ibernazione). In caso contrario, se la chiave è stata scritta nel file di ibernazione, si è in difficoltà. Se non lo è, non sei ancora al sicuro, poiché un aggressore sufficientemente determinato con risorse serie può probabilmente trarne vantaggio.