openSIL, el prototipo de AMD para crear firmware abierto
AMD dio a conocer que hace poco publico el código fuente del primer prototipo funcional de la plataforma openSIL, que está destinada para el desarrollo de componentes para simplificar la creación de firmware.La idea detrás del proyecto openSIL implica mover el código de inicialización del hardware a bibliotecas mantenidas y probadas por separado que se pueden vincular estáticamente al firmware principal sin involucrar protocolos específicos.
Sobre el proyecto se menciona que se espera la entrega del primer firmware UEFI basado en openSIL en 2026. Los planes también mencionan la preparación de instrucciones para la integración con CoreBoot, la publicación de la especificación de arquitectura de firmware openSIL, la creación de firmware basado en CoreBoot y AMI Aptio OpenEdition para la plataforma AMD CRB.
AMD cree que una de las formas de lograr una postura de seguridad mejorada es abrir la arquitectura, el desarrollo y la validación del firmware de inicialización de silicio a la comunidad de código abierto. AMD está comprometida con el software de código abierto y ahora se está expandiendo a los diversos dominios de firmware con la nueva arquitectura de su pila x86 AGESA FW, diseñada con UEFI como el firmware del host que impidió la escalabilidad, a otras soluciones de firmware del host como coreboot, oreboot. , FortiBIOS, Proyecto µ y otros.
openSIL incluye tres bibliotecas principales diseñadas para vincularse estáticamente en tiempo de compilación:
- xSIM (bibliotecas de inicialización x86): Esta proporciona una API para la inicialización básica de la plataforma host, incluida la inicialización de DRAM, JEDEC y controladores de memoria. Esto incluye el entrenamiento de la interfaz de memoria y el acondicionamiento de señales, la inicialización de DRAM JEDEC y la inicialización del controlador de memoria del host, que forman colectivamente la mayor parte de la inicialización de memoria. Como resultado, la memoria del sistema ya está disponible cuando se desactiva el reinicio x86.
- xPRF (Biblioteca de referencia de la plataforma x86): servicios para inicializar componentes de hardware específicos, como GPIO y SMM. Un ejemplo de esto sería la programación GPIO. Esto también puede incluir controladores SMM para manejar eventos como RAS, etc. y está sujeto al diseño de la placa
- xUSL (Biblioteca de servicios y utilidades x86): controladores internos auxiliares utilizados en las bibliotecas xSIM y xPRF, y no están disponibles para llamar desde el firmware.
Las bibliotecas propuestas permiten agregar rápida y fácilmente soporte para el hardware necesario al firmware UEFI estándar, así como firmware alternativo creado en base a las plataformas CoreBoot, oreboot, FortiBIOS y Projectµ.
El proyecto libera a los desarrolladores de la necesidad de mantener el firmware por separado para equipos específicos e inicialmente se desarrolla como un conjunto de herramientas abierto y transparente, que también mejorará la seguridad del firmware, simplificará las pruebas, proporcionará verificación independiente y unificará el seguimiento de errores y vulnerabilidades.
Por la parte del desarrollo y formación del producto ese será llevado a través de varias etapas:
- En la primera etapa, que fue a puerta cerrada, se desarrolló un prototipo de la plataforma.
- La Fase 2, ahora completa, ha publicado el código prototipo openSIL para el SoC basado en la plataforma AMD CRB con el procesador AMD EPYC de cuarta generación.
- En la tercera etapa, que durará hasta el cuarto trimestre de 2024, está previsto que el prototipo esté listo para su uso generalizado.
Una arquitectura abierta más nueva que potencialmente permite una superficie de ataque reducida y una escalabilidad perceptiblemente infinita ahora está disponible como prueba de concepto, dentro de la comunidad de código abierto para su evaluación, llamada AMD openSIL – Open-Source Silicon Initialization Library .
Finalmente, cabe mencionar que AMD espera dar solución a diversas problemáticas con openSIL y que ademas espera:
- Mejora de la seguridad, la funcionalidad y la escala de la plataforma.
- Cobertura de prueba mejorada, validando sistemas completos.
- Mayores pruebas de penetración y seguimiento de vulnerabilidades.
- Trazabilidad optimizada como SBOM para una mayor trazabilidad y seguimiento de vulnerabilidades dentro de los archivos binarios de firmware.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.