Video: Heartbleed Exploit - Discovery & Exploitation (Noviembre 2024)
En la semana desde que los investigadores revelaron la vulnerabilidad Heartbleed en OpenSSL, se ha debatido mucho sobre qué tipo de información pueden realmente obtener los atacantes al explotar el error. Resulta bastante.
Como Security Watch ha señalado anteriormente, Heartbleed es el nombre de un error en OpenSSL que filtra información en la memoria de la computadora. (Vea el gran cómic de XKCD que explica la falla) Los investigadores descubrieron que las credenciales de inicio de sesión, la información del usuario y otra información podrían ser interceptadas explotando la falla. Los expertos pensaron que también sería posible obtener la clave privada del servidor de esta manera.
Los certificados y las claves privadas se utilizan para verificar que una computadora (o dispositivo móvil) se conecta con un sitio web legítimo y que toda la información que se transmite está encriptada. Los navegadores indican una conexión segura con un candado y muestran una advertencia si el certificado no es válido. Si los atacantes pudieran robar claves privadas, podrían configurar un sitio web falso que se vería legítimo e interceptaría datos confidenciales de los usuarios. También podrían descifrar el tráfico de red cifrado.
La prueba de vigilancia de seguridad
Curiosos por ver qué podríamos hacer con un servidor que ejecuta una versión vulnerable de OpenSSL, iniciamos una instancia de Kali Linux y cargamos el módulo Heartbleed para Metasploit, un marco de prueba de penetración de Rapid7. El error fue bastante fácil de explotar, y recibimos cadenas de la memoria del servidor vulnerable. Automatizamos el proceso para seguir presionando al servidor con solicitudes repetidas mientras realizamos varias tareas en el servidor. Después de un día entero de ejecutar las pruebas, habíamos recopilado muchos datos.
Obtener nombres de usuario, contraseñas e ID de sesión resultó ser bastante fácil, aunque estaban enterrados en lo que parece un montón de trucos. En un escenario de la vida real, si yo fuera un atacante, las credenciales se pueden robar de forma rápida y sigilosa, sin necesidad de mucha experiencia técnica. Sin embargo, hay un elemento de suerte, ya que la solicitud tuvo que llegar al servidor en el momento adecuado cuando alguien iniciaba sesión o interactuaba con el sitio para obtener la información "en la memoria". El servidor también tuvo que golpear la parte correcta de la memoria, y hasta el momento, no hemos visto una forma de controlar eso.
No aparecen claves privadas en nuestros datos recopilados. Eso está bien, ¿verdad? Esto significa que, a pesar de nuestras preocupaciones en el peor de los casos, no es fácil obtener claves o certificados de servidores vulnerables, una cosa menos de la que todos debemos preocuparnos en este mundo post-Heartbleed.
Incluso la gente inteligente de Cloudflare, una empresa que brinda servicios de seguridad para sitios web, parecía estar de acuerdo en que no era un proceso fácil. No imposible, pero difícil de hacer. "Hemos pasado gran parte del tiempo ejecutando pruebas exhaustivas para descubrir qué se puede exponer a través de Heartbleed y, específicamente, para comprender si los datos de la clave SSL privada estaban en riesgo", escribió inicialmente Nick Sullivan, ingeniero de sistemas en Cloudflare. Blog de la compañía la semana pasada. "Si es posible, es como mínimo muy difícil", agregó Sullivan.
La compañía instaló un servidor vulnerable la semana pasada y solicitó a la comunidad de seguridad que intentara obtener la clave de cifrado privada del servidor utilizando el error Heartbleed.
Pero en realidad…
Ahora viene el poder del crowdsourcing. Nueve horas después de que Cloudflare estableciera su desafío, un investigador de seguridad obtuvo con éxito la clave privada después de enviar 2, 5 millones de solicitudes al servidor. Un segundo investigador logró hacer lo mismo con muchas menos solicitudes, alrededor de 100, 000, dijo Sullivan. Dos investigadores más hicieron lo mismo durante el fin de semana.
"Este resultado nos recuerda que no debemos subestimar el poder de la multitud y enfatiza el peligro que representa esta vulnerabilidad", dijo Sullivan.
Volvimos a nuestra configuración de prueba. Esta vez, utilizamos el programa heartleech de Robert Graham, CEO de Errata Security. Tomó horas, consumió mucho ancho de banda y generó toneladas de datos, pero finalmente obtuvimos la clave. Ahora tenemos que probar con otros servidores para asegurarnos de que esto no fue una casualidad. Security Watch también explorará cómo el hecho de que OpenSSL esté instalado en enrutadores y otros equipos de red pone en riesgo estos dispositivos. Actualizaremos cuando tengamos más resultados.
En lugar de ser poco probable, "cualquiera puede obtener fácilmente una clave privada", concluyó Graham. Ese es un pensamiento aterrador.