¿Cómo se puede minimizar el impacto de los ataques de arranque en frío?

19

A menos que se apague y se mantenga la seguridad física durante un tiempo suficiente, ¿cuáles son las estrategias efectivas para evitar que las claves se revelen mediante ataques de arranque en frío, y se puede hacer algo sin el hardware diseñado para evitar dichos ataques?

enlace

    
pregunta Stephanie 13.07.2011 - 06:11
fuente

6 respuestas

8

Un enfoque es utilizar programaciones clave altamente no redundantes. Por ejemplo, si puede recuperar cualquier parte grande de la programación de teclas expandida de AES en la memoria, puede ejecutar la expansión a la inversa y recuperar la entrada original (que luego le permite generar todas las teclas redondas, incluso si solo pudo recuperar los valores de una sola ronda, o incluso porciones de diferentes rondas). Hasta cierto punto, esto es intrínseco al diseño de AES, por lo que es difícil de evitar, pero para el contraste considere el diseño de expansión de sbox de Blowfish. Parece bastante difícil recuperar la clave maestra o el sbox completo si logra recuperar, digamos, la mitad del valores de sbox.

Otro enfoque, uno que funciona con AES, es simplemente garantizar que la clave nunca llegue a la RAM manteniendo el estado completo en registros SSE o registros de depuración . Este enfoque solo puede ser utilizado por un kernel del sistema operativo, pero a menudo el kernel hará el criptografía que es más propenso a los ataques de arranque en frío, como el cifrado del disco, por lo que este podría ser un enfoque prometedor.

    
respondido por el Jack Lloyd 13.07.2011 - 13:55
fuente
7

Acabo de encontrar este artículo, enlace mientras buscaba otra cosa. y describe varias soluciones solo de software que parecen viables (algunas de las cuales ya se han mencionado aquí), aunque no son infalibles.

  • almacene las claves en las regiones de memoria que deben sobrescribirse sin importar qué sistema operativo se haya iniciado. (obliga al atacante a utilizar hardware especializado, no solo un sistema operativo especial)
  • almacenar claves en registros MMX / SSE
  • separe las claves en el espacio de direcciones para minimizar el beneficio de la corrección de errores para el atacante.
  • sobrescribir las claves antes de reiniciar / apagar
  • supervise los sensores de intrusión y temperatura del chasis para detectar precursores de un ataque (apertura de la caja o caída repentina de la temperatura de la memoria) y comience a sobrescribir las claves en el lugar si se detecta algún evento. (Se supone que un atacante lo suficientemente sofisticado como para sacar la RAM del sistema para el análisis forense también intentará enfriarlo antes del cierre del sistema para maximizar la efectividad).
respondido por el Stephanie 22.07.2011 - 07:38
fuente
3

Bueno, si su sistema es atacado exitosamente por un arranque en frío, no es que su sistema criptográfico haya fallado, sino la capa física de la seguridad de TI.

Después de cortar la alimentación, los datos en la memoria RAM se desvanecerán. Si pierde un bit en la clave de decripción, la clave no es válida (bueno, con solo un bit perdido puede adivinarlo, pero supongo que obtuvo el punto). En resumen, apagar y encender la computadora dañará cualquier "lefovers" de la clave.

Por lo tanto, para realizar un arranque en frío es necesario congelar el módulo RAM. Para ello, necesita "congelador" y acceso a los módulos. Bueno, si el intruso entra en la habitación cuando alguien está apagando la computadora (y, por algún milagro, no se nota), abre la caja y comienza a rociar el congelador en los módulos de RAM (mientras la computadora aún se apaga) ...

Bueno, digamos que tienes problemas mucho más graves que un sistema criptográfico fallido.

EDITAR: Suma summare, en el mundo real esto no tiene sentido discutir (debido al ROI). La mejor estrategia sería desde el punto de vista social: el usuario debe estar al lado de la computadora hasta que se apague por completo.

    
respondido por el StupidOne 13.07.2011 - 10:56
fuente
2

Creo que vale la pena echar un vistazo al consejo de Jack Lloyd.

Otro truco usado frecuentemente es XORAR las claves en la memoria por sí mismas periódicamente ... Con períodos cortos, por supuesto. Un ejemplo de esto es PGP. Solía voltear bits en la memoria una vez por segundo, desde versiones bastante tempranas. Esto acorta la vida útil de las imágenes fantasma clave.

Por supuesto, hay un bit adicional que se utiliza para almacenar el estado actual de las claves, y todo el proceso XOR tiene que ir dentro de una sola transacción atómica, con un mecanismo de bloqueo al igual que con las operaciones de lectura de claves.

    
respondido por el uygar.raf 13.07.2011 - 23:17
fuente
1

No puedo pensar en muchas situaciones en las que la memoria, pero no el disco duro, contiene información confidencial y se puede acceder en los minutos posteriores al apagado, pero no mientras la computadora esté encendida ... pero si, por ejemplo, tiene secretos de gobierno en una computadora portátil con la clave de cifrado almacenada solo en su memoria y en la memoria de la computadora, y deja esa computadora portátil en un tren después de apagarla, puede usar secure-delete / smem para borrar datos en la memoria (la memoria de la computadora, no la suya) antes de apagarse. ¡Aconsejaría hacer este proceso automático! (Y también aconseja borrar el archivo de intercambio, que permanecerá mucho más tiempo que los datos en la memoria RAM).

    
respondido por el ZoFreX 13.07.2011 - 13:32
fuente
1

no estoy seguro de si esta es la "mejor respuesta" o si es práctico en su situación, pero para los extremadamente paranoicos, puede usar tanto el cifrado de disco basado en hardware (en donde el material criptográfico nunca sale del gabinete de la unidad) + s / basado en w El primero mitiga el arranque en frío (o cualquier otro ataque basado en memoria, como a través de un puerto FireWire), mientras que el último resuelve el problema molesto con FDE basado en h / w en el que un reinicio en caliente no (¿alguna vez?) Requiere una nueva autenticación .

Entonces, por ejemplo, una unidad Seagate Momentus FDE + BitLocker w / TPM.

Esto es probablemente un poco extremo para la mayoría de las personas, ya que la mayoría de los ladrones de computadoras portátiles no realizan el ataque de arranque en frío en sus computadoras portátiles robadas (pero con pantalla bloqueada), para que no dañen el hardware y amp; reducir el valor de reventa de sus warez.

alternativamente, puede implementar FDE basado en s / w (BitLocker + TPM + PIN, por ejemplo) junto con una capa secundaria de encriptación (EFS, o un volumen TrueCrypt que no sea del sistema, o lo que sea). Si bien una computadora portátil con pantalla bloqueada puede contener toda la información criptográfica en la memoria (si el volumen cifrado se montó en el momento del robo y el ladrón hizo un ataque de arranque en frío a tiempo), me parece poco probable que el ladrón de la computadora portátil tenga suficientes recursos de conocimiento para realice el ataque en ambas "capas" de seguridad, o probablemente incluso en la primera capa.

Las personas que saben cómo hacer el ataque de arranque en frío probablemente estén trabajando en algún lugar & tiene mucho que perder para entrar en una vida delictiva, así que evite construir un modelo de seguridad "ideal" para los datos en reposo mientras ignora otras amenazas (vulnerabilidades cuando la máquina está en uso, como explotaciones de desbordamiento de búfer).

    
respondido por el Garrett 03.11.2011 - 20:13
fuente

Lea otras preguntas en las etiquetas