¿Alguna vez se han utilizado con éxito las debilidades en SHA-1 y MD5 en un ataque?

18

Casi todas las guías, instrucciones y referencias para tratar con contraseñas y hash tienen una advertencia en letras grandes o en negrita que indica algo como:

  

SHA-1 y MD5 son NO seguros y no deben utilizarse.

Lo suficientemente justo, no es un problema usar SHA-256 o algo más. Pero, ¿ha habido algún ejemplo de que dichas debilidades se hayan utilizado con éxito en un ataque? ¿Cuánto más débiles hacen estas vulnerabilidades los algoritmos?

    
pregunta leylandski 30.11.2015 - 16:04
fuente

4 respuestas

25

No tengo conocimiento de ningún ataque conocido públicamente que use colisión en SHA-1, pero las colisiones MD5 probablemente ya se usaron en 2010 dentro de los ataques. En 2012, se descubrió que un malware del ataque Flame tenía una firma válida de Microsoft, lo cual fue posible debido a un ataque de colisión MD5. Consulte enlace para más detalles.

En cuanto al uso de MD5 o SHA-1 con contraseñas: haga un hash simple con una contraseña trivial con MD5 o SHA-1 y luego busque el hash con google. Ejemplo:

 password:   "secret"
 md5 (hex):  "5ebe2294ecd0e0f08eab7690d2a6ee69"
 sha1 (hex): "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4"

El primer hit en Google para el hash MD5 le presenta la contraseña, al igual que el primer golpe al buscar para el hash SHA1 . Por lo tanto, las contraseñas típicas se pueden detectar fácilmente siempre que el hash no tenga sal.

Aparte de eso, incluso SHA-256 es una mala elección para las contraseñas. Este tipo de algoritmos hash están diseñados para ser rápidos, lo que hace que las contraseñas de forzado de datos brutos sean más fáciles. Para obtener más detalles sobre este tema, consulte ¿Qué tan seguros son sha256 + hashes de sal para el almacenamiento de contraseñas .

    
respondido por el Steffen Ullrich 30.11.2015 - 16:18
fuente
13

MD5, en particular, ahora se considera agrietado para muy buena razón :

  

El ataque de colisión de hash MD5 que secuestró el sistema de Windows Update en 2012 se replicó con solo 65 centavos de dólar en tarifas de computación en la nube

Tomó aproximadamente 10 horas de tiempo de CPU para realizar el ataque. Este ataque particular utilizó un ataque de prefijo elegido, lo que significa que podría formatear sus datos para evitar que el ataque funcione, pero el simple hecho de que esto se pueda hacer declara que la seguridad de su hashing ya no se encuentra en el algoritmo de hashing, sino en el formato de datos que está utilizando el hash (que es un lugar muy pobre para poner sus garantías de seguridad).

    
respondido por el Cort Ammon 30.11.2015 - 17:52
fuente
1

El malware de la llama utilizó una firma de actualización de Microsoft falsificada que usaba MD5. El servidor en cuestión había sido descuidado cuando se trataba de actualizaciones de seguridad y parches, y los creadores de malware Flame (también conocido como sKyWIper) explotaron esto para presentar a sus servidores de Comando y Control como servidores legítimos de actualización de Microsoft. Luego infectó las computadoras con sus módulos, uno de los cuales fue referenciado como Flame en el código fuente, de ahí su nombre. El enlace al informe del laboratorio de Crysys está aquí.

    
respondido por el ThePracticalCryptographer 25.02.2016 - 17:10
fuente
-1

SHA-1 absolutamente ha sido explotado con éxito en ataques conocidos. Eche un vistazo a esta excelente publicación de blog en el sitio web de Whitehatsec que explota el uso de SHA-1 para las solicitudes de firma de URL enlace .

En cuanto al almacenamiento de contraseñas, puedo decir por experiencia personal que es trivial descifrar los hashes de SHIP1 de Linux para criptas de volcados LDAP / LDIF utilizando OCLHashcat. Los puntos de referencia actuales de un solo AMD 5970 gpu pusieron a bruteforcing nsldap ({SHA}) a 3418.0 M / sy nsldaps ({SSHA}) a 3401.1 M / s, que he usado para hash de fuerza bruta de 8 contraseñas de caracteres en horas usando el estándar máscaras de contraseña.

    
respondido por el Prandium 01.12.2015 - 00:46
fuente

Lea otras preguntas en las etiquetas