Heartbleed: La vulnerabilidad SSL que amenazó Internet

por David Abad
Vulnerabilidad ssl

Heartbleed es una vulnerabilidad de seguridad crítica que afectó a la implementación del protocolo OpenSSL. Se descubrió en abril de 2014 y afectó a un gran número de sistemas y dispositivos en todo el mundo. La vulnerabilidad permite a un atacante obtener información confidencial, como contraseñas y claves privadas, al explotar un error en el manejo de los mensajes Heartbeat del protocolo OpenSSL.

Protocolo SSL

Para entender qué es la vulnerabilidad Heartbleed, es importante explicar en que consiste el protocolo SSL/TLS.

El protocolo SSL (Secure Sockets Layer) es un protocolo de seguridad utilizado para proteger la comunicación en línea y garantizar que la información enviada entre un servidor y un cliente no sea interceptada por terceros. Su funcionamiento básico consiste en que, cuando un cliente va a establecer una conexión con un servidor, se utilizan las claves públicas/privadas de éstos para acordar una clave de sesión con la que se cifraran todos los mensajes intercambiados. De este modo, aunque la comunicación entre el cliente y el servidor sea interceptada por un tercero, los mensajes estarían cifrados y no podría robarse información sensible.

El siguiente artículo explica en detalle cómo funciona el protocolo SSL:

Mensajes Heartbeat

Los mensajes heartbeat de SSL son un tipo de mensaje que se utiliza para mantener la conexión SSL entre un cliente y un servidor en un estado activo. Estos mensajes son enviados en intervalos regulares y contienen una pequeña cantidad de datos. 

Heartbeat SSL - OK

El objetivo principal de los mensajes heartbeat es asegurarse de que la conexión SSL siga siendo fiable y activa, y garantizar que no se interrumpa la comunicación debido a problemas con la conexión o fallos de hardware.

Vulnerabilidad Heartbleed

Heartbleed (CVE-2014-0160) es una vulnerabilidad que fue explotada en el año 2014, afectando a distintas versiones del software de cifrado OpenSSL a través de un error en el envío de mensajes “heartbeat”.

Como hemos explicado, estos mensajes son utilizados para asegurar que una conexión SSL entre un cliente y un servidor continúe activa. Al enviar estos mensajes, el cliente manda una pequeña cantidad de información, así como el tamaño de la misma (Por ejemplo:  “OK” = 2 bytes). Tras enviar este mensaje, el resultado esperado es que el servidor responda con la misma información enviada (“OK” = 2 bytes).

La vulnerabilidad se producía cuando en el mensaje heartbeat se indicaba un tamaño mayor que el de los datos enviados (Por ejemplo: “OK” = 65536 bytes). Debido a esta incongruencia, el servidor enviaba como respuesta un mensaje malformado, incluyendo datos aleatorios que el servidor tuviese cargados en memoria.

Heartbeat SSL : KO

Estos datos devueltos como respuesta podían incluir cualquier tipo de información sensible sin cifrar (contraseñas, tarjetas de crédito, etc.). Incluso se llegaron a obtener claves SSL privadas de los servidores, pudiendo utilizarlas para descifrar cualquier tráfico que pudiese interceptarse. 

La vulnerabilidad Heartbleed, que se detecto en 2014, afectó a las versiones de OpenSSL desde 1.0.1 a 1.0.1f. Y, durante el mismo año 2014, fue publicada la versión 1.0.1g que corregía el problema. A pesar de ello, la vulnerabilidad supuso una gran crisis de seguridad online. Se estima que el problema afectó a cerca del 30% de los sitios web y supuso un coste de unos $500.000.000 en cambios de certificados a empresas y organizaciones.

Heartbleed en la actualidad

A día de hoy, vulnerabilidades como Heartbleed ya no suponen una amenaza. Y el uso del protocolo SSL/TLS es fundamental para cifrar el tráfico web y proporcionar la máxima seguridad en un sitio web.

El siguiente artículo explica cómo puedes proteger tu sitio web, obteniendo y aplicando certificados SSL de forma totalmente gratuita:

Déjanos tu email para recibir contenido interesante en tu bandeja de entrada, cada mes.

¡No hacemos spam!

Otros artículos