Inicio / Blog / DROWN: una nueva vulnerabilidad de SSL

DROWN: una nueva vulnerabilidad de SSL

Publicado el 23/03/2016, por Santiago González (INCIBE)
DROWN: una nueva vulnerabilidad de SSL

¿Qué es DROWN?

DROWN es la denominación de una nueva vulnerabilidad asociada a fallos descubiertos en protocolo SSLv2 publicados el 1 de marzo de 2016. En este sentido, continúa con la tendencia aparecida durante los últimos años, en los que se han dado a conocer diversas vulnerabilidades de cierto impacto asociadas a la seguridad de las comunicaciones en Internet, como son Heartbleed, POODLE, WinShock, FREAK o Logjam, entre otras.

DROWN es un acrónimo que proviene de la expresión inglesa Decrypting RSA with Obsolete and Weakened eNcryption, y se refiere a un ataque que permite descifrar comunicaciones seguras realizadas utilizando el protocolo TLS entre un cliente y un servidor vulnerable aprovechando fallos de seguridad en el protocolo SSLv2, en concreto en el intercambio de claves RSA. En este sentido, un servidor es vulnerable a DROWN si soporta SSLv2, o si comparte claves de cifrado privadas con otro servidor que sí soporte SSLv2, aunque el servidor original no lo haga de forma explícita.

Para descifrar las comunicaciones el atacante necesita interceptar varios cientos de conexiones seguras entre la víctima y el servidor. A continuación, enviando paquetes especialmente diseñados al servidor vulnerable utilizando el protocolo SSLv2, en función de la respuesta obtenida será capaz de inferir información acerca de las claves utilizadas en esa conexión y, eventualmente, descifrar las comunicaciones. Aunque el coste computacional de estas operaciones es relativamente alto, según la estimación de los descubridores de esta vulnerabilidad este ataque puede ser llevado a cabo en unas 8 horas con un coste de unos 440$ utilizando infraestructura de Amazon EC2.

Esta situación se ve agravada por la existencia de un fallo en determinadas versiones de OpenSSL, una las implementaciones más utilizadas, que permite llevar a cabo el ataque con un coste computacional mucho menor. En concreto, esta versión del ataque se puede realizar en menos de un minuto con un equipo de escritorio moderno.

Las medidas de mitigación pasan por eliminar completamente el soporte de SSLv2 en cualquier servidor con algún servicio expuesto a Internet. Las últimas versiones de las tecnologías más utilizadas desactivan por defecto el uso de este protocolo, por lo que la primera recomendación sería actualizar todos los sistemas. Aun así, sería conveniente verificar que SSLv2 no haya sido activado de forma explícita en ningún servicio. En este sentido, la página web de la vulnerabilidad pone a disposición de la comunidad herramientas para diagnosticar si un dominio es vulnerable: https://drownattack.com/#check. Al tratarse de un problema en el servidor, no hay medidas prácticas que se puedan realizar en el lado del cliente.

Grado de exposición de webs de dominios españoles

Para poder medir de alguna forma el impacto potencial de esta vulnerabilidad y otras relacionadas en los dominios españoles, se ha realizado un análisis estadístico sobre los dominios .es registrados respecto a las siguientes vulnerabilidades: Heartbleed, POODLE, WinShock, FREAK, LogJam y DROWN.

Este análisis arroja la siguiente información global:

- Índice de afectación de webs españolas a vulnerabilidades SSL/TLS -

Entre las webs que utilizan SSL/TLS, se observa un índice de afectación medio (menos del 50%) a alguna de las vulnerabilidades mencionadas.

En concreto, tomando como referencia el número de webs que utilizan SSL, si se revisa de forma específica el índice de afectación para cada una de las vulnerabilidades analizadas se observa que actualmente la vulnerabilidad que más veces aparece no es la más reciente, sino que se trata de Poodle, publicada en octubre de 2014, quedando DROWN en segundo lugar.

- Webs españolas con SSL vulnerable. Porcentaje de afectación por cada vulnerabilidad (marzo de 2016)-

Evolución de vulnerabilidades asociadas a SSL en los dominios españoles

Además de conocer los valores actuales respecto a las webs que usan SSL, también es interesante observar la evolución temporal de las vulnerabilidades analizadas en las webs que usan SSL.

- Evolución de porcentaje de afectación de webs españolas a cada vulnerabilidad respecto a webs que soportan SSL -

La tendencia para cada una de las vulnerabilidades es la siguiente:

  • Heartbleed: el porcentaje de webs afectadas se mantiene constante y en rangos bastante bajos, en torno al 1% de las webs que soportan SSL.
  • Poodle: en los últimos meses se observa un aumento significativo de las webs que soportan SSL afectadas por Poodle. Una posible explicación para este incremento es que servidores que antes soportaban SSLv2 han ido migrando a SSLv3 en los últimos meses.
  • WinShock: el porcentaje de webs afectadas se mantiene constante y en rangos bajos, en torno al 4% de las webs que soportan SSL.
  • FREAK: el porcentaje de webs afectadas se mantiene entre el 2% y el 4% de las webs que soportan SSL.
  • Logjam: el porcentaje de webs vulnerables a Logjam ha disminuido de forma significativa hasta el 12%, lo cual tiene sentido si se tiene en cuenta que los datos iniciales se tomaron cuando acababa de publicarse dicha vulnerabilidad.
  • Drown: el índice de afectación es relativamente bajo considerando que se trata de una vulnerabilidad reciente.

Si se considera el conjunto de todas las webs analizadas (es decir, incluyendo aquellas que no usan SSL y que, por tanto, no se ven afectadas por estas vulnerabilidades), la evolución de los índices de afectación globales es la siguiente:

- Evolución de porcentaje de afectación de webs españolas a cada vulnerabilidad respecto a total de webs –

Como se puede observar, actualmente todas las vulnerabilidades afectan a menos del 15% de las webs analizadas, siendo Poodle la vulnerabilidad que se ha identificado más veces (en torno a un 13,5% del total de las webs analizadas).

Conclusiones

Una vez más, la aparición de DROWN pone de manifiesto que el simple hecho de permitir comunicaciones con protocolos obsoletos como SSLv2 es un riesgo de seguridad, aunque en la práctica ningún cliente o navegador lo utilice. En este sentido, el índice de afectación en España para esta vulnerabilidad es relativamente bajo (menos del 5% del total de las webs) lo cual indica que en la mayoría de los casos el soporte para SSLv2 ya está desactivado en los servidores. No obstante, el aumento del índice de afectación a Poodle sugiere que no se han tomado las mismas medidas en lo que se refiere a SSLv3, o incluso que alguno de los servidores que soportaban SSLv2 han pasado a soportar SSLv3.

Como siempre, el CERT de Seguridad e Industria operado por INCIBE recomienda mantener actualizados los productos y aplicar buenas prácticas en la configuración de los sistemas, para evitar verse afectados por estas vulnerabilidades y otras que puedan aparecer en el futuro.