Desangrando el corazón de OpenSSL (CVE-2014-0160)






El 7 de Abril se publicó una vulnerabilidad en OpenSSL 1.0.1 que permitiría a un atacante obtener 64Kb de memoria. Pueden parecer pocos, pero aseguro que en dicha sección de memoria se pueden encontrar credenciales, cookies de sesión, claves privadas, etc, de los clientes y servidores conectados al servidor vulnerable. El aluvión de tweets referentes a este tema fue masivo, han sido unas navidades anticipadas con un regalo en forma de vulnerabilidad que permite ser explotada en cualquier servicio vulnerable expuesto sin apenas ser detectado.



Cita:https://cve.mitre.org/cgi-bin/cvename.cg...-2014-0160


Impacto tras explotación


Cita:La información que se podría obtener sería la siguiente:

1.Claves privadas
2.Usuarios y contraseñas utilizadas en servicios vulnerables
3.Información sensible utilizada por servicios vulnerables
4.Direcciones de memoria y su contenido que podría permitir evadir mecanismos de mitigación ante exploits.

¿Mi servidor es vulnerable?

Rápidamente, comenzaron a publicarse herramientas que permitían tanto comprobar si un servidor es vulnerable, tanto como para obtener la información tras su explotación.





El caso más sonado fue el de Yahoo.com, cuya página de autenticación de usuarios login.yahoo.com ha sido vulnerable durante un día entero, corriendo imágenes de su explotación como la pólvora en redes sociales, mostrándose usuarios y contraseñas (en caso de encontrarse conectados en el momento del análisis).





Cómo corregir esta vulnerabilidad

Lo primero y más importante, actualizar la librería OpenSSL a una versión no vulnerable, a partir de la 1.0.1g. También se recomienda encarecidamente regenerar toda aquella información afectada, claves de usuarios, claves privadas... Esta tarea puede ser ardua y suponer un esfuerzo considerable, pero nadie nos asegura si, durante el período hasta la actualización de nuestros servicios vulnerables, pudiera haberse explotado este fallo para obtener de manera masiva información sensible.

Otro método para su corrección consiste en deshabilitar el soporte de Heartbeat en OpenSSL, recompilándolo con la opción -DOPENSSL_NO_HEARTBEATS

En este enlace del GIT de openssl se pueden ver las modificaciones realizadas sobre los ficheros d1_both.c y t1_lib.c que solventarían esta grave vulnerabilidad.

¿Qué páginas se encuentran afectadas?

Se ha puesto a disposición de todos un listado del TOP 1000 portales web según el ranking de ALEXA, mostrando si son vulnerables o no. El listado corresponde con el estado de dichas webs durante la tarde de ayer cuando fue confeccionada tras la ejecución de la herramienta de comprobación de manera masiva.





Muchas páginas de proyectos importantes, como Cloudflare que lo indica en un post dentro de su blog, tuvieron constancia de la vulnerabilidad una semana antes de su publicación, teniendo tiempo para corregir la vulnerabilidad en sus servidores. Otros muchos, parece que han hecho caso omiso aún habiendo tenido el privilegio de haber sido informados (ya que todo ha seguido las normas del responsible disclosure).

Existe una página considerada "oficial" de Heartbleed dedicada a intentar responder todas las preguntas referentes a esta vulnerabilidad: http://heartbleed.com.


Fuente:
http://www.securitybydefault.com/2014/04/desangrando-el-corazon-de-openssl-cve.html