Logo usado para el bug heartbleed de OpenSSL

Mensaje del Proyecto Tor sobre que tan grave es este bug, sólo para aclarar las cosas:

Si necesitas anonimato o privacidad fuertes en Internet, quizás debieras mantenerte alejado por completo de Internet por unos días hasta que se asienten las cosas.

Y todos pensábamos que el que iba a tener problemas era Windows XP ahora que se queda sin soporte. Ahora le toca el turno a algo que es casi casi una de las columnas vertebrales hoy en día en lo que es seguridad en Internet, me refiero a OpenSSL; para los que no lo conozcan, les cuento que es un software de fuente abierta que implementa varios algoritmos y protocolos criptográficos que se usan para mantener seguros los canales de comunicación sensibles de la red. Uno de esos protocolos es TLS, que es el sucesor de otro que quizás conozcas (SSL), y que se usa para hacer que la comunicación entre dos puntos (de manera muy general tu computadora y algún servidor en algún lado) sea segura. Una de las características de TLS es que permite algo llamado heartbeat (“latido de corazón” literalmente), que no es más que un mensaje con formato que manda un punto para ver si el otro lado aún está activo y respondiendo. Resulta que con cierto tipo de heartbeat construido especialmente con fines maliciosos se puede tener acceso al espacio de memoria del servidor en bloques de 64 kb, lo que es repetible una y otra vez, y es lo que se conoce como el bug Heartbleed, o mejor dicho, la vulnerabilidad CVE-2014-0160. Aquí es donde viene el problema: de ese espacio de memoria, un atacante podría obtener datos como llaves privadas del servidor, llaves de sesión de TLS, datos confidenciales como passwords y demás, entre otras cosas…pero para que queremos más, con las llaves privadas del servidor es más que suficiente para crear problemas.

El bug Heartbleed ha existido desde hace dos años y afecta a OpenSSL versiones 1.0.1 hasta 1.0.1f; aquellos que usen Linux para sus servidores, sepan que las distribuciones Debian Wheezy, Ubuntu 12.04 LTS, Fedora 18, Red Hat Enterprise Linux 6.5, OpenBSD 5.3 y 5.4, FreeBSD 10.0, NetBSD 5.0.2 y OpenSUSE 12.2 todas están afectadas por este Heartbleed. Lo que verdaderamente me asusta de todo esto es que no hay forma de saber si una infraestructura ya fue atacada, pues este ataque no deja rastros de ningún tipo pues no se guarda en ningún log. No requiere criptografía de ningún tipo, es más, es resultado de un error bastante común de codificación. Y el software que echa mano de OpenSSL, entiéndase Apache y nginx, se usan para dar batería al 66% del total de todos los sitios…es decir, dos terceras partes de Internet están desnudas. Esto es verdaderamente una mala noticia.

¿Qué se puede hacer al respecto? desgraciadamente no mucho; se puede hacer algo a partir de este momento hacia adelante, pero de aquí para atrás lo ideal sería considerar todo como inseguro, y por todo me refiero a llaves, certificados, etc, todo lo que tenga que ver con este software. Lo ideal sería revocar llaves y regenerar certificados, según indican los especialistas en seguridad. Por supuesto, hay que parchar OpenSSL a la versión 1.0.1g o bien recompilarlo para que no tenga la vulnerabilidad. En cuanto a las empresas proveedoras de servicios, algunas ya anunciaron que ya tomaron cartas en el asunto y arreglaron el problema, como por ejemplo Yahoo, Google y FaceBook, y Microsoft se encuentra en estado de análisis determinando si hay impacto, y de haberlo, lo mitigará. Pero esto depende de cada empresa, y hay varios que piensan que esto será un problema pues muchos no lo harán.

Este es un golpe más en larga golpiza que ha recibido la percepción de seguridad que tenemos; no hace mucho fue el problema con GnuTLS, la vulnerabilidad de iOS y OS X de Apple y el problema con el algoritmo debilitado de RSA, y ahora Heartbleed. La seguridad se ha llevado una tranquiza últimamente.

Finalmente, sólo me resta decir que los desarrolladores de OpenSSL no deberían de ser vapuleados de ninguna manera; si bien el error está en el código, y es un error bastante feo (no hicieron una comprobación de límites en un valor), hay que ver que es un equipo de voluntarios, que a pesar de que el software que producen lo usan cientos de miles de empresas, algunas muy grandes por cierto, el año pasado tan sólo recibieron USD $1,987 en soporte financiero no asociado a entregables. Es la triste realidad de muchos proyectos como este de OpenSSL, y ojalá que esto sea un parteaguas para que tengan más apoyo.