Diferencias entre arranque BIOS y UEFI y para qué sirve el Secure Boot

BIOS - Basic Input/Ouput System (Sistema Básico de Entrada/Salida)

UEFI - Unified Extensible Firmware Interface (Interfaz de Firmware Extensible Unificado)

 

BIOS es un sistema de arranque de un equipo informático. Fue desarrollado a mediados de los años 70 para usarse en computadoras IBM PC y compatibles y el sistema operativo CP/M. Desde entonces se ha convertido en el estándar de facto como el sistema de interfaz de firmware de los PC.

el BIOS, también llamado PC BIOS, ROM BIOS o System BIOS, es una porción de código almacenado en un chip, en una memoria ROM que se encarga de realizar los primeros ajustes y comprobaciones nada más encender una computadora.

 

Es como un mini sistema operativo que se encarga de comunicarse con los diferentes componentes de hardware conectados, lee su firmware, lo carga y verifica que todo funcione correctamente…desde la tarjeta gráfica y de sonido, las memorias RAM, el relog, etc…

También es el encargado de interconectar algunos dispositivos con el sistema operativo, como teclados, monitores o unidades externas a través de una capa de abstracción de hardware…una especie de simulación de un dispositivo físico, aunque actualmente los dispositivos de hardware se comunican con el sistema operativo directamente sin necesidad de usar esa capa de abstracción provista por el BIOS.

Aunque la BIOS está almacenada en un chip ROM, este suele usar tecnología de memoria flash, lo que permite actualizar su contenido, aunque esta facilidad es peligrosa, pues puede permitir a un virus del tipo rootkit de BIOS modificar su contenido e inutilizar un equipo hasta el punto de ser irrecuperable. Como medida de seguridad, algunas placas incorporan un sistema de acceso al BIOS a través de un jumper que debe ser colocado de determinada forma para poder acceder a la BIOS y además la mayoría de las BIOS disponen de la opción de usar una contraseña de acceso.

Una vez la BIOS ha terminado de hacer todo este trabajo de comprobaciones, llamado POST BIOS, busca la ubicación del sistema operativo y le cede el control del equipo, aunque se mantiene en segundo plano realizando algunas tareas como pueden ser la de mantener el relog, controlar temperaturas, etc…

 

Como nota, comentar que prácticamente todas las tarjetas de video disponen de su propio BIOS, el cual es ejecutado nada más encender un ordenador y se encarga del manejo de la misma en todo momento sin delegar esa tarea a la BIOS de la placa base.

 

El código de un BIOS, por razones de compatibilidad, se ejecutan a nivel de 16 bits, lo que es un limitante para dispositivos de hardware actuales que requieren de niveles de 32 y hasta 64 bits para poder desarrollar todo su potencial. Cuando Intel comenzó el desarrollo de los procesadores Intel Itanium, los sistemas de arranque BIOS se vieron superados por los altos requerimientos de estos procesadores, con lo que comenzó a elaborar un nuevo sistema de arranque que en un principio denominó IBI y luego EFI. Aunque el patrocinador principal ha sido Intel, en el proyecto colaboran más de 140 empresas (entre ellas Intel, AMD, Microsoft, HP) con el objetivo de desarrollar un sustituto para el sistema BIOS que claramente comienza a ser obsoleto.

 

los principales proveedores de BIOS son AMI (American Megatends) y Phoenix Technologies (que compró Award Software International, que había sido otra de las principales desarrolladoras de los sistemas BIOS). Aparte de esas dos compañías, han aparecido proyectos libres como alternativas, siendo la más destacada Coreboot, aunque es solo compatible con una selecta lista de placas base.

 

UEFI comenzó a usarse a partir de la aparición de Windows 8 y especialmente en equipos HP, principal usuaria de los Intel Itanium y sus sucesores, y progresivamente está siendo usado en más equipos y se espera que termine por ser el sistema principal de arranque de computadoras y termine por sustituir completamente a los sistemas BIOS.

 

 

Aparte de estar adaptado a los actuales requerimientos de hardware, UEFI incorpora una serie de mecanismos de seguridad mucho más elevados que los sistemas BIOS.

