viernes, 11 de abril de 2014

Heartbeat


Dominio que proporciona servicios de infraestructura de clúster (comunicación y pertenencia) a sus clientes.

Esto permite a los clientes tener conocimiento de la presencia (o desaparición) de los procesos en otras máquinas e intercambiar fácilmente mensajes entre ellos.

Para resultar útil a los usuarios el dominio HEARTBEAT necesita emplearse en combinación con un gestor de recursos del clúster (clúster resource manager (CRM)) el cual posee la tarea de iniciar y parar los servicios (Direcciones IP, servidores web…) a los cuales el clúster aportará ata disponibilidad. Pacemaker es el gestor de recursos de clúster preferido para los clúster basados en Heartbeat.

Dentro de las vulnerabilidades de este dominio:
  • Una función encargada de gestionar los menajes heartbeat. Estos mensajes son los denominados keep-alive; que se utilizan para informar al servidor de que seguimos ‘vivos’ para que no cierre sesión.
  • OpenSSL sufre una grave vulnerabilidad cuya explotación permite revelar contenidos de memoria de aplicaciones que hagan uso de OpenSSL. Bugs en OpenSSL. OpenSSL es una de las bibliotecas de criptografía más usadas en los servidores web (alrededor de un 17% de los servidores web que ofrecen conexiones seguras con SSL se apoyaban en este componente y presentaban esta vulnerabilidad); por tanto, que aparezca una vulnerabilidad es algo para tomarse muy en serio. Catalogada con el código CVE-2014-0160, esta vulnerabilidad ha sido descubierta por expertos de Google y la compañía de seguridad Codenomicon y ha sido "bautizada" bajo el apelativo de Hearthbleed al estar vinculada a la funcionalidad heartbeat de OpenSSL.


Para entender mejor la gravedad de esta vulnerabilidad, creo que es importante que entendamos cuál es el bug que se ha encontrado. Hay que partir de la base que el protocolo SSL/TLS es complejo y se basa en la criptografía asimétrica, es decir, en una clave pública y una clave privada que reside en el servidor que ejerce de prestatario de los servicios que estamos utilizando.

La clave privada, como su nombre indica, no se comparte con nadie y es la base sobre la se apoya el cifrado de las comunicaciones; sin embargo, la funcionalidad heartbeat que implementaba OpenSSL presenta un fallo en el que responde con un dato que revela porciones de la memoria interna utilizada por este proceso.Dicho de otra forma, OpenSSL estaba revelando datos de la memoria del servidor en el que se estaba ejecutando y, claro está, entre los datos que están en su memoria se encuentra la clave privada (necesaria para realizar los cálculos de cifrado y descifrado de mensajes). Con este escenario, sin el que el administrador del sistema sea consciente, la clave privada podría haber quedado expuesta a un tercero que hubiese explotado esta vulnerabilidad, desmontando la seguridad de este tipo de comunicaciones.

Muchas veces se usa software especial para identificar si un servidor es vulnerable, así abriendo una página web, este analiza si el sitio web es vulnerable o no, además de mostrar ciertas estadísticas o casi acercándose a mostrar cual es el punto vulnerable del servidor.

Una solución probable para evitar este tipo de ataques y/o vulnerabilidades, es actualizando la aplicación que nos esté brindando la seguridad de nuestro servidor o sitio web.


Realmente nada puede hacer un usuario común, el trabajo recae sobre los administradores de los servidores, que trabajaran a marchas forzadas para solucionar el problema lo antes posible y rezar para que nadie conozca el fallo antes de ser reportado.

Referencias


No hay comentarios :

Publicar un comentario