TrueCrypt e swap

4

Ho Ubuntu 14.04 Desktop e utilizzo Truecrypt per archiviare i miei file riservati. Ho letto che da quando Truecrypt fa la crittografia al volo, memorizza solo il suo contenuto decrittografato (e la password dell'utente e il suo file di chiavi che penserei?) Nella RAM. Se è tutto vero, vuol dire che anche se non criptico il mio scambio, non c'è alcun rischio che i miei dati memorizzati in un contenitore di Truecrypt (e anche la mia password e un file di chiavi?) Finiscano in una partizione di swap in un forma non criptata?

    
posta Gregory 28.08.2016 - 20:14
fonte

2 risposte

3

Generalmente, se hai una memoria crittografata, allora dovresti crittografare il tuo swap. Questo vale per qualsiasi sistema di crittografia, non solo per TrueCrypt. I dati di qualsiasi programma possono finire in swap, inclusi i programmi che manipolano i dati riservati. Il kernel sceglie quali dati inserisce nello swap in base alla frequenza di accesso, non sa quale parte dei dati è più riservata.

TrueCrypt richiede che il sistema operativo gli dia memoria che è bloccata nella RAM e non può essere scambiata. Penso che non si rifiuti di funzionare se il sistema operativo non è disposto a dargli abbastanza RAM, quindi questo comportamento non è garantito. E anche se lo fosse, ciò non aiuterebbe: i programmi che manipolano i dati riservati non avrebbero tale protezione. Ad esempio, se esegui un editor su un file nella partizione TrueCrypt, la memoria dell'editor potrebbe essere scambiata.

Dovresti inoltre assicurarti che tutte le posizioni in cui sono archiviati i dati temporanei siano crittografate. Su Linux, questo include /tmp (c'è anche /var/tmp ma il suo utilizzo è esplicito, mentre solo qualsiasi programma potrebbe finire con /tmp ). Molti sistemi Linux moderni, tra cui Ubuntu 14.04, mettono i file temporanei sotto /run , che è sempre in memoria (memoria virtuale, cioè: può essere scambiato), ma alcune applicazioni hard-code /tmp . Altre posizioni comuni in cui i dati temporanei potrebbero finire includono /var/spool/cups (spooler della stampante, se si stampa un documento riservato), /var/spool/mail (posta in arrivo), /var/spool/postfix (posta in uscita, con Postfix - adattare il nome della directory se si utilizza un diverso MTA), ~/.cache .

    
risposta data 29.08.2016 - 02:07
fonte
1

Questa è più una domanda di Linux. Poiché TrueCrypt viene eseguito come un programma per lo spazio utente, non ha alcun controllo sulle sue pagine di memoria, cioè lascia la gestione della memoria al kernel.

Il kernel non viene mai detto che le pagine di memoria che sta usando TrueCrypt sono confidenziali, quindi può mettere le pagine in scambio. E a TrueCrypt non verrà mai detto che le sue pagine vengono scambiate. Per il processo userspace (TrueCrypt) la memoria virtuale è solo memoria virtuale e non importa se è attualmente nel chip RAM o in swap.

Quindi no, se non cripti la tua partizione di swap e usi TrueCrypt le tue chiavi (password dopo un qualche tipo di PBKDF) sei non sicuro. Se una chiave si trova nella memoria che è stata scambiata, può essere letta dal disco.

Fai un cat /proc/swaps ed esegui sudo swapoff <partition or file> per ogni spazio di scambio disponibile prima di eseguire Truecrypt (o, preferibilmente, usa uno swap crittografato).

(Sto parlando di un processo userspace perché è diverso da cryptsetup , che funziona come modulo del kernel e protegge le sue pagine di memoria dallo swap.)

Nota aggiuntiva

TrueCrypt non riceve più aggiornamenti da maggio 2014 (come si dice nella pagina principale del progetto ). Dovresti considerare seriamente uno strumento diverso per la crittografia dei tuoi file. Alcune opzioni sono:

  • Veracrypt è molto simile a (e anche basato su) TrueCrypt.
  • cryptsetup è disponibile su ogni distro linux (e stai usando Ubuntu). Sebbene richieda l'uso di dispositivi loop.
  • tomba è uno script che usa cryptsetup insieme a gnupg e astrae l'uso dei dispositivi loop.
risposta data 29.08.2016 - 01:25
fonte

Leggi altre domande sui tag