Testing for Browser Cache Weakness (OTG-AUTHN-006)

El objetivo de la prueba de seguridad OTG-AUTHN-006 es comprobar si la aplicación web instruye correctamente al navegador para que no almacene información sensible.

Los navegadores normalmente guardan información de las páginas web visitadas por los usuarios para hacer un registro del historial de navegación y establecer una caché para que la carga posterior de dichas páginas sea más rápida. Esta caché no debe contener información sensible porque si un atacante accede a los directorios donde se guardan estos datos, pudiera apropiarse muy fácilmente de ellos y utilizarlos con propósitos, ya sabemos de qué tipo.

Para conducir esta prueba de seguridad se deben aplicar dos procedimientos:

  • Revisión de historial: El especialista de seguridad  se auténtica con credenciales legítimas en la aplicación web, introduce datos sensibles en los formularios correspondientes y se desconecta (logout). A continuación, acciona el botón Regresar del navegador y comprueba si es posible acceder a las páginas con la información sensible previamente introducida. Hay dos métodos para evitar que esto ocurra:
    • Usar un canal de comunicación seguro HTTPS.
    • Establecer el campo Cache-Control de la cabecera HTTP de respuesta con valor must-re-validate.
  • Revisión de la caché de navegación: Para esta prueba se debe usar un proxy interceptor como OWASP ZAP para analizar, por cada página con información sensible, si la aplicación web instruye adecuadamente al navegador para que no guarde una caché de dicha página web. Debe revisarse la presencia de los siguientes campos en los encabezados HTTP:
    • Cache-Control: no-cache, no-store
    • Expires: 0
    • Pragma: no-cache
    • Es recomendable también usar valores adicionales para incrementar la robustez de las medidas para evitar la persistencia ficheros enlazados: Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0

La mayor dificultad en esta prueba, como puede observarse, es determinar cuáles son los formularios y reportes que contienen información sensible. Todos aquellos donde se registren operaciones sobre el sistema, números de tarjetas de créditos, historial clínico, cuentas bancarias, direcciones de correo y números telefónicos pueden estar dentro de esta categoría.

Espero que te haya gustado el post y sin consideras que hay otros elementos que puedan tenerse en cuenta para esta prueba me gustaría conocerlo a través de tus comentarios.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s