Un fallo en la librería C de GNU expone la seguridad de miles de aplicaciones y dispositivos Linux

Share this…

Aunque Internet puede parecer en muchas ocasiones un lugar seguro, en realidad no lo es. La mayor parte de las librerías y dependencias utilizadas para conectar tanto el software como el hardware a la red han sido desarrolladas hace ya varios años. Tanto los protocolos como las técnicas utilizadas por los piratas informáticos para realizar ataques de red han cambiado mucho en los últimos años, por lo que lo que hasta ahora parecía seguro puede que, en realidad, no lo sea tanto.

Un grupo de investigadores de seguridad ha detectado un fallo de seguridad crítico en la librería C de GNU más utilizada, usada prácticamente en todos los dispositivos de hardware basados en Linux y en todas las aplicaciones para este sistema operativo que, por un motivo u otro, realizan consultas DNS. Este fallo de seguridad puede permitir a un atacante tomar el control de los paquetes DNS y modificarlos para conseguir desbordar el búfer del sistema y ejecutar código de forma remotaque puede llegar incluso a brindar el control total sobre el sistema afectado.

Un fallo en la librería C de GNU expone la seguridad de miles de aplicaciones y dispositivos Linux

Este fallo de seguridad se introdujo en una de las últimas actualizaciones de la librería GNU C en el año 2008. Desde entonces ha estado presente entre los usuarios, desconocida hasta ahora, pero comprometiendo la seguridad tanto de las aplicaciones compiladas con la librería afectada como de todo el hardware (servidores, routers, consolas, etc) basado en Linux que realice búsquedas de dominio, algo prácticamente innato en este tipo de hardware.

La función responsable de este fallo de seguridad es getaddrinfo (). Esta función cuenta con un fallo que puede dar lugar a un error de desbordamiento de búfer que permite a un atacante ejecutar código remoto. Este fallo de seguridad puede explotarse fácilmente tanto cuando el usuario hace consultas DNS como cuando está expuesto a ataques MITM, donde un usuario tiene la capacidad de controlar y manipular todos los paquetes que viajan entre el equipo afectado e Internet.

Todas las versiones posteriores a glibc 2.9 (publicada en 2008) son vulnerables a este fallo de seguridad, sin embargo, la actualización publicada hace algunas horas, finalmente, soluciona el problema, al menos, en la medida que corresponde a la librería.

Este fallo de seguridad ya tiene solución, aunque la responsabilidad depende de los responsables de cada aplicación o componente afectado

Los responsables de glibc, nombre que recibe la librería libre afectada por este problema, ya han liberado una actualización que soluciona este problema, sin embargo, mantener la seguridad no dependerá solo de los usuarios, sino también en muchos casos de los propios desarrolladores. Tanto los usuarios de Linux como aquellos responsables de la seguridad y el mantenimiento de un servidor, simplemente instalando los últimos parches el sistema quedará asegurado frente a esta grave vulnerabilidad, pero no el software.

Muchas aplicaciones han sido compiladas utilizando una versión vulnerable de esta librería, por lo que para asegurarlas de nuevo los desarrolladores deben volver a compilarla con la nueva librería, proceso que, en el mejor de los casos, puede tardar en ocurrir. Cualquier persona responsable de un proyecto basado en Linux que haga uso de las librerías C de GNU o de cualquier componente de hardware que realice búsquedas por nombre de dominio deben implementar esta nueva versión de glibc lo antes posible para evitar que este fallo de seguridad siga afectando a los usuarios de sus aplicaciones.

Varios expertos en seguridad informática aseguran que solucionar este fallo en todo Internet y todos los sistemas basados en Linux es un gran reto, ya que absolutamente todo lo que realiza consultas DNS está comprometido, si el atacante sabe cómo responder.

Prácticamente todo Linux es vulnerable, salvo Android

Cualquier hardware que utilice Linux (un router, un servidor, un dispositivo IoT, etc), así como muchos lenguajes de programación basados en C (PHP, Python, etc), todas las aplicaciones relacionadas con los Bitcoin y prácticamente todas las distribuciones Linux y aplicaciones como SSH, Sudo o Curl son vulnerables.

Android, el sistema operativo móvil de Google, está basado en Linux, sin embargo, no es vulnerable a este fallo de seguridad ya que este sistema hace uso de las librerías Bionic en lugar de Glibc, por lo que no se ha visto afectado.

Cómo protegerse de este fallo de seguridad

Como ya hemos dicho, lo primero que debemos hacer es actualizar tanto nuestro sistema operativo como todas las aplicaciones que realicen consultas DNS, sin embargo, hasta que los desarrolladores no vuelvan a compilarlas estas no volverán a ser seguras, y hasta que eso ocurra puede llegar a pasar bastante tiempo.

Detectar este tipo de ataques es sencillo, ya que los paquetes de respuesta modificados ocupan más de 2048 bytes, por lo que otras sencillas medidas de seguridad para mitigar este tipo de ataques informáticos son:

  • Configurar un Firewall para que rechace todos los paquetes DNS superiores a 512 bytes.
  • Utilizar un DNS local en lugar de uno remoto.
  • No utilizar la función “options edns0” del fichero /etc/resolv.conf.
  • No utilizar las funciones “RES_USE_EDNS0” ni “RES_USE_DNSSEC” hasta que estas sean parcheadas.
  • Evitar el uso de solicitudes A y AAAA.
  • Limitar las respuestas de los paquetes TCP 1024 bytes.

Fuente:https://www.redeszone.net/