El estado de la seguridad de la World Wide Web en 2021

Nota del editor: este artículo forma parte de una serie de tres partes que explora lo seguro que realmente están los usuarios de Internet en 2021. Otros artículos de la serie son No temas al WiFi y Los administradores de contraseñas pueden hacer que tu red sea más segura, pero cuidado con los vacíos.

En una discusión reciente, surgió el tema de si están más seguros o en más riesgo el usuario medio de Internet ahora en comparación con hace 10 años.

Si lees los titulares de las noticias, podrías pensar que hemos ido de mal en peor, pero mi reacción instintiva es que nunca hemos estado más seguros. Claramente, no hemos “resuelto” la seguridad, pero parece que hemos tachado muchos elementos de la lista.

Para comprobarlo, decidí echar un vistazo a los avances que hicimos y ver si están marcando una diferencia.

Seguridad en los primeros días

La World Wide Web de hoy es un lugar muy diferente de cuando surgió de la mente de Sir Tim Berners-Lee en 1990. Si bien la primera web era gratuita y abierta, era demasiado abierta. No había privacidad ni cifrado para proteger la información que se mueve entre los numerosos servidores y routers involucrados en conectar el mundo.

Netscape ayudó a resolver esto al introducir el cifrado a través de Secure Sockets Layer (SSL), que luego se actualizó a una especificación formal, Transport Layer Security (TLS). En ese momento, TLS estaba destinado a proteger los carritos de compra, la información de las tarjetas de crédito y, ocasionalmente, los nombres de usuario y contraseñas.

Seguridad por defecto

Curiosamente, esto siguió siendo cierto hasta 2013, cuando un contratista de la NSA, Edward Snowden, decidió contarle al mundo cuánta información online recopilaba (y podía recopilar) Estados Unidos sobre casi todo el mundo.

A pesar de esto, hasta octubre de 2013, unos meses después de las filtraciones de Snowden, solo el 27,5% de las páginas web cargadas por Mozilla Firefox utilizaban algún tipo de cifrado.

Esto llevó a la industria de la seguridad a interesarse y trabajar para mejorar la seguridad y la privacidad de los usuarios de Internet a nivel mundial.

La idea era: la única forma de resolver este problema es cifrar todo y convertirlo en un requisito, no en una ocurrencia de última hora. Esto impulsó la introducción de nuevas tecnologías y estándares para garantizar que las cosas estuvieran seguras de forma predeterminada y para evitar que las cosas se degraden para usar métodos antiguos e inseguros.

Sin embargo, la nueva tecnología y los estándares no eliminaron el riesgo. Si alguien puede interferir con tus conexiones de red, simplemente puede redirigirte a un sitio malicioso para robar tu información privada. Esto se conoce como un ataque de máquina en el medio (MitM), que podría llevarse a cabo proporcionando respuestas falsas de DNS (sistema de nombres de dominio), operando un punto de acceso Wi-Fi gemelo malicioso o directamente por ISP (proveedores de servicios de Internet), gobiernos, fuerzas del orden y otros. Las empresas pueden incluso interceptar el tráfico TLS utilizando cajas intermedias diseñadas para inspeccionar el tráfico protegido.

Arreglando el problema

Incluso si el sitio que estás visitando utiliza HTTPS, es probable que debas escuchar HTTP (Protocolo de transferencia de hipertexto) inseguro y redirigir a los usuarios al sitio seguro, ya que los navegadores web suelen probar primero HTTP de forma predeterminada.

Para decirle al navegador que haga la conexión inicial a través de HTTPS, en 2012 Google propuso un nuevo encabezado HTTP: HSTS (HTTP Strict Transport Security). Este encabezado HTTP permitió a los administradores del sitio web indicar que su sitio web solo debe cargarse a través de HTTPS y que los navegadores nunca deben intentar realizar conexiones a través de HTTP en el puerto 80.

Por supuesto, esto aún significa que podrías correr el riesgo de una degradación a HTTP la primera vez que visites un sitio, antes de que tu navegador haya observado el encabezado HSTS. Esto se conoce como eliminación de SSL, que es el tipo de ataque MitM para el que HSTS se diseñó en primer lugar.

Para solucionar este problema, HSTS se ha ampliado con una opción de “precarga”. Una vez adjunto a tu encabezado HSTS, puedes enviar tu web a https://hstspreload.org para que aparezca como un sitio integrado y siempre seguro para Chrome, Firefox, Opera, Safari, Internet Explorer y Edge.

A fines de 2013, para alentar a todos los sitios a implementar el cifrado TLS, Google anunció que su navegador Chrome comenzaría a advertir a las personas cuando accedan a páginas web inseguras y clasificaría los sitios no cifrados en una posición más baja en sus resultados de búsqueda.

