HeartBleed: el bug de OpenSSL
Cuando consultamos una página Web o participamos en una conversación los datos asociados viajan por Internet. No es una conexión punto a punto sino que para llegar a su destino pasan por diferentes servidores y equipos. Estos datos pueden ir en texto claro, es decir, cualquiera los puede leer o cifrados con lo que únicamente el equipo de destino los podrá leer. Para realizar el cifrado se usan varias librerías siendo uno de las más usadas OpenSSL. Es en esta librería donde se ha detectado un fallo de seguridad muy grave la semana pasada. Las librerías incluyen diferentes funciones que son útiles para los programadores. Una de las funciones que hay dentro de OpenSSL permite saber si el servidor Web está funcionando. El bug básicamente consiste en llamar a esta función del servidor y hacer que devuelva una cadena de texto. Al pedir la cadena de respuesta se indica también su dimensión. Si el atacante pide una dimensión superior a la que tiene realmente la respuesta el servidor da más información de la que debe.
Funcionamiento de HeartBleed
Una imagen vale más que mil palabras. Podéis ver el proceso en el siguiente cómic de xkcd
Solución del bug
El fallo es importante por dos razones: afecta a las conexiones seguras que utilizamos a diario y no deja rastro en los servidores. La mayoría de los servidores ya han instalado las actualizaciones de seguridad correspondientes y no son vulnerables al fallo. No estamos hablando sólo de servidores pequeños sino que afecta a los grandes como Google o Facebook. Por esta razón es obligatorio cambiar todas las contraseñas que usemos de forma inmediata: correo, redes sociales, etc.
El bug en Android
Android también usa OpenSSL para usar las comunicaciones cifradas por lo que también es candidato a tener el bug. Se tienen que dar dos casos al mismo tiempo para que se pueda explotar la vulnerabilidad. El primero es, como es lógico, tener una versión vulnerable de OpenSSL mientras que el segundo consiste en tener activada la función que tiene el bug. La siguiente información corresponde a un bq Aquaris 5.7. El análisis lo he realizado con la aplicación Bluebox Heartbleed Scanner. Esta aplicación analiza por una parte si el sistema es vulnerable al fallo y por otra parte si hay aplicaciones vulnerables.
Nota: la prueba la he realizado con una versión concreta de un dispositivo. Es posible que otros dispositivos sean vulnerables. En cualquier caso, para los dispositivos de bq ya han indicado que están trabajando en corregir el problema. En el ejemplo vemos que una de las aplicaciones es vulnerable en el momento de escribir el artículo (do. 13/04/2014). Si queremos evitar el problema mientras los programadores sacan una actualización tenemos que desinstalar la aplicación.
También podemos hacer la misma prueba con otra aplicación diferente.
Conclusiones
El fallo de seguridad es grave y obliga a actualizar los servidores y a cambiar todas las contraseñas que tengamos. De la primera tarea se encargan las empresas mientras que de la segunda se encargan los usuarios. Si gestionamos algún servidor particular tendremos que hacer la actualización nosotros mismos. Como tenemos que cambiar las contraseñas es recomendable usar una aplicación que genere contraseñas fuertes y que nos permita almacenarlas mientras las aprendemos. Tenéis varios tutoriales de KeePass en los siguientes artículos.



Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!