[Hemeroteca] HeartBleed, el bug de SSL que preocupó a medio mundo

650_1200

Buenas tardes, para esta última entrada del blog vamos a hacer un poco de historia (aunque ocurrió el año pasado).

Bien, hablemos de HeartBleed. Aparte del ‘pun’ intencionado, dado que es un juego de palabras con Heart Beat (latido de corazón), es un bug que se descubrió hace un par de años en la librería de SSL OpenSSL. Esta librería, usada en prácticamente la mitad de los servidores de Apache 2 del mundo, provocaba que, con un simple comando de heart beat, podías conseguir información que no deberías, por ejemplo, las claves privadas de SSL.

Heart beat es un mensaje que ese suele enviar para evitar que una conexión permanente a un servidor no se cierre, alegando que “aún estás ahí”. Es un mensaje que tiene como parámetro una cadena de chars que el servidor le tiene que responder en su totalidad, seguido de un parámetro int que indica el tamaño del archivo.

Hasta ahí bien, ¿verdad? Si tú envías un mensaje “hola” de 4 caracteres, el servidor devolverá “hola”. Vale, y si envío un mensaje “hola”, pero pongo de parámetro 400 carácteres, ¿Qué ocurrirá? El desastre.

El gran problema es el lenguaje de programación: OpenSSL está escrito en C, no está escrito en Java donde nos salga un “index out of bounds”, no está escrito en C#… El programa seguirá, porque las variables en C son espacios de memoria RAM en su forma más cruda. Si pido un mensaje de 500 bytes con un mensaje de 10, OpenSSL elegirá 10 direcciones de memoria donde alojar el mensaje de 10 bytes y luego cogerá los 490 direcciones de memoria siguientes y se lo devolverá al cliente. Insultantemente fácil y a la vez catastrófico. ¿Quién fue el iluminado que eligió poner como parámetro la longitud del mensaje?

Explicación_simplificada_de_Heartbleed

Por suerte, este bug se descubrió el año pasado en la versión más reciente en su día de OpenSSL, y ahora está corregido. Pero… ¿y si os dijera que el bug existe desde hace más de año? La NSA, la agencia estadounidense de seguridad nacional que tanta fama ha recibido por sus múltiples ataques contra la privacidad nacional y mundial, ya lo conocía desde hace dos años e incluso lo ha utilizado. ¿Qué habrá conseguido la NSA? No lo sabremos nunca. Para bien y para mal.

En fin, espero que os haya gustado el último post. Nos vemos pronto en otra asignatura.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s