jueves, 10 de abril de 2014

Más allá de Heartbleed y HTTPS


Como todos conoceréis, hace un par de días se hacía pública una vulnerabilidad sobre OpenSSL, una de las bibliotecas de criptografía más usadas, descubierta por uno de los expertos en seguridad de Google y la compañía de seguridad Codenomicon, que ha sido catalogada con el código CVE-2014-0160 y bautizada como Heartbleed, al estar vinculada a un error en la funcionalidad heartbeat de dicha librería.

Esta vulnerabilidad afecta desde la versión 1.0.1 (Marzo 2012) a la 1.0.1f (Enero 2014), y existen gran cantidad de sitios web que permiten comprobar si un sitio Web es vulnerable, como Heartbleed test page, creada por Filippo Valsorda.

Lo realmente preocupante es la extensión que ha podido y puede tener esta vulnerabilidad, ya que OpenSSL es utilizado, entre otros muchos, por servidores web como Apache o nginx, que de forma conjunta abarcan el 66% de los sitios activos en Internet (de acuerdo con la Encuesta de Netcraft sobre Servidores Web para Abril de 2014). Por otro lado, tambien tiene su punto entretenido, ya que es como jugar a una especie de ruleta rusa proque no sabes a ciencia cierta que se expondrá en los siguientes 64kb :)

Pero existe una parte que la gente parece que está obviando... OpenSSL también se utiliza para proteger servidores de email (SMTP, POP3 e IMAP), servidores de mensajería (XMPP), SSL VPNs, y muchos otros servicios.

Podemos localizar gran cantidad de servidores XMPP públicos, como por ejemplo aquí, con detalle de los diferentes servicios que prestan, algunos registran el tipo de autenticación etc. buscando a través de Google. 

Si prestamos atención a las listas, veremos que hay algunos que podemos deducir que podrían haber sido parcheados, fijándonos por el uptime que han sido reiniciados en los dos últimos días.

Utilizando las diferentes pruebas de concepto que han sido publicadas, no tardaremos en encontrar algún servidor XMPP con TLS activado que sea vulnerable a Heartbleed:

También se ha incorporado un módulo de Metasploit que permite comprobar la vulnerabilidad para SMTP/IMAP/POP3/XMPP dentro de su repositorio oficial.

Recordad que es posible que algunos de estos servicios hayan sido atacados en los últimos meses, por lo que el atacante podría haber tenido acceso a claves privadas, credenciales, información sensible de navegación sobre VPN SSL o direcciones de memoria y contenido para evadir mecanismos de mitigación, con los riesgos que ello conllevaría.

Debido a que la explotación de esta vulnerabilidad no deja rastro en los logs, será complicado averiguar si ha existido algún tipo de compromiso de forma retroactiva.

A partir de ahora, si queremos monitorizar los diferentes intentos de explotación de esta vulnerabilidad, podemos utilizar diferentes reglas de detección para:

Si quieres comprobar si tus servicios podrían estar afectados, puedes utilizar los módulos que se han publicado hasta el momento:

Muchos proveedores de servicio se han visto afectados después de la publicación oficial del aviso y las diferentes pruebas de concepto del ataque, por lo que no sería mala idea cambiar tus credenciales de acceso, por seguridad, si en los últimos días has estado utilizando sus plataformas:


Como hemos visto, Hearbleed no sólo puede afectar a nuestro servidor web 'seguro' }:)