De Tianocore a los titanes de la tecnología: los devastadores defectos de PixieFail en UEFI: ¿está en riesgo su dispositivo?

El reciente descubrimiento de “PixieFail”, un conjunto de nueve vulnerabilidades en la pila de red IPv6 EDK II de Tianocore, ha generado importantes preocupaciones en la comunidad de ciberseguridad. Estas vulnerabilidades son críticas ya que afectan el proceso de arranque de red Preboot eXecution Environment (PXE), una característica común en los sistemas empresariales.

Las vulnerabilidades fueron descubiertas por investigadores de seguridad de Quarkslab . Afectan principalmente a la pila de red de EDK II, permitiendo potencialmente a los atacantes ejecutar código arbitrario durante el proceso de arranque de la red. Las vulnerabilidades van desde desbordamientos de buffer hasta validación de entrada inadecuada, cada una de las cuales presenta riesgos y escenarios de explotación únicos. PXE se utiliza ampliamente para el arranque remoto y la gestión de sistemas en redes empresariales. Las vulnerabilidades en la pila de red IPv6 podrían permitir a los atacantes comprometer los sistemas durante el proceso de arranque, lo que representa una amenaza importante para la seguridad de la organización.

El entorno de ejecución previo al arranque (PXE) es una interfaz cliente-servidor estandarizada que permite que las computadoras inicien y carguen un sistema operativo (SO) desde un servidor de red en lugar de desde un dispositivo de almacenamiento local como un disco duro o SSD. PXE es particularmente útil en entornos donde es necesario iniciar múltiples sistemas con la misma configuración o iniciar sistemas sin un dispositivo de almacenamiento dedicado.

CÓMO FUNCIONA PXE:

  1. Inicialización:
    • Cuando se inicia una computadora equipada con firmware PXE, inicializa su interfaz de red y se comunica con un servidor en la red mediante el Protocolo de configuración dinámica de host (DHCP).
  2. Asignación de direcciones IP y DHCP:
    • El servidor DHCP asigna una dirección IP al cliente habilitado para PXE y también proporciona la ubicación del servidor de inicio (un servidor que contiene los archivos de inicio).
  3. Servidor de inicio y archivo de inicio:
    • El servidor de arranque suele ser un servidor TFTP (Protocolo trivial de transferencia de archivos). El servidor DHCP le dice al cliente PXE la dirección del servidor TFTP y el nombre de un archivo del Programa de arranque de red (NBP) que se descargará.
  4. Descargando PNB:
    • Luego, el cliente PXE se comunica con el servidor TFTP, descarga el archivo NBP y lo ejecuta. Este NBP es una pequeña pieza de software, a menudo un sistema operativo básico o un gestor de arranque, que luego iniciará el proceso de carga del sistema operativo completo.
  5. Cargando el sistema operativo:
    • Una vez ejecutado el NBP, es posible que descargue componentes adicionales o la imagen completa del sistema operativo de la red, según la configuración. Esto se puede hacer mediante TFTP u otros protocolos como HTTP o iSCSI.
  6. Arranque del sistema operativo:
    • Una vez que se descargan los componentes necesarios, el NBP entrega el control al sistema operativo, que continúa iniciándose como lo haría normalmente desde un dispositivo de almacenamiento local.

ESCENARIO DE EJEMPLO:

Imagine una empresa con una gran cantidad de estaciones de trabajo que deben actualizarse periódicamente con nuevo software o reconfigurarse. En lugar de actualizar manualmente cada máquina, la empresa utiliza PXE para iniciar las estaciones de trabajo desde un servidor central.

  • Configuración del servidor: la empresa configura un servidor TFTP con las imágenes y configuraciones del sistema operativo requeridas.
  • Arranque de la estación de trabajo: cada estación de trabajo está habilitada para PXE. Cuando se inicia una estación de trabajo, envía una solicitud al servidor DHCP.
  • Respuesta de DHCP: el servidor DHCP asigna una dirección IP a la estación de trabajo y proporciona la ubicación del servidor TFTP y el archivo NBP.
  • Carga del sistema operativo: la estación de trabajo descarga el NBP del servidor TFTP, que a su vez carga las configuraciones de software y sistema operativo necesarias directamente desde el servidor.
  • Estación de trabajo operativa: la estación de trabajo ahora está en funcionamiento con la configuración más reciente, sin requerir ningún almacenamiento local para el sistema operativo.

