Borrado / cambio de id de sesión al cerrar sesión

5

Mientras leía el nuevo estándar OWASP ASVS (todavía beta), he encontrado un requisito V2.6 que dice

  

Verifique que el ID de sesión se modifique o se borre al cerrar sesión.

No veo un punto claro por qué es necesario cambiar o borrar el ID de sesión después de cerrar la sesión. Es necesario que la sesión se invalide, por lo que, después de cerrar la sesión, no se puede acceder a los recursos protegidos. ¿Pero por qué debería querer cambiar el ID de sesión? ¿Defensa en profundidad?

EDITAR: Otro responder a la pregunta .

    
pregunta Marek Puchalski 29.07.2014 - 15:10
fuente

3 respuestas

1
  

. Es necesario que la sesión se invalide, por lo que, después de cerrar la sesión, no se puede acceder a los recursos protegidos. ¿Pero por qué debería querer cambiar el ID de sesión? ¿Defensa en profundidad?

El ID de sesión en sí puede verse como una parte de información privada que se asoció con la sesión del usuario autenticado. Borrar esta ID del lado del cliente garantiza que este valor privado ya no esté disponible.

Sí, es un tipo de defensa en profundidad, ya que podrá verificar desde el lado del cliente que la sesión ha cambiado, lo que implicaría que el servidor no sabe nada más sobre la sesión actual (es decir, no está vinculado a ninguna cuenta de usuario o tiene datos privados, etc). Si estaba revisando una aplicación según el estándar ASVS y notó que la ID de sesión había cambiado al cerrar la sesión, puede estar bastante seguro de que todos los datos de la sesión se han borrado y ya no están disponibles desde el cliente. Sí, técnicamente es posible codificar un sistema para migrar cualquier información de sesión a la nueva sesión, pero como no hay una razón real para hacerlo, es una buena medida de la calidad del manejo de la sesión de la aplicación.

Además, el envío de la ID antigua se puede realizar como parte de las pruebas para garantizar que ya no se reconozca como una sesión autorizada.

    
respondido por el SilverlightFox 30.07.2014 - 15:37
fuente
5

Debido a una posible fijación de sesión: enlace

  

En la seguridad de la red informática, los ataques de fijación de sesión intentan   explotar la vulnerabilidad de un sistema que permite a una persona   fijar (establecer) el identificador de sesión (SID) de otra persona. La mayor sesion   Los ataques de fijación están basados en la web, y la mayoría se basa en identificadores de sesión   siendo aceptado desde URL (cadena de consulta) o datos POST.

Otro problema: si el usuario tiene el mismo ID de sesión después del cierre de sesión (incluso si se borran los contenidos de la sesión), el atacante tiene la posibilidad de prolongar el uso del ID de sesión robado. Alice inicia sesión en algún sitio; El atacante roba una cookie con el id de sesión; Alice se desconecta del sitio; El atacante no puede usar una cookie robada para acceder al sitio; Alice inicia sesión en el sitio; El atacante puede usar una cookie robada, porque el ID de sesión de Alice es el mismo;

La regla general es cambiar la identificación de la sesión tan a menudo como puedas.

    
respondido por el Dissimilis 29.07.2014 - 15:22
fuente
2

Es otra forma de decir lo mismo. El objetivo es que un usuario malintencionado que capture el ID de sesión de un usuario autenticado no pueda seguir utilizando ese ID de sesión para interactuar con la aplicación como el usuario autenticado después de que el usuario haya cerrado la sesión. Después de cerrar sesión, la aplicación ya no debería reconocer ese ID de sesión. Desde la perspectiva de la implementación, esto puede significar que invalida la sesión, o cambia el ID de sesión en el servidor para que ya no se pueda hacer referencia al ID de sesión anterior.

    
respondido por el Xander 29.07.2014 - 15:18
fuente

Lea otras preguntas en las etiquetas