¿Es posible ser hackeado si mi hash bcrypt se conoce públicamente?

32

Acabo de marcar enlace y he notado que recibí un pwned, por lo tanto, verifiqué el archivo que contiene los detalles de mis "credenciales", sin embargo, veo mi correo electrónico en texto simple, pero la contraseña es un hash bcrypt .

Dado que las funciones hash son de una manera y no se pueden revertir, ¿debería preocuparme y cambiar todas mis contraseñas o estoy siendo demasiado paranoico?

EDITAR: cuando quise decir "todas mis contraseñas", quise decir aquellas que no son muy relevantes / similares a la contraseña expuesta. Obviamente, usar la misma contraseña para casi todos los sitios web es IMO bastante estúpido.

EDIT 2: me gustaría pedirles a todos ustedes que no compartan ninguna información sobre cómo se hace. Gracias por su comprensión.

    
pregunta SergeantSerk 20.03.2016 - 22:54
fuente

2 respuestas

49

Una breve descripción de los algoritmos hash débiles frente a bcrypt

Con algoritmos de hashing de contraseñas débiles, lo que los hackers harán es intentar millones, o miles de millones de combinaciones diferentes, tan rápido como lo permita su hardware, y muchas contraseñas fáciles caerán rápidamente en las tablas / contraseñas del arco iris crackers / ataques basados en diccionario.

Los atacantes intentarán comparar una cantidad masiva de cadenas con tu hash, y la que valida es muy probable que sea tu contraseña. Incluso si no lo es, todavía puede iniciar sesión con él porque ha encontrado una colisión.

Sin embargo, bcrypt es diferente. Es computacionalmente lento, por lo que este agrietamiento se reducirá inmensamente . Bcrypt puede ayudar a reducir la velocidad hasta el punto en que solo puede hacer algunas pruebas por segundo, si eso. Esto se debe al factor de costo computacional. Debería leer esta respuesta de Thomas Pornin para obtener una mejor explicación:

  

Si el recuento de iteraciones es tal que una invocación de bcrypt es tan cara como 10 millones de cómputos de MD5, entonces la contraseña de forzamiento bruto será 10 millones de veces más costosa con bcrypt que con MD5.

     

Ese es el punto de tener una lentitud configurable: puede hacer que la función sea tan lenta como desee. O, más exactamente, tan lento como pueda tolerar: de hecho, una función lenta es lenta para todos, atacantes y defensores por igual.

Así que realmente depende del costo computacional agregado. Algunas soluciones de hardware personalizadas son capaces de romper hashes bcrypt a más de 52k hashes por segundo. Con un ataque estándar y una contraseña deficiente, no tiene muchas esperanzas de esperar por mucho tiempo. De nuevo, esto depende del costo computacional: incluso esta solución de hardware personalizada puede reducirse a 2 a 5 hashes por segundo, o incluso más lento.

No reutilice las contraseñas si le interesan las cuentas.

Ya encontré tus credenciales y "descifre" tu hash bcrypt

Pero no te hackearé, no te preocupes. Esto es solo para demostrar por qué debe actualizar sus credenciales y dejar de reutilizar su contraseña. Querías una respuesta, ¿qué mejor que una demostración en vivo?

Eres del Reino Unido, ¿correcto? Tu hash bcrypt también es $2a$10$omP392PbcC8wXs/lSsKZ5Ojv9.wFQ7opUn7u3YUBNu0kkbff0rB.m , ¿correcto? Ya "rompí" su contraseña, y conozco sus cuentas. Te veo, un ladrón en el techo. Mi nuevo enlace de satélite tiene tanto el espectro infrarrojo como el de rayos X. Veo latir tu corazón; Veo que tienes miedo.

Esto debería ser evidente: definitivamente debes cambiar tus contraseñas. Comience a cambiar sus credenciales ahora ... antes de que sea demasiado tarde. Usted debería estar preocupado y debería cambiar sus contraseñas. Ahora.

Sí, bcrypt puede ser extremadamente lento, pero ...

En realidad, encontré una manera de evitar por completo el proceso de forzamiento de la fuerza bruta con la simple agregación y correlación de datos. Escribí un pequeño programa que une algunos datos y los compara. No es un cracker de contraseñas o algo así, pero al final del día, hizo el mismo trabajo.

Para su privacidad, y según su solicitud, no compartiré cómo hice esto aquí, pero debe saber que no soy el único que puede hacerlo. Si puedo hacerlo, también pueden hacerlo otros.

Sin embargo ... ¡debes dejar de reutilizar las contraseñas!

Realmente, realmente no quieres hacer esto. Si un sitio está comprometido, tener contraseñas diferentes en otras cuentas también protege a los demás de las infracciones.

Actualice todas sus cuentas, incluso las que no ha usado por un tiempo, y deje de reutilizar las contraseñas a menos que no se preocupe por ellas. Es posible que desee considerar algo como KeePass .

    
respondido por el Mark Buffalo 20.03.2016 - 22:58
fuente
3

No puedes descifrar el hash, porque, como dijiste, las funciones hash no se pueden revertir.

Aún debes cambiar tus contraseñas. Los atacantes intentarán atacar con fuerza el hash y, si tienen éxito, probarán las credenciales en su cuenta de correo electrónico y posiblemente en otros sitios web.

Al mencionar "todas mis contraseñas", también se debe tener en cuenta que no debe reutilizar las contraseñas para nada que sea importante de forma remota (y sus contraseñas tampoco deben seguir alguna estructura común). Para cuentas desechables, las contraseñas débiles y la reutilización de contraseñas pueden estar bien, pero para cualquier otra cosa, no lo es, precisamente debido a situaciones como estas: una vez que un servidor es violado, los atacantes intentarán las credenciales en diferentes servicios también.

    
respondido por el tim 20.03.2016 - 23:01
fuente

Lea otras preguntas en las etiquetas