VENTAJAS DE PXE:

  • Gestión centralizada: permite el control y la implementación centralizados del sistema operativo y el software, simplificando la gestión y las actualizaciones.
  • Rentable: reduce la necesidad de almacenamiento local en cada máquina cliente.
  • Flexibilidad: permite una rápida reconfiguración o creación de imágenes de sistemas en un entorno de red.
  • Escalabilidad: ideal para organizaciones grandes donde la implementación y el mantenimiento de múltiples sistemas es una rutina.

LIMITACIONES:

  • Dependencia de la red: depende en gran medida de la infraestructura de la red. Los problemas de red pueden impedir que los sistemas se inicien.
  • Preocupaciones de seguridad: el proceso de arranque puede ser vulnerable a ataques, como servidores DHCP no autorizados o acceso no autorizado a la red.

PXE se utiliza ampliamente en entornos empresariales, centros de datos y para la gestión remota de estaciones de trabajo, y ofrece una forma optimizada y eficiente de gestionar múltiples sistemas.

La publicación del blog de Quarkslab proporciona información detallada sobre las nueve vulnerabilidades que afectan la pila de protocolos de red IPv6 de EDK II, la implementación de referencia de código abierto de UEFI de TianoCore. Aquí hay un resumen de cada vulnerabilidad:

  1. CVE-2023-45229: Desbordamiento insuficiente de enteros en el procesamiento de mensajes publicitarios DHCPv6
    • Esta vulnerabilidad se debe a la falta de controles de integridad IA_NAIA_TAopciones en los mensajes DHCPv6 Advertise. Puede provocar un desbordamiento insuficiente de enteros, lo que permite a los atacantes leer la memoria más allá del final del paquete recibido.
  2. CVE-2023-45230: Desbordamiento de búfer mediante la opción de ID de servidor largo en el cliente DHCPv6
    • Este problema surge al manejar la opción ID del servidor en Requestmensajes DHCPv6. Un Lengthcampo demasiado grande en la opción ID del servidor puede desbordar un búfer con datos controlados, lo que lleva a una posible ejecución remota de código.
  3. CVE-2023-45231: Lectura fuera de límites en el manejo de mensajes de redireccionamiento ND
    • Esta vulnerabilidad ocurre en el manejo de Redirectmensajes del protocolo Neighbor Discovery (ND). Una opción truncada de un solo byte en la sección de opciones de un Redirectmensaje ND puede provocar una lectura fuera de límites.
  4. CVE-2023-45232: Bucle infinito al analizar opciones desconocidas en el encabezado de opciones de destino
    • Este problema se encuentra en la Ip6IsExtsValidfunción que valida los encabezados de extensión en paquetes IPv6. Se puede desencadenar un bucle infinito al analizar opciones desconocidas en el encabezado Opciones de destino.
  5. CVE-2023-45233: Bucle infinito al analizar una opción PadN en el encabezado de opciones de destino
    • Similar a CVE-2023-45232, esta vulnerabilidad genera un bucle infinito en la Ip6IsOptionValidfunción al analizar una PadNopción con un valor de campo de longitud específico.
  6. CVE-2023-45234: Desbordamiento de búfer en la opción de procesamiento de servidores DNS en el mensaje publicitario DHCPv6
    • Esta vulnerabilidad se debe a un manejo inadecuado de la OPTION_DNS_SERVERSlongitud de la opción en las ofertas DHCPv6. Puede producirse un desbordamiento del búfer si la longitud de la opción es más corta de lo esperado.
  7. CVE-2023-45235: Desbordamiento de búfer en la opción de ID de servidor de manejo del mensaje de publicidad de proxy DHCPv6
    • Este problema surge en la PxeBcRequestBootServicefunción cuando se maneja la opción ID del servidor desde un mensaje de publicidad del proxy DHCPv6. Puede provocar un desbordamiento del búfer.
  8. CVE-2023-45236: Vulnerabilidad en el manejo de mensajes de reenvío de retransmisión DHCPv6
    • Esta vulnerabilidad implica el manejo de Relay Forwardmensajes DHCPv6. En el contenido extraído no se proporcionaron detalles específicos sobre la naturaleza de esta vulnerabilidad, como si provoca un desbordamiento del búfer, divulgación de información u otro tipo de riesgo de seguridad. Sin embargo, es probable que implique un procesamiento o una validación inadecuados de estos mensajes, que podrían explotarse en determinadas condiciones.
  9. CVE-2023-45237: Debilidad en el generador de números pseudoaleatorios
    • Esta vulnerabilidad está relacionada con una debilidad en el generador de números pseudoaleatorios utilizado en la pila de red. El impacto específico de esta vulnerabilidad podría variar desde una fuerza criptográfica reducida hasta una previsibilidad potencial en funciones que dependen de la aleatoriedad. Esto podría tener implicaciones para las funciones de seguridad que dependen de la generación de números aleatorios para su efectividad.

