¿Qué es la vulnerabilidad Heartbleed?
Una de las vulnerabilidades más conocidas de mediados de 2010 se llamó "Heartbleed". Heartbleed fue particularmente malo porque era el software que interesaba a "OpenSSL", la principal biblioteca criptográfica para conexiones HTTPS, que son ampliamente utilizadas. Para empeorar las cosas, la vulnerabilidad estuvo presente en OpenSSL durante más de dos años antes de que fuera descubierta, anunciada y corregida, lo que significaba que muchas personas estaban usando una versión vulnerable.
Heartbleed era una vulnerabilidad de pérdida de datos en la extensión de latido que, cuando se explotaba, filtraba datos de la RAM del servidor al cliente. La extensión de latido se utiliza para mantener una conexión entre el servidor web y el cliente sin realizar una solicitud de página normal.
En el caso de OpenSSL, el cliente envía un mensaje al servidor e informa al servidor de la longitud del mensaje, hasta 64 KB. A continuación, el servidor debería repetir el mismo mensaje. Básicamente, sin embargo, el servidor no verificó que el mensaje fuera tan largo como el cliente afirmaba. Esto significaba que un cliente podía enviar un mensaje de 10 KB, afirmar que era de 64 KB y obtener una respuesta de 64 KB, siendo los 54 KB adicionales los siguientes 54 KB de RAM, independientemente de los datos almacenados allí. Este proceso es bien mostrado por Cómic XKCD # 1354.
ProtonMail: cómo habilitar la autenticación de dos factores
Imagen cortesía de xkcd.com.
Al realizar muchas solicitudes de latidos pequeños y afirmar que eran grandes, un atacante podría crear una imagen de la mayor parte de la RAM del servidor agrupando las respuestas. Los datos almacenados en la RAM que podrían filtrarse incluyen claves de cifrado, certificados HTTPS y datos POST no cifrados, como nombres de usuario y contraseñas.
Nota: Es menos conocido, pero el protocolo de latidos y el exploit también funcionaron en la dirección opuesta. Es posible que se haya configurado un servidor malintencionado para leer hasta 64 KB de memoria de usuario por solicitud de latido.
Gmail: cómo deshabilitar los indicadores de importanciaEl problema fue descubierto por varios investigadores de seguridad de forma independiente el 1 de abril de 2014 y se reveló de forma privada a OpenSSL para que se pudiera crear un parche. El error se publicó cuando se lanzó el parche el 7 de abril de 2014. La mejor solución para solucionar el problema era aplicar el parche, pero también era posible solucionarlo desactivando la extensión de latido si el parche no era una opción de inmediato.
Desafortunadamente, a pesar de que el exploit es público y generalmente bien conocido, muchos sitios web no se actualizaron de inmediato, y la vulnerabilidad se encontró ocasionalmente incluso años después. Esto resultó en una serie de casos en los que el exploit se utilizó para obtener acceso a la cuenta o perder datos.