Modos de ataque a una contraseña bombardeada por el tiempo

4

Soy uno de los cofundadores de plaintextoffenders.com . Recientemente recibimos una presentación para la cual no estoy seguro de si hay un medio de ataque o no. El sitio en cuestión es un hosting / VPS / etc. empresa.

Una vez que alguien hace clic en Olvidé mi contraseña, se envía un correo electrónico a la dirección de correo electrónico del usuario. Especifica una dirección de restablecimiento de contraseña (buena) que está limitada por tiempo a 15 minutos (excelente) pero también contiene la contraseña temporal del usuario para esos 15 minutos (¿eh?).

Aunque esto claramente no es una indicación de que estén almacenando contraseñas en texto sin formato, me hizo pensar si el envío de la contraseña temporal, junto con el enlace de restablecimiento limitado en el tiempo, tuvo alguna implicación de seguridad.

Actualizar : después de leer sus respuestas y revisar cuidadosamente la redacción del correo electrónico, descubrí que la contraseña proporcionada no es la contraseña temporal posterior al restablecimiento, sino la contraseña que se usará permanentemente después de hacer clic en el enlace de reinicio. Esto encaja con nuestro mandato y el post será publicado. ¡Gracias a todos por sus respuestas!

    
pregunta Omer van Kloeten 02.08.2013 - 14:50
fuente

5 respuestas

5

Una "dirección de restablecimiento de contraseña" es una contraseña temporal, y una que se puede usar como contraseña permanente. Una "contraseña" es una información que un usuario puede presentar para que se le otorgue acceso. La "dirección de restablecimiento de contraseña" se ajusta a esa definición.

Por lo tanto, diría que el puente particular de "contraseña sobre correo electrónico" ya se ha cruzado. El riesgo inherente de dicho envío se reduce al limitar la aplicabilidad de la dirección en el tiempo, al igual que la "contraseña temporal".

Se podría argumentar que la "contraseña temporal" es un poco más riesgosa en el siguiente sentido: si un atacante escucha el correo electrónico, puede usar tanto la dirección de restablecimiento de la contraseña como la contraseña temporal, pero usar la contraseña temporal deja menos Las huellas, mientras que el verdadero propietario puede detectar fácilmente el restablecimiento de la contraseña, debido a que ya no puede iniciar sesión. Sin embargo, la diferencia es leve. Yo diría que la función de "contraseña temporal" es bastante inútil pero no mucho más riesgosa que la propia dirección de restablecimiento de contraseña.

(Supongo que la "contraseña temporal" es para las personas que necesitan acceso rápido pero que no quieren romper su propia política de renovación de contraseñas, incómoda y lenta. Un caso de avanzada para ayudar a las personas que pasar a cavar su propia tumba.)

    
respondido por el Thomas Pornin 02.08.2013 - 15:32
fuente
3

Mi intuición es que probablemente haya poco o ningún riesgo; Suponiendo que la aplicación verifique correctamente que la contraseña en particular solo es válida por 15 minutos.

Como la mayoría de los intentos de piratería no están dirigidos, es muy improbable que si la contraseña cae de alguna manera en manos de un atacante, podrá explotarla dentro de la muy pequeña ventana de oportunidad. .

Sin embargo, todavía no hay un punto en el envío de la contraseña junto con una URL de restablecimiento de contraseña. Todavía es mejor eliminarlo.

Todo se reduce al perfil del sitio web. Si es una aplicación web bancaria o altamente confidencial, no lo hagas. Puede haber atacantes planeando ataques dirigidos contra sus usuarios. Sin embargo, para la mayoría de las aplicaciones web, no veo mucho riesgo.

    
respondido por el Ayrx 02.08.2013 - 14:55
fuente
1

La principal ventaja que puedo ver aquí es que (en cierto modo) ayuda a prevenir ataques en los enlaces de reinicio. Si se usa un token de enlace corto, en teoría alguien podría seguir adivinando enlaces.

