epespad

¿Secure Boot está creado por Microsoft protegerse de Linux?

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.

¿Secure Boot está creado por Microsoft protegerse de 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.

symantec

¿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.


uefi



¿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.


coreboot


¿ 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.

secure boot linux


¿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)

forum uefi


¿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.

ventajas uefi vs bios


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

16 comentarios - ¿Secure Boot está creado por Microsoft protegerse de Linux?

lucasemperador
Muy interesante!!

ahí fueron mis puntos
abrazo!!
Arg0s1080
Gracias amigo!!
Zero527
Gracias, eso explica por que solo con UEFI puedo tener más de 4 particiones primarias
Zero527
@Arg0s1080 si, pero no es tan util
Larsen__
@Arg0s1080 y con configuracion de disco con tabla de particiones GPT y BIOS?
Arg0s1080
@Larsen__ Si tienes GPT 128 particiones primarias... aunque dudo que consigas hacer arrancar ningún SO.. GPT fue creado como parte de la especificación EFI. Podrías tenerlo en un disco externo o en otro que no tuviera que iniciar nada.
jor1196
+10, tema interesante y auditoria propia
Lopez-Doriga
Buen Post papu buena info para saber más del tema
eskabio
+10 muy buena info
matute_451
+10 muchacho, muy bien explicado el choreo del UEFI
sluvoni
Esta bueno, hasta que se le ocurre no andar y fuiste. Magia negra para recuperarlo
markofilth +1
Resumen: No
Arg0s1080 +1
resumen lvl5:
- UEFI no es un invento de Microsoft para cagar a Linux (Apple por ej lo utiliza en todos los Mac desde 2006).
- UEFI es la actualización y el futuro de BIOS
- Secure Boot está diseñado para proteger a los SO de malware
- La comunidad Linux se debe adaptar a esta tecnología
Setubal
en la pc tengo 3 discos
Windows 10 home
Windows 10 pro
Suse Leap 42.1 (Secureboot)
cesarzeta
Muy buen post. Esclarecedor.
rodhalpern +2
Hay que hacer algunas observaciones . . .

1.- Si bien hay una fundación para el SecureBoot, y Symantec Certifica, la certificación es dependiente del líder del proyecto que es MS.
2.- SecureBoot SI NACIÓ para evitar la instalación de otros sistemas operativos diferentes a Windows 8 (en su momento) en equipos que tuvieran Windows preisntalado. Fue una de los intentos de Ballmer para evitar el crecimiento de Linux en los equipos de escritorio, y ciertamente se venia discutiendo al menos hacia 10 años la necesidad de jubilar el BIOS en pro de un sistema que permitiera todo lo que hace hoy el UEFI. La oportunidad hizo al pillo de Ballmer tomar la decisión rápidamente.
3.- Si la certificación pasa por una instancia diferente a MS, pero finalmente debe ser por MS, entonces MS termina teniendo acceso a todas las mejoras que se hacen en los sistemas Linux por medios "oficiales" ¿Nadie ha visto que Windows es cada vez mas parecido a KDE?
¿que pasa con los teléfonos inteligentes y las tabletas?
Terminan teniendo SecureBoot, y por tanto, ¿Android termina pagando a MS por la posibilidad de ejecutarse en un terminal que NUNCA tuvo como objetivo tener windows?
4.- La discusión de si una maquina puede ir sin OS de fabrica, o si puede o no el usuario cambiar el OS quedaba zanjada. Linux originalmente NO tenia como arrancar con maquinas con UEFI.
US$ 99 no es realmente mucho dinero, pero ¿¿¿ que pasa con los desarrolladores chiquitos, o los adolescentes que quieren desarrollar su propia versión de linux y ciertamente no tienen acceso a esos US$100 o no entienden la "burrocracia" estúpida de la adquisición de licencias porque a una empresa se le ocurrió controlar la gestación de sistemas operativos?
Es cierto que Canonical adquirió una licencia, y que RedHat libero su licencia, ¿pero en este proceso, no se vulnera la idea central de UEFI de proteger contra todo lo que no este digitalmente firmado por MS de malwares y rootkits? ... ¿y porque MS cree que Linux / Grub y eventualmente cualquier software desarrollado por GPLv3 es riesgoso cuando MS es seguro? ¿Los datos de virus Bulletin son congruentes con esta creencia?

