¿Cuánto tiempo permanece la clave de cifrado del sistema en la RAM?

7

El título del hilo lo dice, me gustaría saber cuánto tiempo permanecerá una clave de cifrado del sistema en la RAM o en la CPU y, por lo tanto, será extraíble mediante ataques de arranque. Leí en alguna parte que el cifrado en el caso de Linux y LUKS es manejado por la memoria virtual que es manejada por la CPU afaik ...

Realmente no sé cómo funciona el cifrado de disco o el cifrado del sistema, cuando ingrese la contraseña durante el proceso de arranque, mi sistema se descifra completamente hasta que apague la computadora, o aún está en un estado cifrado y el sistema ¿Necesita constantemente la clave para trabajar en documentos? En el último caso, sería lógico que la clave esté a menudo en uso de RAM o CPU y, por lo tanto, sea extraíble.

El trasfondo de la pregunta es que me gustaría tener un pequeño sistema de vigilancia en mi PC que resista los ataques de arranque y los ataques DMA. Me gustaría grabar las fotos sin conexión porque, como todos sabemos, una conexión a Internet puede romperse repentinamente.

Estoy pensando en una netbook sin ranuras pci que haría imposibles los ataques DMA y parcheando el kernel de Linux para permitir que la CPU maneje la encriptación más un script sdmem que sobrescribe posibles remanentes de la contraseña del bloqueador de pantalla de la RAM, ¿sería esto suficiente?

    
pregunta Junior J. Garland 06.05.2015 - 14:19
fuente

1 respuesta

9

El cifrado del disco consiste en mantener los datos en el disco cifrados en todo momento; si vuelve a escribir los archivos descifrados en el disco, se correrá el riesgo de que se filtren esos datos (si la máquina es robada en ese momento) y será necesario volver a cifrarlos cuando se apague. Tenga en cuenta que un disco duro mecánico típico lee y escribe datos a aproximadamente 120 MB / s, por lo que un simple disco duro de 128 GB tardaría más de 15 minutos en ser descifrado por completo, incluso suponiendo que el proceso de descifrado es más rápido que eso y que el disco es el cuello de botella. Ciertamente no esperas 15 minutos cuando enciendes tu máquina.

Todo esto implica que el descifrado se produce sobre la marcha, cuando se leen los archivos. La consecuencia es que el descifrado se produce mientras la máquina esté en funcionamiento, por lo que la clave de descifrado DEBE estar en algún lugar de la RAM y permanecer allí.

Del mismo modo, si modifica algunos archivos y desea guardarlos (para recuperar los nuevos archivos después del próximo reinicio), la clave de cifrado debe usarse necesariamente.

Sin embargo , existen (al menos) dos métodos por los cuales podría imaginar no mantener la clave en la RAM:

  • Puede leer y descifrar un sistema de archivos completo en un disco basado en RAM. Allí, el descifrado podría hacerse una vez y luego descartarse la clave. Por supuesto, esto limita el tamaño total del sistema de archivos a lo que puede caber en la RAM, por ejemplo. 1 o 2 gigabytes. Además, todas las escrituras se descartarán (conceptualmente, se podría utilizar cifrado asimétrico para guardar las modificaciones que se incorporarán en el sistema de archivos encriptado en el próximo arranque, pero es probable que sea un esfuerzo importante de diseño y desarrollo).

  • El proyecto TRESOR tiene como objetivo realizar el cifrado y el descifrado manteniendo las claves en los registros de la CPU, y no permitiendo que estos registros se borren a la memoria RAM. Esto es para la defensa contra los ataques de arranque en frío , en los que los atacantes pueden ver bien todo el contenido de la RAM pero no en el La CPU se registra como estaban antes del ataque. Se ha observado que los atacantes que pueden hacer DMA pueden inyectar código malicioso que extrae las claves de los registros, por lo que la protección no puede considerarse completa en ese caso.

Un punto importante a tener en cuenta es que utiliza el cifrado de disco para mantener la confidencialidad de sus datos, pero cuando accede a sus datos, todavía los introduce en la RAM para procesarlos. Por ejemplo, si observa el contenido de un documento de texto, entonces, cuando lo mire, los datos del documento necesariamente estarán sin cifrar en el espacio de la aplicación del visor y también en la memoria de la tarjeta gráfica. Proteger la clave de cifrado está bien, pero si se supone que el atacante puede leer su RAM, puede saquear los datos directamente. Por lo tanto, concentrarse en el paradero de la clave de cifrado sin abordar la imagen más amplia del tipo de datos se pierde el punto. En la mayoría de los contextos prácticos, no tiene mucho sentido preocuparse por los ataques de arranque en frío que recuperan la clave de cifrado del disco, incluso con todos los TRESOR del mundo, los ataques de arranque en frío serían casi tan preocupantes.

    
respondido por el Thomas Pornin 06.05.2015 - 14:49
fuente

Lea otras preguntas en las etiquetas