Resolverlo en varias partes que requieren un nombre de usuario, una contraseña enviada por correo electrónico y un enlace enviado por correo electrónico es más seguro que simplemente un enlace de la misma longitud, ya que protege aún más a las personas que intentan adivinar la contraseña restablecer enlaces, pero se podría obtener tanta seguridad simplemente usando un token más largo en el enlace de restablecimiento de contraseña. Podría haber alguna limitación técnica al sistema que impida un token más largo. O necesita un nombre de usuario + reiniciar token de enlace + contraseña temporal o necesita un nombre de usuario + reiniciar más token de enlace. La suma total de entropía es todo lo que importa, ya que la fuga de correo electrónico es igualmente problemática para cualquiera.

    
respondido por el AJ Henderson 02.08.2013 - 15:40
fuente
1

Para, aclare, solicitar un restablecimiento de PW desde este sitio inmediatamente lo hará (por lo tanto, una contraseña temporal; el enlace de restablecimiento debería omitir las credenciales de inicio de sesión porque ese es el punto ) pero luego tiene un enlace de reinicio por tiempo limitado que les permitirá especificar uno nuevo?

Entonces, ¿qué sucede si el enlace y la contraseña bombardeados expiran? ¿La cuenta de usuario está bloqueada hasta que el usuario responde a tiempo a un correo electrónico de restablecimiento posterior? Pude ver que es un patio de recreo para un script para niños que ingresa en todas las direcciones de correo electrónico que él puede encontrar (y para los sitios que atienden a clientes corporativos, mediante el uso de correos electrónicos corporativos de la forma [email protected] , todo lo que necesita es el dominio de correo electrónico y la lista de teléfonos de una empresa para cerrar el acceso de una empresa completa a este sitio de terceros).

Obviamente, el sistema de restablecimiento de contraseña a través de correo electrónico proporciona autenticación de dos factores, lo que suele ser bueno. El hecho de que la contraseña temporal se transmita en texto más o menos simple es preocupante, pero en ese caso, el vector de ataque es alguien que está olfateando el tráfico de red del servidor de correo electrónico, que es un par de niveles de sofisticación por encima del script promedio para niños o spambot.

El esquema completo, por supuesto, es débil contra un atacante que puede descifrar la contraseña de la cuenta de correo electrónico; si obtuvo acceso a la cuenta de Gmail que usó para registrarse en el sitio, puede restablecer ambas contraseñas y SOL, pero eso es cierto para cualquier esquema de restablecimiento por correo electrónico, y aún es mejor que usar los secretos disponibles al público. "como el apellido de soltera de su madre, su escuela secundaria u otras preguntas de seguridad fáciles de investigar.

    
respondido por el KeithS 02.08.2013 - 18:00
fuente
0

La debilidad que veo es que existe la posibilidad de derrotar el objetivo del sistema si la contraseña anterior del usuario no se bloquea.

Si está enviando un correo electrónico a alguien que les permite restablecer la contraseña sin conocer la actual (el caso típico de "olvidó la contraseña"), cualquier persona que haya comprometido la cuenta de correo electrónico puede tomar el control del sistema protegido por contraseña. Esta es una parte natural del compromiso proporcionado por los sistemas de "olvidé la contraseña".

Sin embargo, una cosa importante acerca de este proceso es que, incluso si el atacante tiene el sistema de correo electrónico comprometido, no puede atacar el sistema protegido por contraseña y no lo puede detectar. Siempre tenían que cambiar la contraseña, que es un cambio pequeño pero detectable.

Si el sistema le permite usar la contraseña temporal, pero después de 15 minutos vuelve a la contraseña original, el sistema es menos fuerte. Ahora el atacante puede usar la contraseña temporal durante 15 minutos, eliminar el correo electrónico y la víctima no es consciente de ello. Sin embargo, si el sistema desactiva la contraseña original inmediatamente cuando envía el mensaje "olvidó la contraseña", es seguro. Del mismo modo, también es seguro si esa contraseña temporal solo se puede utilizar para cambiar la contraseña, no para acceder al sitio.

    
respondido por el Cort Ammon 18.02.2014 - 02:26
fuente

Lea otras preguntas en las etiquetas