domingo, 18 de noviembre de 2007

"Descifrar" claves MD5 usando goolge

Si bien el algoritmo MD5 realiza el resumen de una palabra o frase, es todavía bastante usado para implementar algoritmos de seguridad y cifrado, porque todos los lenguajes de programación lo soportan ya entre otras cosas es un standard que cualquiera puede implementar.
La idea del MD5 es obtener una cadena "única" de carateres, como por ejemplo: 1e04bb3f9f396d3b71d93d326ebfc42d que corresponde a la frase "hola mundo", o b4b9e397fb7e08bfeaa54090d2989e53 que corresponde a "Hola Mundo".
Nótese que la frase cambia apenas, pero el MD5 es completamente diferente.
Muchos sistemas (incluso algunos nuestros) implementan la seguridad del login de usuarios de la siguiente forma: el usuario ingresa su contraseña, se le calcula el MD5 y se guarda este resultado, de manera tal que si alguien tuviera acceso a la misma aun así no sabría cuál es la clave; luego, en el próximo login, el usuario ingresa su nombre y contraseña, a la cual se le vuelve a calcular el MD5. Ahora si ambos MD5 coinciden, el calculado y el guardado, entonces el usuario ingresó la contraseña correctamente y puede seguir adelante.
Simple y efectivo, verdad?
Bien, la belleza del MD5 es que no tiene inversa, lo que significa que partiendo del resultado, no es posible llegar (a una única) frase de origen, convirtiendo así al sistema en inatacable... hasta ahora.
Resulta que si uno tiene una buena cantidad de frases y sus MD5 correspondientes, si alguno coincide, violà, encontró la frase original. Esto se conoce como ataque de diccionario y se basa en que las personas en general no eligen cualquier cosa de contraseña, sino palabras existentes o frases que les sea simple recordar, como nombres de mascotas, familiares, fecha de cumpleaños y muchas otras trivialidades.
Acá es dónde entra Google, aportando el diccionario de MD5 más grande de la historia!!!
Tendría Google que restringirlo? De ninguna manera! Lo que debemos hacer son nuestros sistemas más seguros, pero por sobre todo, nuestras contraseñas menos obvias además de cambiarlas a menudo.

Este es un ejemplo de uso con la primer frase de este artículo.
Un sitio ruso que provee un diccionario para comparar la viabilidad.

Via y via entre muchos otros que se hacen hoy eco de la novedad...

2 comentarios:

  1. jajaja los amigos de macana están por todos lados!! De todas maneras, es muy interesante el tema... se viene la continuación en un próximo post acerca de cómo hacer más seguro un sitio? ;) Saludos!

    ResponderBorrar