¿Es posible recuperar contenido de discos cifrados basados en flash (SSD, teléfonos celulares, memorias USB, ...) después de borrar / reemplazar la contraseña?

6

He cruzado tales aserciones en este sitio:

  

Un beneficio del cifrado de disco completo es que hace que se borre la memoria flash   almacenamiento muy rápido. [...]

     

Para borrar todo el disco, todo lo que tienes que hacer es limpiar el lugar donde está   Almacena el cifrado de K (que es solo un bloque). Una vez que bloquee   desaparece, no hay forma de descifrar los datos en el disco (ya que K   no se puede recuperar), por lo que toda la unidad es tan buena como borrada.

Sin embargo, también vi mucho que, debido a la nivelación del desgaste, la sobrescritura de datos en discos basados en flash no era confiable: según entiendo, si aplico el procedimiento anterior, el flash puede seleccionar otra área y colocar los datos de sobrescritura. allí, dejando el bloque de teclas K todavía presente y legible en el chip (e Internet está lleno de varios métodos baratos y relativamente fáciles para acceder directamente al contenido del chip, aquí está aleatorio que ni siquiera requiere desoldarlos).

En caso de que se usara una contraseña deficiente para proteger el contenido del disco (al unir la contraseña de desbloqueo que apunta a ser rápida de escribir y la de encriptación, parece que Android realmente intenta hacer cumplir tal debilidad), ¿no significaría esto? ¿Se puede recuperar todo el contenido del disco incluso cuando este bloque se ha "borrado"?

Como beneficio adicional, si cambio una contraseña débil por una fuerte, en teoría, el bloqueo de la clave se "sobrescribirá" con un nuevo bloque en el que la clave de cifrado de datos estará protegida por mi nueva contraseña más segura.

Sin embargo, no hay ninguna posibilidad de que el antiguo bloque con la misma clave de cifrado protegida por la contraseña más débil anterior todavía esté presente y sea legible durante un tiempo indeterminado en el contenido del chip, lo que permite que un atacante anule completamente el ¿Beneficios de cambio de contraseña?

    
pregunta WhiteWinterWolf 02.07.2016 - 13:24
fuente

3 respuestas

1

Quiere decir que cuando sobrescribe o elimina datos en una unidad flash, el microcontrolador en esa unidad flash no elimina ni sobrescribe inmediatamente el bloque, sino que los coloca en una 'lista para eliminar en el futuro' para mejorar el rendimiento. Eso es cierto, pero también lea: eliminar en la lista de futuros, que "futuro" es cuando el microcontrolador no tiene otras acciones que hacer. Tan pronto como no tenga nada que hacer, borrará completamente esa lista. Así que deje que su unidad de memoria se adhiera por un tiempo después de eliminar / sobrescribir.

Y también, la contraseña no solo diría 'legible' en ese bloque. Dudo mucho que esté guardado en texto plano.

  

En caso de que se usara una contraseña incorrecta para proteger el contenido del disco (como un 4   El código PIN en el teléfono celular, por ejemplo ...), ¿no significaría esto que   Todo el contenido del disco todavía se puede recuperar incluso cuando este bloque tiene   ha sido "borrado"?

Supongo que te refieres a que alguien podría seguir utilizando la fuerza bruta de la contraseña incluso cuando se eliminó el bloqueo que contiene la contraseña. Supongo que no, porque es IMHO del mismo tipo que en una base de datos. Un sitio web no puede ver si el hash de la contraseña dada coincide con la contraseña de hash en la base de datos, si no hay una contraseña de hash en la base de datos.

Bruteforcing tiene que ver con adivinar la clave correcta para que coincida con el hash, sin hash, esto no es posible.

  

Sin embargo, no hay ninguna posibilidad de que el antiguo bloque con el mismo   La clave de cifrado protegida por la contraseña anterior más débil seguirá siendo   Presente y legible por un tiempo indeterminado en el chip   contenido, permitiendo a un atacante anular completamente el cambio de contraseña   beneficios?

El bloque de contraseña anterior es un temporal ubicado en otro bloque. Eso no significa que el software de encriptación use ese bloque. Si no usa ese "nuevo" bloque para comparar, la contraseña anterior ya no funcionará.

Sin embargo, mencione que hay formas de descifrar el cifrado completo del disco, solo hoy se encontró un exploit de Android que podría hacer esto: Extracción de claves KeyMaster de Qualcomm - Romper el cifrado de disco completo de Android .

    
respondido por el O'Niel 02.07.2016 - 14:33
fuente
3

De hecho, es posible que el bloque que contiene la clave no pueda borrarse correctamente. Es por eso que LUKS usa AFsplit para almacenar la clave en el disco.

La idea es esencialmente expandir una clave que normalmente se almacenaría en un solo bloque de disco, en un formato que requiera muchos más, asegurando que la pérdida de uno de esos bloques haga que la clave se pierda. Entonces, al borrar la clave, LUKS solo necesita poder sobrescribir uno de esos bloques.

El número de bloques es configurable, siempre que sea lo suficientemente grande, es improbable que no se puedan borrar todos.

Puede leer más sobre AFsplit en LUKS en la especificación de formato de disco , y consulte ejemplo de implementación de python (vinculado desde un crypto.stackexchange question ).

    
respondido por el user2313067 02.07.2016 - 16:56
fuente
1
  

Para borrar todo el disco, todo lo que tienes que hacer es limpiar el lugar que almacena el cifrado de K

Esa afirmación es correcta bajo su forma teórica. Si puede garantizar que puede borrar la clave, y nadie ha tenido nunca acceso a ese bloque, usted ha eliminado el disco.

Quiero decir que si tiene acceso a disco de bajo nivel y ha copiado el bloque correcto en algún lugar, entonces puede tomarse su tiempo para descifrar la clave, especialmente si la contraseña es débil.

Recordar

El cifrado moderno del disco funciona mediante una combinación de una clave, que es de longitud fija, protegida por un secreto de usuario (por ejemplo, la contraseña). Por lo tanto, la clave es inútil sin la contraseña y la contraseña es inútil sin la clave.

La respuesta es

Para de forma segura borrar toda la unidad, se deben cumplir dos condiciones:

  • El bloque que contiene la clave nunca debe ser legible por ninguna entidad, excepto el hardware de cifrado (podría ser válido para SSD compatibles con FDE de hardware)
  • El bloque que contiene la clave debe estar físicamente, y no lógicamente , sobrescrito

La segunda condición varía en la implementación del controlador. La mayoría de los SSD no son adecuados para almacenar dichos datos confidenciales porque la unidad no garantiza transaccionalmente la eliminación de un sector cuando desea sobrescribirlo.

Lo primero es aún más difícil de lograr, porque demuestra que el único FDE efectivo es el que se realiza a nivel de hardware donde la clave nunca abandona el dispositivo. Por hojas incluyo ir a la memoria RAM. P.ej. BitLocker tiene una vulnerabilidad ampliamente conocida al ataque de reinicio en caliente.

    
respondido por el usr-local-ΕΨΗΕΛΩΝ 07.07.2016 - 17:23
fuente

Lea otras preguntas en las etiquetas