framework security yesod

security - framework - ¿Por qué la cookie de sesión de Yesod no puede ser secuestrada?



haskell web framework (1)

El libro de Yesod dice

El cifrado impide que el usuario inspeccione los datos, y la firma garantiza que la sesión no puede ser secuestrada ni manipulada.

No me queda claro por qué este es el caso. Si un intruso obtiene la cookie cuando se envía desde el servidor y la usa antes de que el usuario legítimo realice otra solicitud, ¿no terminará la sesión secuestrada?

Me parece que la única forma de prevenir realmente el secuestro de sesiones es usar SSL en todo momento. Pero si lo hago, entonces la firma y el cifrado realizados por Yesod terminan siendo una sobrecarga innecesaria (EDIT: gastos generales en lo que se refiere a prevenir el secuestro de armas. Como @sr_ señala en los comentarios, sigue siendo útil de otra manera).


Esa es una buena captura. Esto solía ser más preciso, cuando incluíamos la dirección IP del cliente en la cookie para evitar el secuestro. Combinado con las protecciones contra manipulación indebida, esto hizo que fuera prácticamente imposible que un ataque MITM funcionara a menos que tuvieras una NAT detrás del mismo enrutador o usando el mismo proxy.

Desafortunadamente, tuvimos que deshabilitar esa protección debido a las preocupaciones sobre los proxies también. Es posible que las solicitudes de un solo usuario provengan de múltiples direcciones IP debido a servidores proxy intermedios. No tengo datos para saber con qué frecuencia sucede esto, pero hubo suficiente preocupación acerca de esta característica de seguridad que causó la rotura y la inhabilitamos.

Gracias por hablar de esto, he corregido el libro .