¿Cómo puede descifrar los datos de fuerza bruta si no sabe lo que está buscando?

4

Si quisiera descifrar los datos con fuerza bruta, intentaría descifrarlos con una clave y ver si el descifrado no tiene sentido. Si el descifrado devolviera datos significativos (por ejemplo, algo que un procesador de lenguaje natural considera inglés, si estuviera intentando descifrar un correo electrónico en inglés), asumiría que tenía la clave. Si no devolviera datos significativos, volvería a intentarlo con la siguiente clave posible hasta que hubiera intentado todas las claves posibles. Pero este método no funcionaría si no supiera si estaba intentando descifrar una imagen, texto en español, texto en chino, un archivo de audio, etc.

¿Cómo descifrar la fuerza bruta si no sabes lo que estás tratando de encontrar?

    
pregunta bernie2436 19.08.2013 - 13:21
fuente

2 respuestas

5

Es una situación extremadamente rara para un atacante de fuerza bruta trabajar en datos donde no tienen idea de lo que está cifrado. Al forzar de forma bruta archivos cifrados en una carpeta sin cifrar etiquetada como "documentación financiera", es bastante seguro que si obtiene documentos válidos, hojas de cálculo o archivos PDF, ha descifrado algo.

Incluso sin la fuga de información de un sistema de archivos mal administrado, los tipos de archivos más comunes contienen una gran cantidad de metadatos estándar. Los archivos PDF, archivos .doc, archivos .JPG y otros contienen encabezados bastante estándar. Los archivos de texto contienen información sobre su codificación. Un adversario de fuerza bruta pasaría tiempo buscando estos metadatos. (Esta es, de hecho, una forma de Ataque de texto simple conocido .) No importa si ese documento de Word está en Inglés, chino, swahili o esperanto. Todavía es un documento de Word, con todos los metadatos asociados.

Aunque no es precisamente lo que estás preguntando, cryptananalysis of Enigma durante la Segunda Guerra Mundial involucró una forma similar de este ataque.

    
respondido por el Jonathan Garber 19.08.2013 - 14:55
fuente
0

Dependiendo de la implementación, puede haber métodos sencillos para confirmar que la clave fue correcta.

Por ejemplo, TrueCrypt utiliza un hash cifrado de la clave / encabezado maestro válido. Después de intentar una clave de descifrado de usuario, se comprueba el hash del encabezado. Si el hash coincide, TrueCrypt continúa con el inicio, de lo contrario, se le solicitará al usuario que su contraseña era incorrecta.

Al considerar si esto es tonto o no, ya que básicamente le está dando a un atacante una forma de comprobar fácilmente si acertó la clave correcta, no olvide que si TrueCrypt no hizo esto, cuando los usuarios ingresaron una contraseña incorrecta, el BIOS intentaría iniciarse desde una tabla de particiones dañada (y quién sabe qué podría suceder entonces, con integridad de datos).

En casos más genéricos, un buen método sería calcular la entropía de los datos de salida. Si está esperando, por ejemplo, un documento, entonces podría asumir con seguridad que su descifrado correcto tendría una entropía muy baja, y los caracteres solo en el conjunto de caracteres [a-z0-9,.'] , por ejemplo.

    
respondido por el deed02392 19.08.2013 - 14:55
fuente

Lea otras preguntas en las etiquetas