Posibles ataques a HTTPS y cómo protegerse de ellos

La mitad de los sitios web utiliza HTTPS, y su número sigue aumentando de manera constante. El protocolo reduce el riesgo de interceptación del tráfico, pero no excluye los intentos de ataque como tales. Hablaremos sobre algunos de ellos — POODLE, BEAST, DROWN y otros — y las formas de protección en nuestro material.

Posibles ataques a HTTPS y cómo protegerse de ellos
/ Flickr / Sven Graeme / CC BY-SA

POODLE

La primera noticia sobre el ataque POODLE se conoció en 2014. La vulnerabilidad en el protocolo SSL 3.0 fue descubierta por el especialista en seguridad Bodo Möller y sus colegas de Google.

Su esencia consiste en lo siguiente: un hacker obliga al cliente a realizar una conexión mediante SSL 3.0, emulando interrupciones de la conexión. Luego busca en el tráfico cifrado en CBC-modo mensajes especiales etiquetados. Mediante una serie de solicitudes falsas, el delincuente obtiene la capacidad de reconstruir el contenido de los datos que le interesan, como cookies.

SSL 3.0 es un protocolo obsoleto. Pero la cuestión de su seguridad sigue siendo relevante. Los clientes lo utilizan para evitar problemas de compatibilidad con los servidores. Según algunas estimaciones, casi el 7% de 100,000 de los sitios web más populares todavía admite SSL 3.0. También existen modificaciones de POODLE, que tienen como objetivo las más modernas TLS 1.0 y TLS 1.1. Este año se han añadido se han reportado nuevos ataques Zombie POODLE y GOLDENDOODLE, que evaden la protección de TLS 1.2 (aún están relacionados con el cifrado CBC).

Cómo protegerse. En el caso del POODLE original, es necesario desactivar el soporte para SSL 3.0. Sin embargo, en este caso hay un riesgo de encontrar problemas de compatibilidad. Una solución alternativa puede ser el mecanismo TLS_FALLBACK_SCSV: garantiza que el intercambio de datos mediante SSL 3.0 se realice solo con sistemas antiguos. Los delincuentes ya no podrán iniciar la degradación de la versión del protocolo. La forma de protegerse contra Zombie POODLE y GOLDENDOODLE es desactivar el soporte para CBC en las aplicaciones basadas en TLS 1.2. Una solución radical sería pasar a TLS 1.3: en la nueva versión del protocolo no se utiliza cifrado CBC. En su lugar, se utilizan AES y ChaCha20 más resistentes.

BEAST

Uno de los primeros ataques a SSL y TLS 1.0, descubierto en 2011. Al igual que POODLE, BEAST utiliza Características de la encriptación CBC. Los atacantes insertan un agente de JavaScript o un applet de Java en la máquina del cliente, que reemplaza los mensajes durante la transmisión de datos a través de TLS o SSL. Dado que los atacantes conocen el contenido de los paquetes "falsos", pueden utilizar esa información para descifrar el vector de inicialización y leer los demás mensajes al servidor, como las cookies de autenticación.

A día de hoy, la vulnerabilidad BEAST sigue afectando a una serie de herramientas de red: servidores proxy y aplicaciones para proteger gateways de Internet locales.

Cómo protegerse. El atacante necesita enviar solicitudes regularmente para descifrar los datos. En VMware recomiendan se recomienda reducir la duración de SSLSessionCacheTimeout, de cinco minutos (recomendación por defecto) a 30 segundos. Este enfoque dificultará la implementación de los planes de los atacantes, aunque tendrá un efecto negativo en el rendimiento. Además, hay que entender que pronto la vulnerabilidad BEAST podría volverse obsoleta por sí misma: a partir de 2020, los principales navegadores dejarán de soportar TLS 1.0 y 1.1. En cualquier caso, menos del 1,5 % de todos los usuarios de navegadores utilizan estos protocolos.

DROWN

Se trata de un ataque de tipo cross-protocol que utiliza errores en la implementación de SSLv2 con claves RSA de 40 bits. El atacante escucha cientos de conexiones TLS objetivo y envía paquetes especiales al servidor que utiliza SSLv2 y la misma clave privada. Utilizando el ataque de Bleichenbacher, el hacker puede descifrar una de aproximadamente mil sesiones TLS del cliente.

DROWN se hizo conocido por primera vez en 2016, cuando se descubrió que estaba afectando a un tercio de los servidores en el mundo. Hasta hoy, sigue siendo relevante. De las 150,000 páginas más populares, el 2% aún utiliza soportan SSLv2 y mecanismos de cifrado vulnerables.

Cómo protegerse. Es necesario aplicar los parches recomendados por los desarrolladores de bibliotecas criptográficas que deshabilitan el soporte para SSLv2. Por ejemplo, se proporcionaron dos parches para OpenSSL (en 2016 fueron las actualizaciones 1.0.1s y 1.0.2g). También se publicaron actualizaciones e instrucciones para deshabilitar el protocolo vulnerable en Red Hat, Apache, Debian.

"El recurso puede ser vulnerable a DROWN si sus claves son utilizadas por un servidor externo con SSLv2, por ejemplo, un servidor de correo," señala el jefe del departamento de desarrollo del proveedor de IaaS 1cloud.ru Sergio Belkin. — Esta situación ocurre si varios servidores utilizan un certificado SSL compartido. En este caso, es necesario deshabilitar el soporte para SSLv2 en todas las máquinas.

