Existe una creencia bastante extendida que dice precisamente eso: UEFI y Secure Boot es algo creado por Microsoft para blindar Windows asegurándose de que los equipos informáticos no puedan instalar otros sistemas operativos como cualquier distribución Linux.
En realidad esto es falso, aunque es cierto que UEFI está ligada a Microsoft y que una de sus funciones es la de blindar su sistema operativo, pero no contra Linux, sino contra bootkits, ramsonwares y otros tipos de malware. UEFI no es propiedad de MS, de hecho Apple lleva incorporando este estándar en todos los Mac desde 2006.
Pero para llegar a esto primero se han de comprender una serie de claves:
¿Qué es UEFI?
La Interfaz de Firmware Extensible Unificada o como se la conoce por sus siglas en ingles UEFI es la especificación que define a la interfaz entre el firmware y el sistema operativo que está intentando ocupar el sitio de la antigua BIOS desarrollada por IBM desde 1975, un sistema de 16 bits con acceso tan sólo a 1MB de memoria.
¿Cuándo y por qué se desarrolló?
La Fundación UEFI oficialmente existe desde desde 2005 y en sus inicios estaba formado por las empresas Intel, AMD, Apple, Dell, Lenovo y Microsoft. A día de hoy está formada por más de 250 empresas muy importantes del sector tecnológico, como por ejemplo Canonical. Fue creada como plataforma de desarrollo de EFI (sin la “U”), un proyecto de Intel y Hp de mediados de los 90 durante el desarrollo del procesador Itanium. Pensaban que la antigua BIOS limitaba el potencial de estos nuevos procesadores.
¿Qué ventajas tiene UEFI con respecto a BIOS?
¿ Qué desventajas tienen las UEFI?
¿Qué dispositivos utilizan UEFI?
A diferencia de lo que se cree, no sólo los equipos con Windows utilizan UEFI, sino que también lo incorporan smartphones y tablets, habiéndose instalado en multitud de dispositivos como impresoras, escáneres, routers y dispositivos de almacenamiento.
¿Qué es y para qué sirve Secure Boot?
Es un sistema que garantiza que sólo los sistemas operativos autorizados inicien el equipo.
Secure Boot está pensado para proteger a los usuarios de rootkits que tomen el control del sistema operativo. Un ejemplo de esto son los temidos ataques por ransomware que son capaces de cifrar una parte del disco duro inutilizándolo, para después de que la víctima haga un pago en concepto de rescate, el atacante proporcione la clave que permita desencriptar el disco. También puede ser usado para restringir el arranque desde un pendrive o un disco duro, evitando un posible robo de datos.
Funciona contrastando la firma cifrada del arrancador del sistema operativo, un archivo.efi alojado en la partición EFI, con una base de datos del firmware. También impide la instalación de drivers de terceros hasta después de la instalación del sistema operativo. Esto, aunque para Windows no supone un problema, a los usuarios de algunas distribuciones de Linux como Ubuntu puede afectarle, puesto que ésta y otras distribuciones permiten la descarga de controladores de terceros, como gŕaficas y WiFi, durante la instalación. Ubuntu, una distribución 100% compatible con UEFI, permite deshabilitar temporalmente Secure Boot desde la instalación estableciendo una contraseña (aunque yo he probado esta opción y he de decir que no me ha funcionado)
¿Cómo se obtienen las firmas de autorización?
Para que un sistema operativo obtenga la clave de autorización la tiene que comprar. La única Autoridad de Certificación (CA) es Microsoft, es decir MS es el único capaz de dar nuevas autorizaciones fuera de la Fundación UEFI. Comprar una de estas claves tiene un coste de 99$ que no cobra Microsoft sino una entidad llamada Symatec que es la que en último término certifica. Dentro de Fundación se ha hablado de crear una nueva CA para que la comunidad de código abierto se pudiera beneficiar, pero el coste de millones de dólares hace inviable económicamente esta idea
La comunidad Linux ha tomado distintas soluciones. Por un lado Canonical, como es miembro de esta fundación tiene una clave propia. Esto hace que Ubuntu y sus derivados utilicen la clave de Canonical. Por otro, está RedHat, que es propietario de una clave comprada a la CA de Microsoft. Hay que decir que RedHat, en un gesto de generosidad, ha puesto a disposición de cualquier distribución Linux su clave de forma completamente gratuita.
Microsoft tiene claro que estás claves no pueden ser otorgadas a proyectos con licencia GPLv3 (o similar) lo que impediría el uso a GRUB2 o módulos que, según ellos, permiten la ejecución de código poco confiable, poniendo de ejemplo a GRUB 0.9.
Conclusión:
Cierto es que Windows al ser uno de los primeros en apoyar este proyecto arrastró a los fabricantes a usar este estándar (existían otras alternativas libres como Coreboot y Uboot, aunque pasó exactamente lo mismo en la década de los 80 cuando MS hizo despegar a BIOS) y es el que mejor aprovecha esta tecnología; pero también es cierto que es el deber de la comunidad Linux actualizarse, hacerse compatible y sacar provecho de las posibilidades que ofrece UEFI, como ya han hecho distribuciones como Ubuntu, RedHat o Suse. No obstante desactivando Secure Boot se puede instalar casi cualquier distribución Linux de 64 bits.
Fuentes y enlaces de interés:
En realidad esto es falso, aunque es cierto que UEFI está ligada a Microsoft y que una de sus funciones es la de blindar su sistema operativo, pero no contra Linux, sino contra bootkits, ramsonwares y otros tipos de malware. UEFI no es propiedad de MS, de hecho Apple lleva incorporando este estándar en todos los Mac desde 2006.
Pero para llegar a esto primero se han de comprender una serie de claves:
¿Qué es UEFI?
La Interfaz de Firmware Extensible Unificada o como se la conoce por sus siglas en ingles UEFI es la especificación que define a la interfaz entre el firmware y el sistema operativo que está intentando ocupar el sitio de la antigua BIOS desarrollada por IBM desde 1975, un sistema de 16 bits con acceso tan sólo a 1MB de memoria.
¿Cuándo y por qué se desarrolló?
La Fundación UEFI oficialmente existe desde desde 2005 y en sus inicios estaba formado por las empresas Intel, AMD, Apple, Dell, Lenovo y Microsoft. A día de hoy está formada por más de 250 empresas muy importantes del sector tecnológico, como por ejemplo Canonical. Fue creada como plataforma de desarrollo de EFI (sin la “U”), un proyecto de Intel y Hp de mediados de los 90 durante el desarrollo del procesador Itanium. Pensaban que la antigua BIOS limitaba el potencial de estos nuevos procesadores.
¿Qué ventajas tiene UEFI con respecto a BIOS?
- Permite trabajar con discos duros grandes o enormes puesto que en teoría soporta a 8 Zettabytes (más de 8000 millones de TB!!). La antigua BIOS sólo estaba pensada para discos de 2 TB como máximo, algo que en los 80 era una barbaridad. También trae soporte completo para la tabla de particiones GPT que permite hasta un máximo de 128 particiones primarias. La vieja MBR sólo contemplaba 4.
- UEFI es capaz de acceder a la totalidad de RAM instalada (BIOS sólo a un miserable MB) y aunque se aloja en una memoria sólida alojada en la placa al igual que la BIOS, es modular y capaz de ampliarse a través de una partición en el disco duro -la partición EFI- haciendo que funcione como un sistema operativo en miniatura.
- UEFI ofrece controladores independientes del procesador, haciendo posible tener gráficos, utilizar mouse, estar conectado en red para gestión remota o dar soporte a sistemas de virtualización o a nuevas tecnologías como el TurboBoost, algo impensable hace unos años.
- Es más rápido. Una de las características más destacable es que los tiempos de arranque se reducen con respecto a la BIOS
- Es más seguro. Al implementar el sistema Secure Boot, del que hablaré en el siguiente punto, se minimizan los riesgos de que terceros instalen bootkits o rootkits o en el mundo empresarial para impedir el acceso al equipo desde un pendrive o un disco duro externo impidiendo la fuga de datos.
- Es modular y por lo tanto ampliable. Esta característica pasa desapercibida para el usuario final pero los desarrolladores es una gran ventaja, puesto que pueden ampliar o modificar sin necesidad de partir siempre desde cero.
- Es compatible con la antigua BIOS. Adopta muchas de las características de BIOS y prácticamente todos los fabricantes ofrecen un modo "BIOS Legacy" para la instalación de los SO que aún no se hayan adaptado a este cambio.
¿ Qué desventajas tienen las UEFI?
- A diferencia de las BIOS que eran unos sistemas de 16 bits pero que permitían arquitecturas de 16, 32 y 64, con BIOS el fabricante debe elegir una; normalmente 64 bits, y después, únicamente, se podrán instalar sistemas operativos de esa arquitectura. La práctica totalidad de PC’s con UEFI sólo admiten sistemas operativos de 64 bits, impidiendo así instalar ciertas distros que sólo se distribuyen en 32 bits (Por ejemplo Wifislax, aunque ya está trabajando en una versión alpha de 64 bits)
- Otro inconveniente es que la Fundación UEFI deja en manos de los fabricantes la implementación de los protocolos haciendo que existan divergencias entre uno y otro fabricante. Esto puede ocasionar que algunas opciones estén disponibles sólo en algunos equipos o que la forma de actuar difiera entre marcas. No obstante, existen normas de obligado cumplimiento, como la posibilidad de deshabilitar Secure Boot en los equipos que incorporen esta característica (Apple, por ejemplo, no usa esta particularidad)
- La principal desventaja para muchos usuarios de Linux es que hay distribuciones que aún no se han adaptado al 100% a UEFI, necesitando que el usuario configure manualmente el arrancador en la partición EFI. Las principales distribuciones, todas las basadas en Ubuntu, RedHat y Suse, tienen automatizado el proceso durante la instalación.
¿Qué dispositivos utilizan UEFI?
A diferencia de lo que se cree, no sólo los equipos con Windows utilizan UEFI, sino que también lo incorporan smartphones y tablets, habiéndose instalado en multitud de dispositivos como impresoras, escáneres, routers y dispositivos de almacenamiento.
¿Qué es y para qué sirve Secure Boot?
Es un sistema que garantiza que sólo los sistemas operativos autorizados inicien el equipo.
Secure Boot está pensado para proteger a los usuarios de rootkits que tomen el control del sistema operativo. Un ejemplo de esto son los temidos ataques por ransomware que son capaces de cifrar una parte del disco duro inutilizándolo, para después de que la víctima haga un pago en concepto de rescate, el atacante proporcione la clave que permita desencriptar el disco. También puede ser usado para restringir el arranque desde un pendrive o un disco duro, evitando un posible robo de datos.
Funciona contrastando la firma cifrada del arrancador del sistema operativo, un archivo.efi alojado en la partición EFI, con una base de datos del firmware. También impide la instalación de drivers de terceros hasta después de la instalación del sistema operativo. Esto, aunque para Windows no supone un problema, a los usuarios de algunas distribuciones de Linux como Ubuntu puede afectarle, puesto que ésta y otras distribuciones permiten la descarga de controladores de terceros, como gŕaficas y WiFi, durante la instalación. Ubuntu, una distribución 100% compatible con UEFI, permite deshabilitar temporalmente Secure Boot desde la instalación estableciendo una contraseña (aunque yo he probado esta opción y he de decir que no me ha funcionado)
¿Cómo se obtienen las firmas de autorización?
Para que un sistema operativo obtenga la clave de autorización la tiene que comprar. La única Autoridad de Certificación (CA) es Microsoft, es decir MS es el único capaz de dar nuevas autorizaciones fuera de la Fundación UEFI. Comprar una de estas claves tiene un coste de 99$ que no cobra Microsoft sino una entidad llamada Symatec que es la que en último término certifica. Dentro de Fundación se ha hablado de crear una nueva CA para que la comunidad de código abierto se pudiera beneficiar, pero el coste de millones de dólares hace inviable económicamente esta idea
La comunidad Linux ha tomado distintas soluciones. Por un lado Canonical, como es miembro de esta fundación tiene una clave propia. Esto hace que Ubuntu y sus derivados utilicen la clave de Canonical. Por otro, está RedHat, que es propietario de una clave comprada a la CA de Microsoft. Hay que decir que RedHat, en un gesto de generosidad, ha puesto a disposición de cualquier distribución Linux su clave de forma completamente gratuita.
Microsoft tiene claro que estás claves no pueden ser otorgadas a proyectos con licencia GPLv3 (o similar) lo que impediría el uso a GRUB2 o módulos que, según ellos, permiten la ejecución de código poco confiable, poniendo de ejemplo a GRUB 0.9.
Conclusión:
Cierto es que Windows al ser uno de los primeros en apoyar este proyecto arrastró a los fabricantes a usar este estándar (existían otras alternativas libres como Coreboot y Uboot, aunque pasó exactamente lo mismo en la década de los 80 cuando MS hizo despegar a BIOS) y es el que mejor aprovecha esta tecnología; pero también es cierto que es el deber de la comunidad Linux actualizarse, hacerse compatible y sacar provecho de las posibilidades que ofrece UEFI, como ya han hecho distribuciones como Ubuntu, RedHat o Suse. No obstante desactivando Secure Boot se puede instalar casi cualquier distribución Linux de 64 bits.
Fuentes y enlaces de interés:
- http://www.uefi.org/faq
- http://www.uefi.org/members
- http://www.uefi.org/sites/default/files/resources/UEFI_Plugfest_2013_-_New_Orleans_-_Microsoft_UEFI_CA.PDF (lás páginas 12/15 son realmente interesantes)
- http://www.uefi.org/sites/default/files/resources/UEFI_Secure_Boot_in_Modern_Computer_Security_Solutions_2013.pdf
- http://www.uefi.org/sites/default/files/resources/A_Tale_of_Two_Standards_0.pdf
- https://es.wikipedia.org/wiki/Extensible_Firmware_Interface
- http://electronicdesign.com/dev-tools/11-myths-about-uefi
- https://en.wikipedia.org/wiki/Ransomware_(malware)
- http://www.alphr.com/features/381565/uefi-bios-explained
- http://blog.desdelinux.net/secure-boot-red-hat-y-canonical-presentan-sus-alternativas/# (gracias a @Lopez-Doriga por el enlace y por darme las pistas necesarias)
- http://www.xataka.com/otros/efi-extensible-firmware-interface-a-fondo
- http://blog.elhacker.net/2013/03/diferencias-entre-efi-vs-bios-mbr-vs-gpt-windows-linux-arranque-dual-grub.html
- https://es.wikipedia.org/wiki/Coreboot
- http://www.stlinux.com/u-boot
- https://es.opensuse.org/openSUSE:UEFI