Podría seguir un rato largo, porque la discusión se pone técnica y filosófica. Poro la verdad es que, SI NECESITÁBAMOS UEFI, NO NECESITÁBAMOS SecureBoot.

Si bien le debemos (de nuevo) muchísimo a RedHat (no asi a Canonical... para variar) por defender a todos los desarrolladores y la comunidad linux, esta misma discusión fue duramente criticada por Linus Torval en su momento, lo que llevo mas de un berrinche, gritos y frustraciones, porque al cerrar las posibilidades de que nuevas personas entrarar al mundo linux, sea como desarrollador, empaquetador, o solo usuario, enlenteces el proceso de extensión y aprendizaje de las nuevas tecnologías y COARTAS LA LIBERTAD DE ELECCIÓN.

Para los que se creen de derecha o de izquierda, esta discusión es transversal... afecta LA LIBRE ELECCIÓN y el DERECHO DE PROPIEDAD de una maquina, limitando sus posibilidades a las que una o varias empresas en posición monopólica impone su criterio y conveniencias.
rodhalpern +1
@Arg0s1080 ¿En serio?
Estas considerando solamente la arquitectura x86.
El problema del SB es que escalo a toda la arquitectura, incluyendo la ARM.
Yo no lo veo tan innocuo. Pasa que la comunidad reacciono más rápido y eficientemente de lo que MS logro preveer, siendo una comunidad técnica e inteligente... nada que hacer... ÍDOLOS
Arg0s1080
@rodhalpern son los fabricantes quienes eligen incluir SB.. si samsung, lg, o quien sea lo decide no creo que lo haga pensando que dependerá de MS
rodhalpern +1
@Arg0s1080 No necesariamente. Cuando haces negocios a ese nivel, muchas veces amarras un producto a otro, o una concesión a otra. Es poco probable saber realmente lo que pasa ahí, a menos que estés ahí.
ASIMOV14 +1
El algunos computadores lo puedo desactivar e instalar Linux en dual boot, en otros aunque lo desactive no me reconoce el linux ,es una mierda.
Arg0s1080 +2
Hace unos días ayudé a 1 chica que podía instalar Mint pero su equipo no lo reconocía. Lo que hago en mi bios es:
1.- Entrar en la BIOS
2.- En “Security” ir a “Select an trusted UEFI file for to execute:” para navegar por la partición EFI.
3.- Ir al directorio HDD0/EFI/UBUNTU
4.- Aparecerán varios booters.. de los mostrados seleccionar “grubx64.efi”
5.- Escribir la descripción y aceptar (por ej: “GRUBx64”)
6.- Guardar los cambios, reiniciar y volver a entrar en la BIOS.
Arg0s1080 +2
7.- Ir a la sección boot y pasar la nueva entrada creada (“GRUBx64”) a la 1ª posición con F5/F6.
8 .- Guardar los cambios y reiniciar.
Nota: Para poder hacer todos estos pasos debes establecer una contraseña para la bios y ACTIVAR Secure Boot (Si no esa parte de “Security” no estará accesible)
Espero que te sirva de algo,
Salu2
ASIMOV14
@Arg0s1080 Muchas gracias lo voy a intentar
darkziik
Bastante información y muy buena En mi opinión, Microsoft y sus "brazos abiertos" hacia el software libre me parece más una trampa caza bobos, jamás un usuario de linux experimentado y libre pasará a usar un SO de pago, jamás. Los que si pueden cambiarse serán los que tienen poca o nada de expieriencia en linux, sobre esos usuarios es que Microsoft trata de implementar su estrategia. Con todo esto del UEFI y el SB fue Microsoft uno de los primeros beneficiados (si no el primero), nada raro conociendo sus antiquisimas practicas monopolisticas
Arg0s1080 +1
lo de la "campaña" de brazos abiertos de MS es una táctica para penetrar en el mercado y no aislarse.. ahora donde está el grueso del pastel es en los dispositivos móviles y en la nube.. si no engancha de alguna forma a los desarrolladores puede que los pierda para siempre. En lo que no estoy de acuerdo es lo de UEFI y SB..es la evolución natural de BIOS, Apple por ej lo utiliza desde 2006 en todos los Mac