Se puede comprobar si es necesario actualizar el sistema mediante un consultor especializado. utilidad — Este fue desarrollado por expertos en seguridad de la información que descubrieron DROWN. Más sobre las recomendaciones relacionadas con la protección contra este tipo de ataques se puede leer en una publicación en el sitio de OpenSSL..

Heartbleed

Una de las vulnerabilidades más grandes en el software — Heartbleed. Se descubrió en 2014 en la biblioteca de OpenSSL. En el momento del anuncio del error, se estimaba que el número de sitios web vulnerables era de medio millón. — esto representa aproximadamente el 17% de los recursos protegidos en la red.

El ataque se lleva a cabo a través de un pequeño módulo de la extensión Heartbeat del protocolo TLS. Este protocolo requiere que los datos se transmitan de manera continua. En caso de un largo período de inactividad, se produce una desconexión y es necesario restablecer la conexión. Para manejar este problema, los servidores y clientes "ensucian" artificialmente el canal (RFC 6520, p.5), enviando un paquete de longitud aleatoria. Si era más grande que el paquete permitida, las versiones vulnerables de OpenSSL leían la memoria más allá del búfer asignado. En esta área podían encontrarse datos sensibles, incluidas las claves de cifrado y la información sobre otras conexiones.

La vulnerabilidad estaba presente en todas las versiones de la biblioteca entre 1.0.1 y 1.0.1f, así como en varios sistemas operativos: Ubuntu antes de 12.04.4, CentOS posteriores a 6.5, OpenBSD 5.3 y otros. La lista completa está disponible en el sitio dedicado a Heartbleed.. Aunque se lanzaron parches contra esta vulnerabilidad prácticamente de inmediato después de su descubrimiento, el problema sigue vigente hasta hoy. En 2017, casi 200.000 sitios web, todavía eran vulnerables a Heartbleed.

Cómo protegerse. Es necesario actualizar OpenSSL a la versión 1.0.1g o superior. También se pueden desactivar manualmente las solicitudes Heartbeat utilizando la opción DOPENSSL_NO_HEARTBEATS. Después de la actualización, los especialistas en seguridad de la información recomiendan deben volver a emitir los certificados SSL. La sustitución es necesaria en caso de que los datos sobre las claves de cifrado hayan caído en manos de los hackers.

Suplantación del certificado

Se establece un nodo gestionado entre el usuario y el servidor con un certificado SSL legítimo que intercepta activamente el tráfico. Este nodo se presenta como un servidor legítimo, mostrando un certificado válido, lo que permite llevar a cabo un ataque MITM.

Según un estudio comandos de Mozilla, Google y varias universidades han encontrado que aproximadamente el 11% de las conexiones protegidas en la red están "escuchadas". Esto es el resultado de la instalación de certificados raíz sospechosos en las computadoras de los usuarios.

Cómo protegerse. Utilizar los servicios de proveedores SSL confiables.Se puede verificar la "calidad" de los certificados utilizando el servicio Certificate Transparency (CT). Los proveedores de la nube también pueden ayudar en la detección de "escuchas"; ya hoy en día, algunas grandes empresas ofrecen herramientas especializadas para monitorear conexiones a través de TLS.

Otra forma de protección será el nuevo estándar ACME, que automatiza la obtención de certificados SSL. Al mismo tiempo, añadirá mecanismos adicionales para verificar la propiedad del sitio. Más información sobre ello la hemos proporcionado en uno de nuestros materiales anteriores..

Posibles ataques a HTTPS y cómo protegerse de ellos
/ Flickr / Yuri Samoilov / CC BY

Perspectivas de HTTPS

A pesar de varias vulnerabilidades, los gigantes de TI y los expertos en seguridad informática están seguros del futuro del protocolo. Gracias a la implementación activa de HTTPS, es el creador de la WWW, Tim Berners-Lee. Según él, con el tiempo el TLS se volverá más seguro, lo que aumentará significativamente la seguridad de las conexiones. Berners-Lee incluso sugirió que en el futuro aparecerán certificados de cliente para la autenticación de identidad. Estos ayudarán a mejorar la protección de los servidores contra atacantes.

También se planea desarrollar la tecnología SSL/TLS con la ayuda de aprendizaje automático; algoritmos inteligentes se encargarán de filtrar el tráfico malicioso. En las conexiones HTTPS, los administradores no tienen la posibilidad de conocer el contenido de los mensajes cifrados, incluido el descubrimiento de solicitudes de software malicioso. Hoy en día, las redes neuronales pueden filtrar paquetes potencialmente peligrosos con una precisión del 90%. (diapositiva 23 de la presentación).

Conclusiones

Los ataques a HTTPS están mayormente relacionados no con problemas en el propio protocolo, sino con el soporte de mecanismos de cifrado obsoletos. La industria de TI comienza a renunciar gradualmente a los protocolos de la generación anterior y ofrece nuevas herramientas para la búsqueda de vulnerabilidades. En el futuro, estas herramientas se volverán cada vez más inteligentes.

Enlaces adicionales sobre el tema:

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster