¿Por qué debería redirigir al usuario a una página de inicio de sesión después de restablecer la contraseña?

83

La OWASP Forgot Password Cheat Sheet sugiere:

  

Siempre que se produzca un restablecimiento exitoso de la contraseña, la sesión se debe invalidar y el usuario debe redirigir a la página de inicio de sesión

No entiendo por qué esto es tan importante. ¿Existe una base de seguridad para esta recomendación y, en caso afirmativo, cuál es?

    
pregunta Adam Parkin 10.11.2015 - 14:57
fuente

8 respuestas

106

Digamos que un atacante tiene su contraseña. Usted inicia sesión y lo restablece. Si el restablecimiento no invalida todas las sesiones existentes, el atacante todavía tiene acceso, siempre y cuando no deje que su sesión caduque.

El reinicio no ha logrado nada en este escenario.

Dependiendo de lo que haga el sitio, también podría haber problemas con el hecho de que haya iniciado sesión con una contraseña que ya no esté actualizada. Digamos que su contraseña se usa para desbloquear algo, ha iniciado sesión con "password1", pero ahora el servidor tiene su contraseña guardada como "password2", ¿qué sucede? Esto es obviamente hipotético, pero espero ilustrar el punto.

Redirigir a la pantalla de inicio de sesión, creo que es solo una recomendación. No estoy seguro de por qué importa dónde se envía al usuario, pero desde el punto de vista de la usabilidad tiene más sentido enviar al usuario a una página de inicio de sesión en lugar de a la página de inicio.

    
respondido por el Jay 10.11.2015 - 15:03
fuente
42

Proteger sesiones en cuentas posiblemente comprometidas

No es necesario redirigir realmente a la página de inicio de sesión si la administración de la sesión tras el cambio de contraseña se realiza de forma segura. Es decir, siempre que todos los identificadores de sesión actuales se invaliden y la sesión actual se adjunte a un nuevo identificador de sesión (generalmente se emite como un token en una cookie de autenticación, la cookie solo se envía a la sesión que acaba de cambiar la contraseña). no hay riesgo de que un atacante que ya está en la cuenta se mantenga conectado.

Artículo OWASP

La razón detrás del artículo OWASP se explica a continuación. No hay nada de malo en el aspecto de seguridad, sin embargo, hay algunos problemas de usabilidad.

La funcionalidad de restablecimiento de contraseña se usa a menudo cuando un usuario desea proteger su cuenta.

Al invalidar todas las sesiones existentes al restablecer la contraseña, el sistema se asegura de que solo la persona con la nueva contraseña pueda iniciar sesión.

Digamos, por ejemplo, que un atacante que ha accedido a la cuenta con la contraseña anterior ha iniciado sesión. Al reiniciar todas las sesiones, el atacante se desconectará.

¿Por qué cerrar sesión el usuario actual, te oigo preguntar?

Bueno, digamos que el atacante se está montando en la sesión del usuario actual, por ejemplo, utilizando una vulnerabilidad de fijación de sesión . Esto significa que el atacante tiene la misma sesión que el usuario real. Al restablecer la sesión actual también se asegurará de que no haya nadie en la cuenta que no deba tener acceso.

La redirección a la página de inicio de sesión en su cita anterior realmente describe el hecho de que debe cerrar la sesión del usuario de la sesión actual y de todas las sesiones (pero no hay riesgo de que deje de ingresar a una nueva sesión con un nuevo identificador ).

    
respondido por el SilverlightFox 10.11.2015 - 15:16
fuente
33

Las otras respuestas probablemente sean más correctas desde la perspectiva de netsec, pero quería agregar que también se asegura de que el usuario pueda iniciar sesión con su nueva contraseña. Esto hace que sea obvio si algo va mal, como que el navegador rellene automáticamente una contraseña antigua.

También evita que los usuarios utilicen el restablecimiento de la contraseña como inicio de sesión. En una de mis cuentas es más fácil responder las preguntas de seguridad que recordar la contraseña, ya que debo establecer una contraseña única cada vez que la restablezca y no pueda recordarlas.

    
respondido por el John Biddle 10.11.2015 - 19:28
fuente
7

Solo hay un posible motivo relacionado con seguridad para enviarlo a la página de inicio de sesión, ya que todas las sesiones anteriores se pueden invalidar y su sesión activa actual cambió la contraseña de manera automática:
El uso del restablecimiento de la contraseña para iniciar sesión es más engorroso, lo que hace que sea menos frecuente su uso y, por lo tanto, lo mantenga más protegido contra escuchas y revelaciones accidentales.

También hay un motivo de utilidad para que te envía allí: te asegura que realmente puedas usar la nueva contraseña y que se actualice cualquier caché de contraseña en el navegador.

    
respondido por el Deduplicator 11.11.2015 - 05:26
fuente
6

Si los usuarios pueden hacer que el navegador guarde sus contraseñas, redirigir al usuario a la página de inicio de sesión permitirá que el navegador capture la nueva contraseña en esa página. De lo contrario, la próxima vez que el usuario inicie sesión en el navegador rellenará "útilmente" el campo de la contraseña con la contraseña anterior, una acción que puede causar confusión si el usuario no se da cuenta de lo que está pasando.

    
respondido por el supercat 11.11.2015 - 17:52
fuente
0

Es muy simple si tenemos en cuenta las contramedidas de seguridad. En realidad, invalidará todas sus sesiones activas, así como el dispositivo del ladrón, que creó el problema.

    
respondido por el Sarmad Ajmal 11.11.2015 - 13:13
fuente
0

Además de proporcionar un mecanismo fácil para establecer una nueva sesión válida, verificar que la nueva contraseña funciona y cerrar sesión en las sesiones actuales, también existe la ventaja adicional de que su usuario ingrese la contraseña por tercera vez, haciéndola más fácil. para recordar.

    
respondido por el Erroneous 12.11.2015 - 20:49
fuente
0

Además de muchos de los otros puntos señalados aquí, hay ventajas al limitar el mecanismo de creación de sesiones a un solo punto de entrada desde una perspectiva de mantenibilidad / fortalecimiento / auditoría.

Un usuario que restablece su contraseña en el estado de bloqueo no necesariamente debe tratarse como un usuario registrado, incluso después de saltar a través de cualquier prueba de recuperación de identidad que tenga. De lo contrario, tiene una secuencia adicional para probar al realizar su auditoría / prueba de la pluma.

    
respondido por el Bill 13.11.2015 - 16:28
fuente

Lea otras preguntas en las etiquetas