Este documento discute el tema de UEFI y el arranque seguro. Explica que UEFI es una interfaz entre el sistema operativo y el firmware que reemplaza a la BIOS tradicional y permite funciones avanzadas. También describe cómo el arranque seguro de UEFI solo permite que se ejecuten drivers y cargadores de arranque firmados digitalmente, lo que plantea problemas para sistemas operativos alternativos como Linux. Finalmente, resume las soluciones adoptadas por distribuciones como Fedora, Ubuntu y la Fundación Linux para abordar estos desafí
5. UEFI y
THEN THEY LAUGH AT YOU
We think of Linux as a competitor
in the student and hobbiest market
but I really don’t think in the
commercial market we’ll see it in
any significant way
- Bill Gates [2001]
6. UEFI y
THEN THEY FIGHT YOU
Linux isn’t going away
Linux is a serious competitor
We will rise to this challenge
- Steve Ballmer [2003]
14. UEFI y
UEFI
Supera las limitaciones de la PC
BIOS
16 bits
1 MB de direccionamiento
Dependiente del HW PC AT
15. UEFI y
UEFI
Intel entrego la especificación al
UNIFIED EFI FORUM
EFI Spec v 1.10 – July 2005
UEFI Spec v 7 – Jan 2007
UEFI Spec v 2.3.1 – Apr 2011
17. UEFI y
UEFI
Arranque desde discos superiores a
2 TiB
Soporte a GPT
Independiente de CPU y Arch
Provee servicios
Soporte a red, UI, Auth, Cryptografía
Diseño modular
18. UEFI y
UEFI
Soportado como bootloader
desde el 2003 en Linux
ELILO: Desarrollo de HP e Intel
para dar soporte a Itanium
Ultima versión 3.14 – Jan 2011
Soporta TFTP/DHCP
Usado para correr Linux en Mac
19. UEFI y
UEFI
También tiene soporte a nivel de
kernel config
CONFIG_FB_EFI=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_EFI=y
CONFIG_EFI_VARS=y or m
CONFIG_EFI_PARTITION=y
21. UEFI y
UEFI
Servicios de boot
Únicamente disponibles al
arranque
Servicios de runtime
Disponibles al OS en ejecución
22. UEFI y
UEFI
Device drivers
Independiente de CPU
Diferentes a los del OS
Soporte gráfico
Soporte a Graphics Output
Protocol (similar a VGA pero
diferente !?)
23. UEFI y
UEFI
Booting
Maneja el OS loader como una
aplicación UEFI
Incluye una UI para seleccionar
el OS u otras opciones
24. UEFI y
THEN THEY FIGHT YOU
UEFI
Secure Boot
Impide el proceso de arranque
previniendo la carga de drivers u
OS Loaders que no estén
firmados por una llave digital
aceptada.
27. UEFI y
UEFI Platform Key instalada
en la fabricación
La DB ALLOWED
contiene las firmas de
los componentes de
firmware y de los OS
Loaders permitidos
La DB DISALLOWED
contiene firmas de
”malware”
(componentes de
firmware y OS Loaders
considerados malware)
30. UEFI y
UEFI
THEN THEY FIGHT YOU
Por qué, sí EFI lo desarrolló Intel y
HP ??
Por qué si UEFI es liderado por
una organización colaborativa sin
ánimo de lucro (UEFI FORUM)?
32. UEFI y
UEFI
El problema NO ES UEFI
El problema NO ES SECURE
BOOT*
El problema son las OPCIONES
33. UEFI y
Secure Boot
SI provee seguridad adicional
Existen ataques a pre-boot envs
Top 20 Viruses in History (trendmicro)
34. UEFI y
Secure Boot
Que curioso!! los ataques justo
volvieron en el 2011
https://twitter.com/Kleissner/status/137119688789467136
35. UEFI y
Secure Boot
SB NO es igual a TPM
Trusted boot controla todo el arranque del
OS. SB solo limita qué corre antes que el
OS
SB NO es para implementar DRM
El OS no sabe que se ejecuto antes, confia
en SB y solo conoce lo que falló
36. UEFI y
Secure Boot
NO provee seguridad física
El OS no tiene forma de saber si
el firmware fue modificado
NO fue diseñado por la CIA
37. UEFI y
Secure Boot
Define la interacción entre firmware y
bootloader
OJO:
Busca asegurar que solo código autenticado
corra antes que el OS. Pero NO lo garantiza
Todo lo que toque el hardware debe estar
firmado.
39. UEFI y
Secure Boot
UEFI PERMITE explicitamente que
el usuario tenga la OPCIÓN de
ignorar fallas en el SB de manera
presencial.
MICROSOFT EXIJE QUE NO SEA
ASÍ
40. UEFI y
Secure Boot
”Solo las máquinas que quieran
correr Windows requieren las
llaves de Microsoft”
?????????????????????????
?????????????????????????
?????????????????????????
41. UEFI y
LOCK – IN ALERT
Para correr windows solo se
necesita la llave de Microsoft, el
osloader estará firmado con una
llave encadenada a la que tiene el
HW (la de microsoft)
42. UEFI y
LOCK – IN ALERT
Ahora los fabricantes de tarjetas
necesitan que el UEFI cargue
tambien sus drivers. Por lo tanto
necesitarían instalar sus propias
llaves en el HW para que UEFI
cargue sus drivers.
43. UEFI y
LOCK – IN ALERT
Según PCIDatabase existen cerca
de 1600 fabricantes de tarjetas PCI.
Esto implica que todos los
computadores incluyan las 1600
llaves. ¿es esto viable?
44. UEFI y
LOCK – IN ALERT
¿Cada cuanto sale un nuevo modelo de
computador?
¿Cada cuanto fundan una nueva
empresa de HW?
¿Como controla el firmado seguro, el
despliegue de firmas, etc?
SERIAES INMANEJABLE
45. UEFI y
LOCK – IN ALERT
GRACIAS MICROSOFT!!!
http://www.youtube.com/user/TheLinuxFoundation#p/u/8/ZA2kqAIOoZM
Regalo de Microsoft a Linux en sus 20 años
47. UEFI y
SOLUCIÓN (?)
Cada fabricante certifica su HW y
firma sus UEFI drivers con
Microsoft bajo el programa WHQL
UEFI solo permite una única firma
en el objeto (driver, bootloader)
48. UEFI y
SOLUCIÓN (?)
Si el fabricante del PC quiere
soportar tarjetas PCI que ya hayan
sido firmadas bajo el programa
WHQL, pues incluye la llave de
Microsoft.
52. UEFI y
Recomendaciones Red Hat / Canonical
Que todos los OEM permitan deshabilitar
SB fácilmente
OEM y BIOS vendors deben usar un método
estandár para configurar llaves en el
firmware
Que el HW se despache en modo setup
para que el OS instale la llave inicial
53. UEFI y
Recomendaciones Linux Foundation
Despacho de equipos en modo setup y
mecanismo estándar para cargar llaves.
Crear una autoridad independiente de
certificados para manejar todas las
llaves UEFI
54. UEFI y
SOLUCIÓN (!!)
Fedora / Red Hat
Internamente estudiaron la posibilidad de
generar una llave para ser instalada en el
HW (estrategia MSFT)
También la de generar una llave ”linux”
genérica para cualquier distro
55. UEFI y
SOLUCIÓN (!!)
Fedora / Red Hat
La solución :
Pagar USD99 a Verisign (quien
certifica las llaves de Microsoft)
para que firme un bootloader de
primera etapa (shim)
56. UEFI y
SOLUCIÓN (!!)
Canonical
Inicialmente decidió adoptar la
misma estrategia de Microsoft
para evitar inconvenientes con
el GPLv3 de Grub2
57. UEFI y
SOLUCIÓN (!!)
Canonical
Finalmente y después de
muchas discusiones con la FSF
adoptaron la misma estrategia
de Red Hat.
58. UEFI y
SOLUCIÓN (!!)
Linux Foundation
Adoptó la misma estrategia de
Red Hat (pagar a Verisign por la
llave de Microsoft) pero
desarrollo un nuevo first stage
bootloader
59. UEFI y
SOLUCIÓN (!!)
Linux Foundation
Aunque va más allá. Permite al
usuario elegir que hacer en caso
de falla en el proceso SB.
60. UEFI y
SOLUCIÓN (!!)
Linux Foundation
Posiblemente será la solución
que adopten las distribuciones
más pequeñas.
66. Ubuntu Colombia
Más de 6 años como comunidad de Software Libre
Todo tipo de eventos
Festivales de instalacion, congresos, conferencias,
talleres, HackLabs, asados
Organización
Concilio de Ubuntu Colombia
Comunidad de Ubuntu Colombia
Miembros oficiales
Probablemente la comunidad de Software Libre
más grande y más activa en Colombia
69. Ubuntu Colombia
Comunidad en Colombia
LoCo Team oficial
www.ubuntu-co.com
Conferencias
Soporte
Proyectos
https://wiki.ubuntu.com/ColombianTeam
70. Ubuntu Colombia
Más información y bibliografía
https://wiki.ubuntu.com/QuantalQuetzal/ReleaseNotes
http://developer.ubuntu.com/
http://www.addictivetips.com/ubuntu-linux-tips/the-complete-g
http://www.ubuntu-co.com
https://wiki.ubuntu.com/ColombianTeam