Debido a que la política de Google y la comunidad de seguridad en su conjunto presionan mucho, duplicamos la cantidad de sitios que admiten conexiones seguras en solo tres años. Las estadísticas de Google ahora muestran que en la mayoría de los países, los sitios visitados por los usuarios de Chrome están cifrados aproximadamente el 95% del tiempo.

El movimiento más reciente de los proveedores de navegadores para llevarnos a un mundo siempre cifrado comenzó en noviembre de 2020 cuando Mozilla introdujo una opción solo HTTPS en Firefox. Cuando está habilitada, esta función intenta todas las conexiones de forma segura a través de HTTPS y vuelve a mostrar una advertencia si HTTPS no está disponible. Chrome siguió agregando una opción similar y la activó de forma predeterminada en abril de 2021.

Ese es un avance fantástico, pero aparte de las altas tasas de cifrado, ¿la gente está implementando tecnologías como HSTS y se usa lo suficientemente ampliamente como para ayudar a proteger a los usuarios en redes que no son de confianza?

Investigación sobre la adopción actual de cifrado y HSTS

Para realizar esta investigación, decidí sondear los 15.000 dominios principales visitados por clientes de productos de Sophos que informan de telemetría a SophosLabs. Filtré algunos de los duplicados y otros enlaces no válidos, como 127.0.01 o localhost. Esto me dejó con un conjunto de 13.390 URI válidos totales para evaluar. (Los datos sin procesar están disponibles en la página de Sophos GitHub).

Trabajé con un estudiante de seguridad de TI del Instituto de Tecnología del Sur de Alberta, Kovan Mohammed Ameen, para raspar todos los encabezados HTTP como se observa en el conjunto de URI utilizando un script de Python y guardarlos en un archivo NDJSON para su análisis en Kibana. Si bien los resultados brutos en sí mismos cuentan una historia, lo importante siempre está en los detalles.

De los datos recopilados, 1.483 (10,64%) de los URI se entregaron a través de HTTP. Esto está en línea con los datos disponibles públicamente de Mozilla y Let’s Encrypt que muestran las tasas actuales de adopción de HTTPS. Se utilizó HTTPS para atender a 12.448 (89,36%) de los cuales 3.947 (31,71%) habían establecido un encabezado HSTS.

HTTP

A primera vista, esto no está tan bien como podríamos esperar. Para empezar, quería mirar los sitios HTTP, que no deberían existir en 2021, para ver quien seguía usando este protocolo obsoleto y qué riesgo podría representar.

En los viejos tiempos de Flash y Java, las vulnerabilidades eran fáciles de descubrir y emplear en masa, pero en estos días la explotación es menos probable y se convierte en un problema de privacidad y robo de datos.

No pude probar todos los 1.483 a mano, pero inspeccioné la lista completa visualmente y examiné a mano los 100 primeros, ordenados por prevalencia.

De ellos, 14 eran páginas intersticiales que redirigían a sitios HTTPS en un dominio diferente. Esta es una mala práctica, ya que no puedes aplicar un encabezado HSTS y la sesión HTTP está sujeta a secuestros cada vez que alguien visita el dominio. Es mejor redirigir a una página HTTPS en el mismo dominio con un encabezado HSTS configurado antes de redirigir a la nueva página.

También en el top 100 había al menos 50 sitios de publicidad o seguimiento. Determinar con precisión por dominio puede ser complicado, pero estoy seguro de que más de la mitad están en la industria del marketing. Del resto, había muchas que podría esperar como páginas que los fabricantes de SO (sistema operativo) usan para probar si están detrás de un portal cautivo (página de inicio de sesión de WiFi público) o si la red de un ordenador es compatible con IPv6 (Protocolo de Internet versión 6).

No hubo hallazgos particularmente preocupantes en los 100 principales sitios HTTP, aparte de la gran cantidad de rastreadores, balizas y análisis en uso y que ninguno de ellos se molesta en implementar el cifrado correctamente.

HTTPS sin HSTS

El segundo grupo de sitios comprende el mayor número total, 8.501. Para que estos sitios sean suplantados, se debe cumplir una de estas condiciones. Un atacante podría realizar un ataque de degradación para redirigir a la víctima a una conexión no cifrada que controle. Podrían convencer a una autoridad de certificación (CA) para que les emita un certificado válido, lo que les permitirá hacerse pasar por el sitio a través de una conexión cifrada. Por último, podrían esperar convencer a la víctima de que haga clic en las advertencias bastante onerosas que muestra el navegador para conectarse a su sitio cifrado por un certificado falsificado.

Teniendo en cuenta que todavía es posible usar técnicas MitM para comprometer estas conexiones, mi esperanza era que muy pocos sitios con detalles de inicio de sesión confidenciales, como bancos, proveedores de correo electrónico, sitios de redes sociales y sitios de compras, estuvieran en esta lista.

Empecé mirando los 100 primeros. Una vez más, los anuncios, el análisis y las redes de distribución de contenido (CDN) ocuparon 14 de los 20 primeros lugares de la lista. He incluido una lista de los valores atípicos más sorprendentes en la siguiente tabla.

