¿Cómo saber si un sitio está almacenando contraseñas de forma segura? [cerrado]

4

Un sitio que frecuento tiene una política que le hace cambiar su contraseña cada 90 días. Esa es una buena política, pero me topé con un xkcd antiguo y lo hice yo mismo, porque en este sitio ocurren muchas actividades de doxing. Simplemente nunca se me ocurrió que algo como esto podría suceder en un sitio con mayor reputación (lo que es tonto, lo sé). El sitio se ejecuta en vBulletin.

¿Cómo puedo encontrar si el sitio que estoy usando almacena mi contraseña de forma segura?

    
pregunta grass-hopper 02.11.2013 - 08:47
fuente

4 respuestas

15

No hay una forma legítima para que usted sepa directamente si un sitio web almacena las contraseñas en texto simple, los almacena en un formato reversible (posiblemente encriptado) , almacena como hashes mediocres , o los hashesea de forma segura. Una posibilidad es intentar recuperar su contraseña usando la funcionalidad "olvidé mi contraseña". Si le envían su contraseña, definitivamente la están almacenando como texto simple o como un formato reversible (posiblemente encriptado). El problema con este método es que no funciona al revés; si no le envía su contraseña, no significa que no la están almacenando como texto simple o en un formato reversible.

La conclusión es: a menos que obtenga acceso legítimo o ilegítimo (piratería) a sus servidores para verlo por usted mismo, realmente no hay forma de saberlo.

    
respondido por el Adi 02.11.2013 - 10:31
fuente
6

Dado que hash de contraseña segura es una segunda línea de defence , su efectividad no se puede probar hasta que se rompa la línea de defensa first , es decir, se piratee el servidor o hacen algo estúpido como enviar su contraseña por correo electrónico.

Como han explicado otros, si el sitio puede devolverle su propia contraseña, entonces, por definición, la almacenaron, y no solo un token de verificación de una sola vía (generalmente designado por "hash de contraseña"). Esta es una pista definitiva sobre el almacenamiento muy inseguro. Sin embargo, si no devuelve su contraseña, no significa que la almacenen de forma segura. Aún podrían almacenarlo de manera reversible (por ejemplo, encriptado en lugar de hash), o incluso podrían hacerlo con una función de hashing de contraseña débil (por ejemplo, sin sal, o con una función de hash que es demasiado rápida, o ambas) - vea esta respuesta para más detalles).

Otras pistas de almacenamiento de contraseña incorrecta incluyen:

  • Detección posterior a los hechos de "contraseñas incorrectas": si le envían un correo electrónico indicando que su contraseña debe cambiarse porque no cumple con algunas reglas internas, entonces tenga acceso a la contraseña de forma asíncrona (es decir, no solo cuando la ingresa para la autenticación), y eso es malo.

  • Rechazo de contraseñas similares : si cambia su contraseña con una nueva contraseña que es muy similar (pero no idéntica) a una contraseña anterior que usó, y el sitio la rechaza sobre esa base, entonces el sitio puede saber qué contraseñas son similares entre sí, lo que nuevamente implica un almacenamiento reversible.

  • Tiempo de respuesta muy rápido. Este es difícil de medir y ciertamente no puedes hacerlo a mano; tiene que ser un guión Cuando envía una solicitud de autenticación, puede medir el tiempo que tomó el servidor para responder. Durante ese retraso, con el hash de contraseña normal, el servidor debe ha calculado la función de hash. Para una mayor precisión envíe muchas solicitudes de autenticación; Si el servidor puede manejar 100 solicitudes por segundo, entonces sabrá que cualquier hash que usen requiere no más de 1/100 de su capacidad de CPU. Advertencia: si lo hace, es posible que lo detecten como un atacante que intenta realizar un ataque de diccionario (a la inversa, si no es detectado, esto significa que el sitio no está protegido contra en línea ataques de diccionario, y eso también es malo).

Personalmente, diría que imponer un cambio de contraseña cada 90 días ya es un signo de mala gestión de la contraseña en general. En cualquier caso, no reutilizará las contraseñas . Cuando no reutiliza las contraseñas, la falta de seguridad en el almacenamiento de contraseñas en un sitio es mucho menos crítica.

    
respondido por el Tom Leek 02.11.2013 - 14:22
fuente
3

vBulletin hashs sus contraseñas (aunque en realidad no son tan buenas):

md5(md5(password) + salt)

Que no es el mejor / más seguro de los algoritmos de hashing de contraseñas, pero al menos usan un salt. En estos días, el algoritmo de hashing anterior no se considera seguro (md5 es realmente rápido). Echa un vistazo a uno de nuestros blogposts para obtener más información.

    
respondido por el Lucas Kauffman 02.11.2013 - 09:13
fuente
1

Manera muy simple: solicite que olvidó su contraseña y vea si le enviaron la contraseña original. Si lo hacen, entonces no están utilizando hashes.

    
respondido por el Green Fly 02.11.2013 - 11:55
fuente

Lea otras preguntas en las etiquetas