¿Razones para establecer un límite de tiempo para ingresar las credenciales de inicio de sesión?

46

Un servicio que uso tiene un límite de tiempo (aparentemente bastante corto: 10-20 segundos tal vez) para ingresar las credenciales en la página web de inicio de sesión. Al intentar iniciar sesión después de este período aparece el siguiente mensaje:

[Porrazonesdeseguridad,losusuariosdebeningresarsuscredencialesdentrodeunperíododeterminado.Esteperíodohasidosuperado.Nosgustaríapedirlequeiniciesesióndenuevo.]

Lapáginaseactualizaypuedoiniciarsesiónsinproblemas.

¿Quépreocupacionesdeseguridadpodríaestartratandoderesolveresteservicioalrequerireliniciodesesióndentrodeun"período determinado"?

    
pregunta BlueCompute 19.06.2017 - 14:15
fuente

5 respuestas

43

Esto parece ser una solución orientada a la administración de la sesión back-end.

Estoy especulando que los usuarios anónimos no inician ningún tipo de sesión, pero una sesión se crea una instancia una vez que llegas a la página de inicio de sesión. Cuando inicia sesión, se nota en su sesión y puede utilizar su sitio y sus servicios. Si no inicia sesión en un tiempo determinado, continúan y finalizan su sesión.

Dado el mercado en el que operan (seguridad), podría verlos como un objetivo para el DDoSing a través del consumo de recursos, por lo que esta sería más una solución de administración de recursos que cualquier otra cosa (evita que la cantidad de sesiones abiertas supere un cierto umbral) .

Entonces, es seguridad para su infraestructura, no ningún tipo de seguridad para su cuenta.

    
respondido por el Ivan 19.06.2017 - 17:29
fuente
16

Podría ser que hayan emitido un token de verificación de la forma que devolvieron al servidor como parte del inicio de sesión, que se agota después de un período de tiempo. No digo si es una buena solución o no, solo que puede ser la razón.

OWASP tiene esta información: enlace

    
respondido por el ISMSDEV 19.06.2017 - 17:38
fuente
5

Sí, el tiempo de espera de inicio de sesión es una mitigación contra el siguiente ataque conocido como ataque de fijación de sesión :

  1. El usuario malicioso tiene su propia cuenta de PandaCloud que contiene una serie de archivos falsos.

  2. El usuario malintencionado accede a una computadora pública, por ejemplo, en una biblioteca, universidad o cafetería, y firma en.

  3. Malicious hace una copia de las cookies de su sesión.

  4. El usuario malintencionado regresa a la página de inicio de sesión de PandaCloud pero no inicia sesión.

  5. La página de PandaCloud, al cargar, elimina todas las cookies para restablecer el navegador a un estado limpio.

  6. El usuario malicioso reemplaza sus cookies en la tienda de cookies del navegador.

  7. El usuario malintencionado deja el escritorio y se dirige a una esquina para verlo.

  8. El usuario ingenuo aparece y se registra. El script que borra las cookies existentes ya se ejecutó en el paso 5 y no se ejecuta de nuevo, por lo que las cookies del usuario malintencionado se envían a PandaCloud.

  9. El usuario ingenuo cree que está accediendo a su propia cuenta, pero de hecho está accediendo al usuario malicioso.

  10. El usuario ingenuo carga archivos confidenciales y luego cierra la sesión.

  11. El usuario malicioso inicia sesión y descarga los archivos confidenciales.

El propósito del límite de tiempo es reducir la exposición que se produce entre los pasos 5 y 8. Si es lo suficientemente corto, es más o menos imposible realizar este ataque.

Sin embargo, hay maneras mucho mejores de lidiar con eso, como usar más de una cookie y almacenar parte del servidor de información del usuario. Quizás estos otros métodos no fueran factibles debido a otras restricciones técnicas.

    
respondido por el John Wu 20.06.2017 - 02:16
fuente
3

Dada la información en la que tenemos que basar esto, me gustan muchas de las especulaciones ya dadas. Algunos mejores que otros. Por lo tanto, dadas todas las especulaciones a las que parece que tenemos derecho, permítanme presentar otro escenario de caso realmente muy avanzado:

Protegiendo al usuario fácilmente distraído

El usuario escribe las credenciales pero aún tiene que presionar el botón de enviar. Se distrae, se aleja, decide comenzar a navegar por una página diferente debido a una notificación de redes sociales o cualquier otra cosa. Básicamente, completaron todas sus credenciales pero no las enviaron.

Luego dejan su máquina: una máquina pública, una biblioteca, una computadora portátil en una cafetería durante un descanso en el baño (hey, he visto a personas dejar sus autos corriendo mientras entran en una tienda de conveniencia ... ¡puede suceder!)

El atacante potencial puede obtener acceso a la máquina y enviar el formulario, pero con el breve tiempo de espera, su sesión caducará. Por supuesto, en lugar de enviar, probablemente haya formas más interesantes de recuperar una contraseña de un campo ****** para que luego pueda reutilizarse adecuadamente para el acceso. Pero eso es un problema de seguridad diferente.

    
respondido por el subdigit 20.06.2017 - 14:33
fuente
2

Lo siguiente puede ser una razón:

1) Usted proporciona el nombre de usuario y las credenciales, y algo hace que abandone la computadora antes de presionar el botón de envío

2) Un atacante accede a su computadora y presiona el botón enviar. Finalmente, el atacante puede usar tus aplicaciones.

Por ejemplo, el proveedor de Keycloak OpenIDConnect limita el tiempo de proceso de inicio de sesión.

    
respondido por el Michael 19.06.2017 - 14:23
fuente

Lea otras preguntas en las etiquetas