Para comenzar diremos que un sistema UEFI ya no depende de un chip ROM para almacenarse, sino que puede ser guardado en cualquier medio sea o no volátil, pudiendo por ejemplo cargarse desde el mismo disco duro, una memoria flash, el mismo procesador o CPU u otro tipo de recurso, incluso puede tener parte de su código ubicado en diferentes sitios.

A diferencia de BIOS, UEFI no necesita un sistema determinado de estructura de particiones para iniciar un sistema operativo, lo cual da una libertad tremenda. Un problema típico en el que un sistema BIOS no podía delegar funciones a un sistema operativo era por ejemplo que la tabla de particiones estuviese corrupta o dañada y no lograse reconocer el sistema operativo (¿Cuántas veces no habremos usado el MBR Regenerator o tratado de usar el disco de recuperación de Windows?). Esta particularidad de poder ejecutarse desde cualquier ubicación le da una capa adicional de seguridad al poder ejecutarse en modo protegido desde el mismo procesador o CPU.

 

El hecho de poder ejecutar código en 32 y 64 bits le permite poder acceder a posiciones de memoria inaccesibles por los sistema de 16 bits de BIOS. Esto hace que un sistema UEFI pueda manejar e iniciarse desde discos duros enormes con hasta 128 particiones y capacidades de hasta 9,4 ZB a través de la tabla de particiones GPT, a diferencia de MBR (sistema usado para sistemas BIOS) que solo puede manejar hasta 4 particiones por disco y un total de 2,2 TB.

 

Debido a la capacidad de ser independiente de una determinada arquitectura, y CPU, y poder ejecutarse modularmente, puede cargar instrucciones, drivers, controladores y servicios o incluso incluir capacidades de red sin necesidad de cargar ningún sistema operativo. Esto hace que los sistemas operativos carguen más rápido al no ser el mismo sistema operativo el que tenga que iniciar estos servicios. (ya sé que he sido muy repetitivo con sistema operativo…pero no supe explicarme mejor).

 

Debido a que aún hay operativas una buena cantidad de placas y computadoras de cierta antigüedad no compatibles con UEFI, se puede configurar el inicio para que se ejecute en modo de compatibilidad heredada y usar así particiones MBR, principalmente en sistemas operativos de 32 bits.

 

Otra de las características de los sistemas UEFI es el llamado Secure Boot o Inicio Seguro. Este sistema solo se puede activar si el inicio está configurado como UEFI y sin Compatibilidad Heredada (Legacy Support) activada en la BIOS del equipo, de ahí que los equipos que disponen de UEFI aun dispongan de un sistema BIOS.

 

 

El Secure Boot usa una base de datos de certificados de autenticidad para fabricantes de dispositivos hardware, firmware y controladores, los cuales el fabricante de esos dispositivos y equipos considera de confianza. Si un malware lograse modificar un driver de un dispositivo, por ejemplo, este no será cargado al carecer de ese certificado de confianza. Además, Secure Boot también evita que se sobreescriban o flasheen o actualicen controladores no firmados digitalmente por el fabricante, lo que da un mecanismo de seguridad mucho más elevado que en BIOS, el cual podía actualizarse su firmware (su código base de funcionamiento) sin necesidad de verificaciones.

 

 

Dado que actualmente aún hay innumerables fabricantes que, aun poseyendo un certificado de seguridad, no están agregados a esa base de datos o que aún no se han actualizado y que muchos dispositivos de hardware son anteriores a este sistema UEFI, podemos desactivar el Secure Boot para que los controladores de estos dispositivos puedan ser cargados.

 

Es posible que en algunos casos, un dispositivo disponga de un certificado de confianza, pero no sea compatible con el resto del equipo o el sistema operativo. En esos casos, los controladores serán cargados igual por UEFI, pero para evitar errores, los sistemas operativos compatibles con Secure Boot (Windows 10, por ejemplo, que es compatible con UEFI y Secure Boot), eliminará ese controlador.

Comentar además, que esos certificados y formas de autenticidad y confianza, pueden ser incorporados directamente en el propio dispositivo, no es necesario que sea un archivo almacenado en el disco duro, por eso la verificación de confianza se puede hacer antes de cargar el sistema operativo, que en los sistemas BIOS es el encargado de esa tarea y por lo tanto más inseguro.

 

0 comentarios