domingo, 9 de julio de 2017

HSTS & HPKP:Misión salvar HTTPS [Parte IV]

En las entradas anteriores nos hemos centrado en la teoría sobre HSTS y HPKP, pero hoy vamos a ver cómo gestionan esto algunos de los sitios más conocidos por los que cualquier usuario común suele navegar diariamente.


Lo que haremos será analizar las cabeceras de las principales redes sociales que usan el usuario común y a la mayoría de programadores.


Si nos fijamos en la cabecera de facebook, podemos comprobar cómo no usa la política HPKP pero sí que usa HSTS con un max-age de 180 días, que son 6 meses, medio año. Es decir, después de 6 meses el max-age caduca y "se correría el riesgo de que un atacante aproveche que el certificado caduce, de no ser del uso que Facebook hace del campo preload, es decir, "una base de datos" que disponen los navegadores para evitar este problema de "la primera conexión" o la "caducidad" del certificado.


Twitter tampoco hace uso de HPKP, pero sí de HSTS. Si comprobamos el stric-transport-security, nos puede llamar la atención dos cosas. La primera, es que no usa ningún campo más, ni preload ni includeSubDomains ni ningún otro campo. Esto potencia la peligrosidad y en otras entradas veremos por qué esto es un verdadero problema, pues no cubre "el problema de la primera conexión" ni protege los subdominios.

Como todos podéis pensar, el problema de este max-age es el de la primera conexión que se realiza, y es que tu primera conexión a un sitio web, el certificado que tú envías al navegador, "no es seguro" pues el navegador no puede comprobar u validez con los anteriores certificados, ya que no hay anteriores certificados pues es tu primera conexión. Para solucionar esto, está el campo preload, el cual funciona como se ha dicho, "como una base de datos" con todas las webs que esas empresas han dicho a los navegadores, que son de confianza. Por lo que se ve, Twitter no ha dicho a los navegadores "oye, siempre que un usuario se conecte la primera vez a Twitter.com, valida el certificado que yo soy de confianza". Esto es un posible vector de ataque.


Lo segundo que nos puede llamar la atención, es que el max-age de Twitter en su stric-transport-security, es de 20 años, siendo, posiblemente, el mayor max-age de todos los sitios webs que usan HSTS y/o las Public-Key-Pins.



Posiblemente Github es de los sitios que más parecen preocuparse por la seguridad, ya que hacen uso de HSTS y de HPKP. También observamos que en HSTS hacen uso de los campos includeSubDomains y el campo preload. En la política HPKP hacen uso de los pines ya explicados en las primeras entradas sobre este tema. Pines encodeadoscon sha256, además del campo includeSubDomains.

Ya hemos visto cómo son las cabeceras de Facebook, Twitter y GitHub y qué políticas usan cada uno.

¿Hackeamos el Mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...