Lanzamiento de Coreboot 4.17

Se ha publicado el lanzamiento del proyecto CoreBoot 4.17, en cuyo marco se está desarrollando una alternativa gratuita al firmware y BIOS propietarios. El código del proyecto se distribuye bajo la licencia GPLv2. En la creación de la nueva versión participaron 150 desarrolladores, que prepararon más de 1300 cambios.

Cambios importantes:

  • Se ha solucionado una vulnerabilidad (CVE-2022-29264) que apareció en las versiones CoreBoot 4.13 a 4.16 y permite ejecutar código en sistemas con AP (Procesador de aplicaciones) en el nivel SMM (Modo de administración del sistema), que tiene una prioridad más alta ( Ring -2) que el modo hipervisor y un anillo de protección cero, y tener acceso ilimitado a toda la memoria. El problema se debe a una llamada incorrecta al controlador SMI en el módulo smm_module_loader.
  • Se agregó soporte para 12 placas base, 5 de las cuales se utilizan en dispositivos con Chrome OS o en servidores de Google. Entre las tarifas ajenas a Google:
    • Clevo L140MU / L141MU / L142MU
    • Dell Precision T1650
    • Estación de trabajo HP Z220 CMT
    • Star Labs LabTop Mk III (i7-8550u), LabTop Mk IV (i3-10110U, i7-10710U), Lite Mk III (N5000) y Lite Mk IV (N5030).
  • Se ha interrumpido el soporte para las placas base Google Deltan y Deltaur.
  • Se agregó una nueva carga útil coreDOOM, que te permite iniciar el juego DOOM desde Coreboot. El proyecto utiliza código doomgeneric, portado a libpayload. El framebuffer lineal Coreboot se utiliza para la salida y los archivos WAD con recursos del juego se cargan desde CBFS.
  • Componentes de carga útil actualizados SeaBIOS 1.16.0 e iPXE 2022.1.
  • Se agregó el modo SeaGRUB (GRUB2 sobre SeaBIOS), que permite a GRUB2 usar las llamadas de devolución de llamada proporcionadas por SeaBIOS, por ejemplo, para acceder a equipos a los que no se puede acceder desde la carga útil de GRUB2.
  • Se agregó protección contra el ataque SinkHole, que permite que el código se ejecute en el nivel SMM (Modo de administración del sistema).
  • Se implementó una capacidad incorporada para generar tablas estáticas de páginas de memoria a partir de archivos ensamblados, sin la necesidad de llamar a utilidades de terceros.
  • Permitir escribir información de depuración en la consola CBMEMC desde los controladores SMI cuando se usa DEBUG_SMI.
  • El sistema de controladores de inicialización de CBMEM ha sido cambiado; en lugar de los controladores *_CBMEM_INIT_HOOK vinculados a las etapas, se proponen dos controladores: CBMEM_CREATION_HOOK (usado en la etapa inicial que crea cbmem) y CBMEM_READY_HOOK (usado en cualquier etapa en la que cbmem ya haya sido creado).
  • Se agregó soporte para PSB (Platform Secure Boot), activado por el procesador PSP (Platform Security Processor) para verificar la integridad del BIOS mediante una firma digital.
  • Se agregó nuestra propia implementación de un controlador para depurar datos transferidos desde FSP (FSP Debug Handler).
  • Se agregaron funciones TIS (especificación de interfaz TPM) específicas del proveedor para leer y escribir directamente desde registros TPM (módulo de plataforma confiable): tis_vendor_read() y tis_vendor_write().
  • Se agregó soporte para interceptar desreferencias de puntero nulo mediante registros de depuración.
  • Implementé la detección de dispositivos i2c, facilitando el trabajo con placas equipadas con touchpads o pantallas táctiles de diferentes fabricantes.
  • Se agregó la capacidad de guardar datos de tiempo en un formato adecuado para generar gráficos FlameGraph, que demuestran claramente cuánto tiempo se dedica a las diferentes etapas del lanzamiento.
  • Se ha agregado una opción a la utilidad cbmem para agregar una "marca de tiempo" del espacio del usuario a la tabla cbmem, lo que permite reflejar eventos en etapas realizadas después de CoreBoot en cbmem.

Además, podemos destacar la publicación por parte de la OSFF (Open-Source Firmware Foundation) de una carta abierta a Intel, que propone hacer más modulares los paquetes de soporte de firmware (FSP, Firmware Support Package) y comenzar a publicar documentación relacionada con la inicialización del SoC Intel. . La falta de código FSP complica significativamente la creación de firmware abierto e impide el avance de proyectos Coreboot, U-Boot y LinuxBoot en hardware Intel. Anteriormente, una iniciativa similar tuvo éxito e Intel abrió el código para el firmware del bloque PSE (Programmable Services Engine) solicitado por la comunidad.

Fuente: opennet.ru

Añadir un comentario