Sitios de alto perfil sin HSTS Sitios de alto perfil con HSTS solo al iniciar sesión
comodoca.com godaddy.com
xiaomi.com samsung.com
jquery.com thawte.com
yahoo.co.jp nvidia.com
sectigo.com rapidssl.com
globalsign.com bbc.co.uk
mailchimp.com amazonvideo.com
cnn.com
rakuten.co.jp
github.io

 

Me sorprendió y me decepcionó ver tantos proveedores de seguridad en esta lista. También me decepcionó ver a Yahoo! Japón en esta lista. Todos los demás  países usan HSTS hasta donde yo sé, pero no Japón, ni siquiera cuando se inicia sesión en Yahoo! Correo en el sitio de Japón.

Es importante tener en cuenta que solo implementar HSTS en una parte de un sitio, especialmente en partes que no sean la página de destino principal, es tan efectivo como no usar HSTS en absoluto. Si un atacante puede poner en peligro una página de destino, simplemente puede redirigir el enlace de “inicio de sesión” a una URL diferente a la página de inicio de sesión original y continuar recopilando credenciales.

Casi todos los sitios que mostraron este comportamiento utilizaban proveedores de autenticación de terceros. Esto sugiere que no están usando HSTS, pero sí su proveedor designado. Como se mencionó anteriormente, esa no es una protección efectiva, pero es una buena señal de que los proveedores de autenticación comprenden el valor de usar HSTS.

La única razón concebible para no implementar HSTS es que los operadores de sitios web no lo saben o piensan que el sitio podría volver a un estado no cifrado. No hay vuelta atrás a los viejos tiempos, por lo que deberíamos trabajar para conseguir que más administradores web se unan a mejorar su seguridad un nivel más. Casi el 5% de los sitios sin HSTS en el momento en que recopilé los datos (abril de 2021) ya lo han implementado (noviembre de 2021), incluidos algunos de los más importantes como hp.com.

HTTPS con HSTS

¿Qué sentido tiene señalar los sitios seguros?

Bueno, no todos están configurados correctamente. HSTS incluye un valor de configuración llamado max-age. Su objetivo es indicarle al navegador web cuánto tiempo, en segundos, debe recordar usar TLS solo cuando se conecta a un sitio. El valor recomendado es 31.557.600 o aproximadamente un año.

Curiosamente, el 4.86% de los sitios que anuncian un encabezado HSTS tenían la edad máxima establecida en 0, desactivada. ¿Por qué una empresa haría eso? Algunos nombres muy importantes estaban en esta corta lista, incluido oracle.com. Revisé la lista y encontré dos empresas del sector de la seguridad en las que tenía contactos personales.

Cuando les pregunté por qué tenían esta configuración, la respuesta fue rápida y la misma en ambos casos. Era una configuración heredada que se había establecido durante el desarrollo del sitio web y se suponía que debía cambiarse cuando el sitio pasara a producción. Habían desactivado HSTS para facilitar las pruebas sin la necesidad de renovar los certificados de seguridad y simplemente se olvidaron de deshacer la configuración.

Es probable que esto sea cierto para muchos de los sitios con esta configuración. Los problemas de desarrollo a producción no son un problema nuevo y, a menudo, conducen a errores de configuración de seguridad y problemas de fuga de datos. Vale la pena que todos los administradores web revisen todas las configuraciones de seguridad de manera regular, no solo cuando se pasa del desarrollo a la producción, ya que las mejores prácticas evolucionan con el tiempo a medida que continuamos mejorando la línea de base de lo que es “suficientemente bueno”.

Conclusión

La web nunca ha sido más segura.

Con el 95% de las páginas web cifradas y las que no lo están en su mayoría no presentan mucho riesgo, se trata de una gran noticia, especialmente durante cualquiera de las ajetreadas temporadas de compras online.

Poco a poco, la comunidad de seguridad ha trabajado en conjunto para mejorar los estándares, ejercer presión sobre los rezagados y reducir los costes de comunicarse de forma segura a través de Internet. La cantidad de progreso que se ha logrado es impresionante si se tiene en cuenta la magnitud del problema.

Sin embargo, el trabajo no está completo. Con solo el 31,6% de los sitios que utilizan HSTS, muestra que incluso las funciones que son gratuitas y proporcionan mejoras de seguridad significativas no se implementan tan ampliamente como deberían.

Asegurar la capa de aplicación tiene implicaciones masivas para los usuarios y la seguridad. Todavía existe el riesgo de que los proveedores de las redes que usamos nos espíen, nos vendan a redes publicitarias o se vean comprometidos por los ciberdelincuentes.

Pero, gracias a HSTS y TLS, puedes navegar y comunicarte tan libremente como quieras con un riesgo insignificante de un mal resultado, incluso a través de redes WiFi y móviles que no son de confianza.