ataques de canal lateral - apagó el sistema con acceso físico

0

¿Puedes ejecutar Side-Channel-Attacks contra una PC que se encontró correctamente apagar y apagar?

El atacante conoce las herramientas cryto utilizadas para cifrar los datos. El atacante tiene acceso físico completo e ilimitado a todo el sistema. El sistema no está infectado con ningún malware. El usuario que conoce las contraseñas ya no interactuará con este sistema. El sistema funciona perfectamente bien, excepto que los datos deseados están encriptados y la contraseña es desconocida.

Considerando el sistema (portátil o de escritorio) con 2 discos duros.

  • HDD # 1: usando el sistema de archivos encriptado LUKS
  • HDD # 2: uso de Truecrypt AES-256 encriptado archivo-contenedor en un sistema de archivos no encriptado

Entonces, por ejemplo, ¿puede el atacante reemplazar el disco duro, arrancar el sistema y luego usar las mismas herramientas de cifrado para cifrar algunos datos con una contraseña conocida mientras observa los canales laterales y luego usar esta información para romper el otro cifrado? ¿Hay otras formas de romperlo con respecto a los canales laterales o si no?

    
pregunta user3200534 07.02.2014 - 06:39
fuente

2 respuestas

2

No. Un ataque de canal lateral es uno que supervisa un proceso criptográfico mientras está funcionando, y utiliza información filtrada para determinar los secretos. Los ejemplos incluyen: monitorear la CPU para detectar emisiones de RF mientras está encriptando, monitorear el consumo de energía de la CPU mientras está encriptando, monitorear el tiempo que toma cifrar, monitorear el ruido que hace la CPU mientras está encriptando. En todos los casos, el cifrado que está supervisando ya está legítimamente en posesión de la clave.

Un sistema apagado que no tenga la clave nunca realizará una operación de cifrado / descifrado legítima. Por lo tanto, no tiene superficie de ataque para un ataque de canal lateral.

Todavía es susceptible a otros ataques, como adivinar contraseñas, examinar de forma forense el archivo de intercambio para ver si alguna vez se guardó la contraseña legítima en la memoria que se intercambió, o amenazar al anterior titular de la clave hasta que revele la clave. Simplemente no ataques de canal lateral.

EDIT

Un comentario a continuación pregunta si el atacante podría extraer la contraseña de los componentes.

En general, los bits clave no permanecerán en los componentes electrónicos dinámicos durante mucho tiempo (excluyendo la congelación de los chips DRAM como lo señala @TomLeek). Los componentes tales como pestillos de bus, adaptadores de red, etc. La clave, e incluso si lo hicieran, sus memorias intermedias son generalmente muy cortas, dinámicas y están diseñadas solo para datos transitorios.

Algunas personas han teorizado que una clave almacenada durante un tiempo prolongado en las mismas celdas físicas de la RAM podría causar un efecto de "quemado" tal que las celdas de la memoria podrían diferenciarse con algún equipo o software especializado. La teoría es que si supiera qué celdas contenían los bits clave, podría determinar cuánto tiempo pueden mantener una carga antes de requerir la actualización. La idea es que un bit que contenía un 1 podría decaer desde un estado 1 más lento que desde un estado 0. Dichos ataques se han demostrado en un entorno de laboratorio, y quién sabe, quizás un gobierno pueda usarlos en un caso de espionaje de alto perfil, pero no está dentro de las capacidades de una investigación policial ordinaria. Todavía no se sabe que las organizaciones criminales tengan estas capacidades.

PGP Desktop marketing llama a este efecto "migración de iones estáticos" e intenta mitigar esta vía de ataque manteniendo dos copias de la clave e invirtiendo periódicamente los bits clave de cada uno. (Irónicamente, resulta ser una bendición para los ataques de canal lateral, ya que un raspador de RAM puede buscar eficientemente la memoria que es el bit inverso de otra área de la memoria).

Vea este documento, La RAM es CLAVE para obtener más información sobre cómo encontrar claves en la memoria volátil.

Sin embargo, si la clave se almacenó en un almacenamiento permanente, como HDD, flash o CMOS, la recuperación es posible. La aplicación debe realizar un seguimiento de cada lugar donde se haya escrito y sobrescribirla. Eso es casi imposible con la memoria flash, porque los algoritmos de nivelación de desgaste se mueven continuamente donde se almacenan los datos.

    
respondido por el John Deters 07.02.2014 - 07:20
fuente
0

Los ataques de canal lateral aprovechan la filtración de información secreta a través de mecanismos físicos no obvios. Esto puede suceder solo si hay es , dentro del sistema en ejecución, alguna información secreta; y solo puede suceder cuando el sistema se está ejecutando. En su escenario, la contraseña y la clave derivada de la contraseña ya no están en el sistema (estaban en la RAM, pero esto desapareció cuando se cerró el sistema), por lo que ya no hay ningún secreto para filtrar. Básicamente, no puede haber una fuga si no hay nada que filtrar.

Ahora puede haber detalles ...

Lo que estaba en la RAM en algún momento todavía puede permanecer por algún tiempo. Ese es el principio de los ataques de arranque en frío . La ventana de tiempo es muy estrecha, pero no tan estrecha que no se puede demostrar en condiciones de laboratorio. Es decir, si la PC se apagó hace menos de un minuto, entonces un atacante puede volver a aplicar energía a los chips de RAM y los datos seguirán allí, casi sin daños.

Un escenario más plausible implica memoria virtual , también conocida como "espacio de intercambio", como lo señala @John. Lo que una aplicación ve como "RAM" puede ser copiado de forma transparente al disco por el sistema operativo, de modo que las aplicaciones puedan usar más RAM de la que está físicamente presente en la máquina. De esa manera, los valores secretos pueden filtrarse en el disco y aún estar allí en una máquina "apagada". En este caso, puede afirmar que se trata de un "ataque de canal lateral" en el que el sistema operativo en realidad ejecutó el ataque en el momento en que se procesó la contraseña. Los buenos sistemas criptográficos utilizan la llamada al sistema mlock () (o su equivalente en el sistema operativo local) para dar instrucciones al OS no para hacer eso. Para un sistema de cifrado de disco duro donde el cifrado realmente ocurre dentro del espacio del kernel, es poco probable que la memoria virtual sea un problema.

(Podría decirse, dado el tamaño de RAM en las computadoras de hoy, y dada la tendencia al uso de lenguajes de programación que no interactúan bien con las heurísticas de memoria virtual, en particular lenguajes basados en GC como Java, C #, Javascript o Python, un se puede asegurar que no usar espacio de intercambio en absoluto podría ser una buena idea, y eso tiene beneficios para la seguridad en general .)

    
respondido por el Tom Leek 07.02.2014 - 17:55
fuente

Lea otras preguntas en las etiquetas