La explotación de estas vulnerabilidades podría provocar acceso no autorizado, violaciones de datos e interrupción de operaciones empresariales críticas.

Las vulnerabilidades de PixieFail en la pila de red IPv6 EDK II de Tianocore afectan a varios proveedores que utilizan el módulo EDK II NetworkPkg. Aquí hay una lista de los proveedores afectados como se menciona en la publicación del blog de Quarkslab:

  1. Tianocore
    • Específicamente, las vulnerabilidades están presentes en la implementación EDK II UEFI desarrollada y mantenida por Tianocore.
  2. brazo ltd.
    • Afectados a través de sus soluciones de referencia Arm.
  3. Software interno
    • Su BIOS UEFI Insyde H20 se ve afectado.
  4. American Megatendencias Inc. (AMI)
    • Las vulnerabilidades afectan a Aptio OpenEdition de AMI.
  5. Phoenix Technologies Inc.
    • Su tecnología SecureCore también se ve afectada.
  6. Corporación Microsoft
    • Las vulnerabilidades afectan al Proyecto Mu de Microsoft.

Además, la nota de vulnerabilidad VU#132380 publicada por CERT/CC proporciona una lista más completa de los proveedores afectados, junto con orientación para implementar correcciones y mitigaciones.

RESPUESTA Y DISCUSIÓN DE LA COMUNIDAD

  • La comunidad de ciberseguridad en plataformas como Reddit ha estado discutiendo activamente los aspectos técnicos y las posibles estrategias de mitigación de PixieFail. Los expertos en seguridad enfatizan la necesidad de parchear y revisar rápidamente los protocolos de seguridad de la red para protegerse contra tales vulnerabilidades.

DECLARACIONES OFICIALES Y RECOMENDACIONES

  • Tianocore reconoció las vulnerabilidades y lanzó parches para solucionarlas.
  • Recomendaciones de seguridad: se recomienda a las organizaciones que actualicen sus sistemas con los últimos parches y realicen auditorías de seguridad exhaustivas para identificar cualquier posible explotación de estas vulnerabilidades.

IMPLICACIONES MÁS AMPLIAS PARA LA SEGURIDAD DE LA RED

  • Análisis: El descubrimiento de PixieFail subraya los desafíos actuales para proteger los protocolos de red y los componentes de firmware.
  • Perspectivas futuras: este incidente destaca la necesidad de vigilancia continua, actualizaciones de seguridad periódicas y mecanismos proactivos de detección de amenazas en las redes empresariales.

PixieFail representa un recordatorio crítico de las vulnerabilidades que pueden existir en componentes fundamentales de la red como la pila EDK II IPv6. La rápida identificación y parcheo de estas vulnerabilidades es encomiable, pero también sirve como un llamado a la acción para que la comunidad de ciberseguridad permanezca alerta y proactiva en la identificación y mitigación de dichas amenazas.