Vulnerabilidad POODLE en SSL 3.0: Qué es y cómo afecta

La seguridad en las comunicaciones en línea es un aspecto fundamental, y protocolos como SSL (Secure Sockets Layer) y su sucesor TLS (Transport Layer Security) juegan un papel crucial en la protección de la información. Sin embargo, incluso los estándares de seguridad más establecidos pueden presentar vulnerabilidades. Una de las más notables fue la descubierta en el protocolo SSL 3.0, conocida como POODLE.

¿Qué es la vulnerabilidad POODLE?

La vulnerabilidad POODLE, acrónimo de "Padding Oracle On Downgraded Legacy Encryption", fue revelada por Google en octubre de 2014. Afecta a todos los sistemas y aplicaciones que utilizan el protocolo SSL 3.0 con cifrado de bloque de encadenamiento (CBC) como modo de cifrado. El ataque POODLE se aprovecha de una característica de negociación de versión de protocolo integrada en SSL/TLS para forzar el uso de SSL 3.0, incluso cuando se intenta establecer una conexión con protocolos más modernos como TLS.

El problema fundamental reside en la forma en que los bloques de datos son cifrados bajo un tipo específico de algoritmo de cifrado dentro del protocolo SSL 3.0. Cuando un intento de conexión segura falla, los servidores, por defecto, intentan de nuevo utilizando protocolos más antiguos, como SSL 3.0, para garantizar la interoperabilidad con sistemas heredados y ofrecer una experiencia de usuario fluida.

Un atacante puede desencadenar un fallo de conexión y, de esta manera, forzar el uso de SSL 3.0. Una vez que la conexión se establece con el protocolo vulnerable, el atacante puede explotar esta debilidad para descifrar contenido seleccionado dentro de la sesión SSL.

Diagrama explicativo del ataque POODLE, mostrando el downgrade de TLS a SSL 3.0 y la explotación de la vulnerabilidad.

Cómo funciona el ataque POODLE

El ataque POODLE es un exploit de tipo man-in-the-middle. El proceso general implica los siguientes pasos:

  • Forzar el downgrade a SSL 3.0: El atacante interfiere en la comunicación y provoca que la conexión, que inicialmente intentaba utilizar un protocolo moderno como TLS 1.0 o TLS 1.2, falle.
  • Aprovechar la compatibilidad heredada: Debido a que muchos servidores y clientes aún soportan SSL 3.0 para interactuar con sistemas antiguos, la conexión se renegocia utilizando este protocolo obsoleto.
  • Explotar la vulnerabilidad de relleno (Padding Oracle): Una vez que la comunicación se realiza a través de SSL 3.0, el atacante explota la forma en que se maneja el relleno de los bloques de datos cifrados. Al enviar bloques de datos modificados y observar las respuestas del servidor, el atacante puede deducir gradualmente la información descifrada.

En promedio, un atacante solo necesita realizar unas 256 solicitudes SSL 3.0 para revelar un byte de los mensajes cifrados. Esto permite, con el tiempo suficiente, descifrar información sensible como cookies de sesión, lo que podría llevar al robo de identidad, al envío de correos en nombre de la víctima, o a la realización de transferencias bancarias no autorizadas.

Impacto y alcance de la vulnerabilidad

La vulnerabilidad POODLE afecta a cualquier sistema o aplicación que soporte SSL 3.0 con sistemas de cifrado de modo CBC. Esto incluye:

  • Navegadores web y sitios web.
  • Cualquier software que utilice bibliotecas vulnerables de SSL/TLS (como OpenSSL) o que implemente su propio conjunto de protocolos SSL/TLS.

Aunque SSL 3.0 es un estándar de cifrado antiguo y ha sido mayormente reemplazado por TLS, la compatibilidad con SSL 3.0 persistía para asegurar la interoperabilidad con sistemas heredados. Esta necesidad de compatibilidad es precisamente lo que la vulnerabilidad POODLE explota.

Infografía mostrando la prevalencia de SSL 3.0 antes y después del descubrimiento de POODLE.

Mitigación y soluciones

Dado que la vulnerabilidad es fundamental para el protocolo SSL 3.0, no existe una "solución" directa para el protocolo en sí. Las estrategias de mitigación se centran en deshabilitar o evitar el uso de SSL 3.0:

1. Deshabilitar SSL 3.0

La solución más viable y recomendada es deshabilitar completamente el soporte para SSL 3.0 tanto en el lado del cliente (navegadores) como en el del servidor.

  • En servidores: Se deben configurar los sistemas para que no acepten conexiones SSL 3.0. Esto puede implicar la modificación de claves de registro en sistemas operativos o la configuración de servidores web y de aplicaciones.
  • En clientes (navegadores): Los usuarios finales pueden deshabilitar SSL 3.0 en la configuración de sus navegadores. Si SSL 3.0 está deshabilitado en el navegador, el ataque POODLE no podrá degradar la conexión a este protocolo.

Algunos navegadores, como Chrome, y servicios, como Cloudflare, actuaron rápidamente deshabilitando SSL 3.0 por defecto. Microsoft también lanzó boletines de seguridad y herramientas para facilitar la deshabilitación de SSL 3.0 en sus productos.

2. TLS_FALLBACK_SCSV

Una extensión del protocolo TLS, denominada TLS_FALLBACK_SCSV, fue desarrollada para prevenir ataques de downgrade. Esta extensión evita que los atacantes de tipo man-in-the-middle fuercen el uso de versiones de protocolo anteriores. Tanto clientes como servidores deben soportar TLS_FALLBACK_SCSV para que esta medida sea efectiva.

Google Chrome y sus servidores ya soportan TLS_FALLBACK_SCSV, ayudando a proteger contra esta variante de ataque.

3. Otras implementaciones y proveedores

Se ha comunicado que otras implementaciones de SSL 3.0 también pueden ser afectadas por POODLE. Es importante contactar con los proveedores de software y hardware para obtener información detallada sobre parches y actualizaciones.

En el caso de vulnerabilidades específicas detectadas en equilibradores de carga de fabricantes como F5 y A10, estos proveedores lanzaron parches para sus productos afectados.

Vulnerabilidad ssl protocolo https (Defaced) [Desmotracion]

Una nueva variante: POODLE contra TLS

En diciembre de 2014, se anunció una nueva variante del ataque POODLE que afectaba a protocolos TLS 1.0 a 1.2. Esta variante explota fallos en la implementación del modo de cifrado CBC en estas versiones más recientes de TLS. Aunque las especificaciones TLS requieren que los servidores validen el relleno de los datos cifrados, algunas implementaciones no lo hacían correctamente, haciendo que algunos servidores fueran vulnerables a POODLE incluso si habían deshabilitado SSL 3.0.

Este ataque contra TLS se consideró más fácil de iniciar que el ataque original contra SSL 3.0. Estimaciones iniciales indicaron que aproximadamente el 10% de los servidores web eran vulnerables a esta variante de POODLE contra TLS en el momento de su anuncio.

La vulnerabilidad POODLE, en sus diferentes formas, subraya la importancia de mantener los protocolos de seguridad actualizados y de eliminar gradualmente el soporte para estándares obsoletos como SSL 3.0. La necesidad de interoperabilidad, aunque importante, no debe comprometer la seguridad fundamental de las comunicaciones en línea.

Para verificar si un sitio web es vulnerable a POODLE, se podía visitar sitios como poodletest.com. Si el sitio mostraba un caniche (POODLE), indicaba vulnerabilidad.

tags: #ssl #poodle #vulnerabilidad