WARCRY

HTTP Strict Transport Security

El HSTS (HTTP Strict Transport Security) es un mecanismo de seguridad en la navegación web que consiste en que ante una petición efectuada por nuestro navegador, el servidor web envía un flag al navegador para que la navegación se haga estrictamente usando HTTPS con certificados que no sean autofirmados.

Ahora vamos a ver en que consiste el SSL Strip.

SSL Strip consiste en hacer creer al usuario que está bajo una conexión segura con HTTPS, ya sea porque el usuario ve un candadito el cual pude ser falsificado mediante la insercción de un icono, o por que el usuario no se fija si está bajo tráfico cifrado o no.

¿Y esto como se consigue? Cuando el navegador de la víctima realiza una petición HTTPS el atacante que está haciendo un Man in the Middle (MITM) la intercepta, entonces SSL Strip realiza la petición correcta al web server, y la respuesta al navegador de la víctima se envía bajo HTTP y no bajo HTTPS. Se observa que SSL Strip aprovecha el paso de HTTP a HTTPS para realizar sus fechorías, como pueden ser el robo de credenciales.

Una vez que tenemos más o menos claro que es y cómo funciona HSTS y SSL Strip, vamos a interrelacionarlos.

Un usuario el cual está recibiendo un ataque MITM en el cual le está esperando SSL Strip, accede con su navegador a un sitio web donde el servidor trabaja con HSTS y le envía un flag para que todo el tráfico vaya por HTTPS, cuando el navegador recibe este flag, automáticamente pasa a HTTPS dejando fuera los intentos de SSL Strip de downgrade a HTTP.

¿Pero qué pasa si yo intercepto el flag enviado por el servidor y lo elimino del paquete? Pues que SSL Strip volvería a funcionar con normalidad, pero para esto los navegadores tienen una lista interna de sitios web prefijados que solo trabajan con HTTPS, además de las cookies del historial de navegación que recuerdan si un sitio visitado trabaja en exclusiva con HTTPS.

Todos los principales navegadores actuales trabajan con HSTS, Chrome, IE11, Firefox, Microsoft Edge, etc. Por lo que las posibilidades de éxito de un ataque SSL Strip son bastante escasas.

Podéis probarlo a mano si queréis, abrir el navegador y teclear http://google.es siempre os va a redirigir a https://google.es/?gws_rd=ssl, es imposible que no salga el candadito.

Pero no es oro todo lo que reluce, y HSTS tiene sus bondades, pero también sus inconvenientes, entre ellos destaca que presenta un gran inconveniente a la navegación privada.

Como hemos visto anteriormente al utilizar HSTS se manda un flag para redirigir el tráfico a HTTPS, ahora bien, este valor binario se puede manipular para almacenar un valor personalizado e identificar y seguir de esta manera la actividad de navegación. Es más, esta supercookie puede ser leída por terceros pudiendo tejer toda la información necesaria en cuanto a nuestros hábitos, vamos lo que la navegación privada intenta evitar.

17/10/2015

© 2017 HSTS (HTTP Strict Transport Security)