domingo, 13 de marzo de 2016

Give me your TLS session! (Drown attack)

Autor: Toni Escamilla (toespar.me)
Twitter: @toespar



Marzo, mes valenciano por excelencia, y con ello no solo llegan las fallas, sino también un nuevo ataque criptográfico a HTTPS llamado DROWN Attack (Decrypting RSA with Obsolete and Weakened eNcryption) y que nos permite ser capaces de interceptar y descifrar información transmitida. Realizando varios escaneos, podemos hacer una estimación en la que alrededor del 33% de los servidores HTTPS incluyendo servicios de correo electrónico están afectados por esta vulnerabilidad.

¿A qué se debe la vulnerabilidad?
La mayoría servidores y clientes actuales usan TLS como protocolo de cifrado. Sin embargo, y debido a malas configuraciones muchos servidores todavía soportan SSLv2, protocolo considerado inseguro debido a algunas de sus características. 


¿En qué consiste DROWN attack?
Este ataque permite explotar la criptografía de los años 90 (SSLv2), la cual utiliza un cifrado simétrico muy débil de 40 bits. Para ello, el atacante necesita capturar aproximadamente 1000 intercambios de claves RSA entre el usuario y el servidor vulnerable, independientemente del protocolo de cifrado que se utilice. Una vez capturados dichos intercambios, el atacante deberá realizar unas miles de conexiones SSLv2 y realizar 2^50 operaciones de cifrado simétrico para descifrar una sesión TLS.



¿Cómo se si un servidor es vulnerable?
Un servidor es vulnerable a DROWN si cumple alguna de las siguientes dos características:
  1. Permite conexiones SSLv2
  2. Su clave privada es usada en otro servicio que permite conexiones SSLv2
Si realizamos un simple escaneo en Shodan podremos ver como, en el momento de escribir este artículo, hay casi 5 millones de equipos conectados directamente a internet y que actualmente utilizan el protocolo SSLv2, es decir, cumplen la característica para ser sometidos a este tipo de ataques.



Finalmente, y como curiosidad, comentar que este ataque es una extensión del Bleichenbacher attack (1998), cuyas contra-medidas fueron introducidas en SSLv2. Hoy, dos décadas después y con DROWN attack, se ha podido comprobar que dichas contra-medidas son inefectivas.

“Aunque nuestra visión hacia adelante es muy corta, podemos damos cuenta de que hay mucho por hacer” – Alan Turing

Referencias:
  • http://www.elladodelmal.com/2016/03/drown-attack-descifrar-https-tls-por.html
  • https://drownattack.com/drown-attack-paper.pdf
  • https://drownattack.com/
  • http://thehackernews.com/2016/03/drown-attack-openssl-vulnerability.html
  • http://www.theguardian.com/technology/2016/mar/02/secure-https-connections-data-passwords-drown-attack
  • https://en.wikipedia.org/wiki/DROWN_attack

No hay comentarios:

Publicar un comentario