¿Las páginas de inicio de sesión deben ser cacheables?

4

Estoy considerando las ventajas / desventajas relativas de hacer que una página de inicio de sesión sea guardada en caché. Tenga en cuenta que aquí me refiero a la página que contiene el formulario en el que el usuario ingresa su nombre de usuario y contraseña.

Ciertamente, no agrega ninguna protección contra la eliminación de SSL (la página HTTP se trata como una entidad separada de la era HTTPS para propósitos de almacenamiento en caché).

Parece que agrega algún valor en la protección del formulario contra la modificación por certificados deshonestos y potencialmente contra futuros problemas en SSL, aunque solo puede mejorar la integridad del formulario para ingresar los datos, que luego debe enviarse a través de un sistema comprometido. conexión. ¿Esto anula todos los beneficios de cargar la página desde el caché local?

Encontré este informe que afirma que el almacenamiento en caché de la página de inicio de sesión es una vulnerabilidad, por el hecho de que " No se recomienda habilitar el navegador web para guardar ninguna información de inicio de sesión, ya que esta información podría verse comprometida cuando existe una vulnerabilidad ". Sin embargo, la página de inicio de sesión es seguramente la forma one que realmente no queremos ¿Pre-poblar antes de enviar al navegador? OTOH habría problemas en el uso de un mecanismo basado en desafío / respuesta donde el desafío se emita dentro de la página de inicio de sesión, pero simplemente no funcionará en lugar de comprometer la seguridad.

No abre un nuevo vector de ataque a través del caché del navegador: esto ya existe cuando la página no se puede almacenar en caché (aunque potencialmente hace que un ataque con esta raíz sea un poco más sencillo si la página ya está en el caché). ).

¿Hay algún beneficio / desventaja significativo que haya pasado por alto aquí?

    
pregunta symcbean 28.01.2014 - 12:55
fuente

3 respuestas

2

De acuerdo con OWASP Application Security, cualquier página que pueda tener información confidencial no debe almacenarse en caché si se puede acceder a ella desde computadoras compartidas públicas como bibliotecas.

enlace

Cualquier página después de que el usuario haya iniciado sesión es mucho más sensible y candidata a no tener caché que la página de inicio de sesión (ya que la página de inicio de sesión es pública).

Creo que en el informe "Se encontró la página de inicio de sesión en caché", se confundieron dos conceptos. Un concepto es el almacenamiento en caché de información sensible como se incluye en la propia página. El otro es el almacenamiento en caché de la información de inicio de sesión y contraseña, como parte de la configuración del navegador. Como sé, una directiva no afecta a la otra (es decir, considerar que la página no se puede almacenar en caché no afectará la capacidad del usuario para almacenar la contraseña en el perfil del navegador).

Para pedirle al navegador que no almacene información de inicio de sesión, puede utilizar el atributo autocomplete = 'off'.

enlace

    
respondido por el Sandokas 28.01.2014 - 13:34
fuente
2

La página de inicio de sesión no es el inicio de sesión de información ; este último debe ser almacenado en caché sólo con gran precaución. Pero la página en sí no es un secreto; Todo el mundo puede conseguirlo. Por lo tanto, no hay ningún problema en aplicar a esa página el mismo mecanismo de almacenamiento en caché que para todas las demás páginas.

En cuanto a la protección extra , no cuente con ello. Si el atacante puede atravesar SSL de alguna manera, entonces puede darle al usuario una página falsa, porque así es como funciona principalmente el almacenamiento en caché HTTP: el cliente solicita una página, pero afirma que ya tiene una copia de la fecha T ; el servidor puede responder "puede reutilizar la copia antigua" o enviar una nueva.

    
respondido por el Thomas Pornin 28.01.2014 - 13:19
fuente
0

Considere un escenario en el que creo que el almacenamiento en caché de la página de inicio de sesión puede ser un problema.

tomando ejemplo de una aplicación en la que se le presenta al usuario el formulario de inicio de sesión y se le solicita que inicie sesión con su correo electrónico y contraseña. Si el correo electrónico o la contraseña están desactivados incluso por 1 carácter, el inicio de sesión falla. Algunas aplicaciones pueden enviar el correo electrónico y la contraseña como parte de la respuesta al navegador para su corrección y renovación. Dado que la página de inicio de sesión es capaz de almacenar en caché, el correo electrónico y la contraseña también podrían almacenarse en caché.

Nota: aún no he probado esto, así que siéntete en contacto para compartirlo.

    
respondido por el Sanchit Sharma 13.01.2015 - 14:15
fuente

Lea otras preguntas en las etiquetas