Arranque seguro
El arranque seguro es una característica de la Unified Extensible Firmware Interface (UEFI) que requiere que se comprueben antes de cargar todos los componentes de software y firmware de bajo nivel. Durante el arranque, Arranque seguro de UEFI comprueba la firma de cada parte del software de arranque, lo que incluye controladores de firmware UEFI (también conocidos como ROM de opciones), las aplicaciones de Extensible Firmware Interface (EFI) y los controladores y archivos binarios del sistema operativo. Si las firmas son válidas o el fabricante de equipos originales (OEM) confía en ellas, la máquina arranca y el firmware proporciona el control al sistema operativo.
Componentes y proceso
Arranque seguro se basa en estos componentes críticos:
- Clave de plataforma (PK): establece confianza entre el propietario de la plataforma (Microsoft) y el firmware. La mitad pública es PKpub, mientras que la mitad privada es PKpriv.
- Base de datos de claves de inscripción de claves (KEK): establece confianza entre el sistema operativo y el firmware de la plataforma. La mitad pública es KEKpub, mientras que la mitad privada es KEKpriv.
- Base de datos de firmas (db): contiene los códigos hash de los firmantes de confianza (claves públicas y certificados) de los módulos del código de firmware y software autorizados para interactuar con el firmware de la plataforma.
- Base de datos de firmas revocadas (dbx): contiene resúmenes revocados de módulos de código que se identifican como malintencionados, vulnerables, comprometidos o que no son de confianza. Si un hash está en la base de datos de firmas y en la base de datos de firmas revocadas, tiene prioridad esta última.
En la siguiente ilustración y proceso se explican cómo se actualizan estos componentes:
El OEM almacena los resúmenes de arranque seguro en la RAM no volátil de la máquina (NV-RAM) en el momento de la fabricación.
- La base de datos de firma se rellena con los firmantes o hashes de imágenes de aplicaciones UEFI, cargadores de sistema operativo (como el cargador de sistema operativo de Microsoft o el Administrador de arranque) y los controladores UEFI de confianza.
- Las firmas revocadas dbx se rellenan con resúmenes de módulos que ya no son de confianza.
- La base de datos de claves de inscripción de claves (KEK) se rellena con claves de firma que se pueden utilizar para actualizar la base de datos de firmas y la base de datos de firmas revocadas. Las bases de datos se pueden editar mediante actualizaciones que se firman con la clave correcta, o bien a través de actualizaciones realizadas por un usuario autorizado presente físicamente mediante menús de firmware.
- Después de que se agreguen las bases de datos db, dbx y KEK y se completen las pruebas y validación de firmware finales, el OEM bloquea el firmware de la edición y genera una clave de plataforma (PK). que se puede usar para firmar las actualizaciones del KEK o para desactivar Arranque seguro.
Durante cada fase del proceso de arranque, se calculan los códigos hash del firmware, cargador de arranque, sistema operativo, controladores de kernel y otros artefactos de la cadena de arranque, y se comparan con los valores aceptables. El firmware y el software que se detectan que no son de confianza no se pueden cargar. Por lo tanto, se pueden bloquear los ataques de malware de bajo nivel o de arranque previo.
Arranque seguro en la flota de Azure
En la actualidad, todos los equipos que se incorporan e implementan en la flota de proceso de Azure para hospedar las cargas de trabajo de los clientes vienen de fábrica con Arranque seguro habilitado. Las herramientas y los procesos de destino se encuentran en todas las fases de la compilación de hardware y la canalización de integración para asegurarse de que la habilitación de arranque seguro no se revierte por accidente o por intención malintencionada.
La validación de que los códigos hash db y dbx son correctos garantiza que:
- El cargador de arranque está presente en una de las entradas de la base de datos.
- La firma del cargador de arranque es válida
- El host arranca con software de confianza.
Mediante la validación de las firmas de KEKpub y PKpub podemos confirmar que solo las entidades de confianza tienen permiso para modificar las definiciones de qué software se considera de confianza. Por último, al garantizar que el arranque seguro está activo, es posible validar que se aplican estas definiciones.
Pasos siguientes
Para más información sobre lo que se hace para fomentar la seguridad y la integridad de la plataforma, vea: