Ataque DROWN

De Wikipedia, la enciclopedia libre
Ir a la navegación Ir a la búsqueda
Logotipo de una cerradura rota que simboliza un ataque DROWN

El ataque DROWN es una falla de seguridad de protocolos cruzados que afecta a servidores criptográficos que soportan la pila de protocolos TLS al utilizar su soporte para el protocolo inseguro SSLv2 y atacar así las conexiones que utilizan protocolos actualizados sin fallas de seguridad conocidas.[1][2]​ DROWN puede afectar todos los tipos de servidores que ofrezcan servicios encriptados con TLS y que todavía ofrezcan soporte a SSLv2 y compartan las credenciales de clave pública entre los dos protocolos.

En marzo de 2016 se hicieron públicos los detalles de los ataque DROWN junto con correcciones que permiten evitar este ataque; la vulnerabilidad recibió el código CVE CVE-2016-0800.[3]

Detalles[editar]

Transport Layer Security (TLS) es el protocolo de seguridad más importante en Internet. Casi todas las transacciones que se realizan en Internet lo hacen usando TLS (en sus versiones 1.0, 1.1, 1.2 o 1.3), de forma que los potenciales afectados por una debilidad en este protocolo son prácticamente todos los usuarios de Internet.

Inicialmente TLS se llamaba SSL y la primera versión pública fue SSL 2.0 que data de los años 1990. Debido a las regulaciones de exportación en los Estados Unidos sobre productos de software de seguridad, Al protocolo SSL se le agregó la compatibilidad con algoritmos de encriptamiento débiles.

Por mucho tiempo, los navegadores web tuvieron a SSL 2.0 como protocolo secundario, lo que permitía realizar ataques forzando al navegador a usar su protocolo secundario. Afortunadamente, esta compatibilidad con el pasado fue eliminada de los navegadores modernos.

Del lado de los servidores, la eliminación de la compatibilidad con SSL 2.0 también fue eliminada, pero hoy en día persisten servidores que no han sido actualizados en años y que son vulnerables al ataque DROWN.

El el caso de los servidores que utilizan el software OpenSSL la configuración supuestamente deshabilita por defecto el uso del protocolo SSL 2.0 pero los investigadores que descubrieron el ataque DROWN, se dieron cuenta que, a pesar de la configuración, era posible que un cliente se comunicara con un servidor OpenSSL usando cifrado proveniente de SSL 2.0.[4]

DROWN son las siglas de "Decrypting RSA with Obsolete and Weakened eNcryption" (Desencriptado de RSA con encriptado débil obsoleto).[5]​ Esta debilidad no está asociada a un error de implementación concreto sino más bien explota una vulnerabilidad que surge al combinar el uso de protocolos. Según sus descubridores, el ataque no puede arreglarse haciendo cambios en los clientes del protocolo, es decir, en los navegadores de web.[6]

Atenuación[editar]

Se puede deshabilitar el soporte al protocolo SSLv2 en el servidor, y de esta forma negar el acceso atacante a su criptografía débil. Este cambio es suficiente para prevenir ataques DROWN.

El grupo OpenSSL publicó un aviso de seguridad, y un conjunto de modificaciones que deberán mitigar la vulnerabilidad eliminando el soporte a protocolos y algoritmos de cifrado obsoletos. Junto con esta, las modificaciones corrigen otras vulnerabilidades.[7]

Es aconsejable corregir la vulnerabilidad tan pronto como sea posible en cada equipo instalado.

Referencias[editar]

  1. Leyden, John (1 de marzo de 2016). «One-third of all HTTPS websites open to DROWN attack». The Register. Consultado el 24 de marzo de 2016. 
  2. Goodin, Dan (1 de marzo de 2016). «More than 11 million HTTPS websites imperiled by new decryption attack». Ars Technica. Consultado el 24 de marzo de 2016. 
  3. «National Cyber Awareness System Vulnerability Summary for CVE-2016-0800». web.nvd.nist.gov. 3 de marzo de 2016. Consultado el 24 de marzo de 2016. 
  4. Matthew Green (1 de marzo de 2016). «Attack of the week: DROWN». Consultado el 24 de marzo de 2016. 
  5. Lucian Constantin (1 de marzo de 2016). «New TLS decryption attack affects one in three servers due to legacy SSLv2 support». PCWorld. Consultado el 24 de marzo de 2016. 
  6. Nimrod Aviram, Sebastian Schinzel, Juraj Somorovsky, Nadia Heninger, Maik Dankel, Jens Steube, Luke Valenta, David Adrian, J. Alex Halderman, Viktor Dukhovni, Emilia Käsper, Shaanan Cohney, Susanne Engels, Christof Paar y Yuval Shavitt. (2016). «DROWN: Breaking TLS using SSLv2». Consultado el 24 de marzo de 2016. 
  7. «Cross-protocol attack on TLS using SSLv2 (DROWN) (CVE-2016-0800)». OpenSSL. 1 de marzo de 2016. Consultado el 24 de marzo de 2016.