Boot Linux seguro

Boot Linux seguro

Linux: ¿Qué es seguro de arranque??

En su inicio, una computadora ejecuta un programa específico para detectar e inicializar sus componentes de hardware. Tradicionalmente, las PC compatibles con IBM usan el sistema básico de salida de entrada (BIOS). En contraste, Macs usa OpenFirmware, Android tiene un cargador de arranque, solo, y un Raspberry Pi comienza desde un firmware que se mantiene en el sistema en un chip (SOC). Este paso inicial incluye verificaciones de hardware, así como la búsqueda de sistemas operativos disponibles en medios de almacenamiento que forman parte de la computadora, como un disco duro, CDROM/DVD, o una tarjeta SD, o conectados a ella a través de la red (Sistema de archivos de red (NFS) , PXE Boot).

La orden de búsqueda real depende de la configuración del BIOS de la computadora. La Figura 2 muestra una lista de dispositivos disponibles para arrancar desde.

Al final, se muestra una lista de sistemas operativos disponibles con parámetros específicos (llamados "Opciones de arranque disponibles") en un menú desde el que elige el sistema operativo deseado para comenzar.

Desde 2012, Secure Boot está en uso. Este artículo explicará qué es, cuál es la intención detrás de él y cómo funciona. Además, responderemos a la pregunta si se necesita arranque seguro para máquinas basadas en Linux, y cómo las distribuciones de Linux manejan este caso.


¿Qué es el arranque seguro??

Secure Boot se trata de confianza. La idea general detrás de esto es iniciar la máquina de manera segura para evitar que la computadora se ejecute con malware desde el principio. En general, un comienzo limpio con un sistema confiable es un enfoque para ser fuertemente respaldado.

Secure Boot es parte de la interfaz de firmware extensible unificada (UEFI): una interfaz central entre el firmware, los componentes individuales de la computadora y el sistema operativo [3]. Durante un período de aproximadamente cinco años, fue desarrollado por Intel y Microsoft como reemplazo para el BIOS. En 2012, versión 2.3.1 de UEFI se introdujo con Microsoft Windows 8. Microsoft hizo obligatorio que los fabricantes de computadoras implementen UEFI si quisieran obtener una certificación de Windows 8 para sus máquinas recientemente construidas [15].

Pero, ¿por qué Secure Boot se llama Boot Secure?? Lo que lo convierte en una opción de arranque segura? El arranque seguro solo permite el arranque de los cargadores de arranque asignados previamente y, por lo tanto, está destinado a evitar que el malware u otros programas no deseados comiencen. Un BIOS tradicional iniciaría cualquier software. Incluso permitiría que el malware, como un rootkit, reemplace su cargador de arranque. El RootKit podría cargar su sistema operativo y permanecer completamente invisible e indetectable en su sistema. Mientras que con el arranque seguro el firmware del sistema primero verifica si el cargador de arranque del sistema está firmado con una clave criptográfica. La clave criptográfica es una clave que ha sido autorizada por una base de datos contenida en el firmware. Solo si se reconoce la clave, permitirá que el sistema arrance. Dicha firma válida debe seguir una especificación de la Autoridad de Certificado de Microsoft UEFI (CA).


Perspectivas diferentes

A primera vista esto suena bastante bien, pero siempre hay dos lados de una moneda. Como las ventajas y desventajas habituales coexisten. Presione las revisiones alabar o demonizar el arranque seguro dependiendo de quién esté escribiendo la revisión.

Primero, tenga en cuenta que la autoridad sobre las claves criptográficas está en manos de un solo jugador global: Microsoft. Dar poder a millones de máquinas a una sola empresa nunca es una buena idea. De esa manera, Microsoft se asegura el control completo de su máquina. Con una sola decisión, Microsoft puede bloquear todo el mercado con un solo derrame cerebral y prohibir sus competidores y usted como cliente. mi.gramo. Si desea instalar hardware desde un fabricante diferente en una etapa posterior, deberá asegurarse de que la clave del nuevo componente se haya almacenado en el sistema de la base de datos. Dejándole con flexibilidad y opciones restringidas, especialmente si es un desarrollador.

En segundo lugar, no solo sus opciones de hardware están restringidas, sino que también las opciones de su sistema operativo están destinadas a ser limitadas debido a la tecnología UEFI introducida por Windows. Esto significa que está dificultando la vida de la comunidad de Linux. Antes de su uso en el hardware basado en UEFI, los cargadores de arranque de Linux como Grub tienen primero que ser certificados y, por lo tanto, disminuye los desarrollos bastante rápidos, ya que la comunidad de código abierto es conocida. Nadie sabe qué sucede si el validador central comete un error durante la validación o bloquea la versión de un software actualizado.

Tercero, ¿qué significa el término malware hoy y mañana?? ¿Incluye sistemas operativos de competidores [5] o están excluidos?? El proceso de validación se ejecuta detrás de las cortinas y nadie puede probarlo.

Cuarto, hay reservas con respecto a la seguridad. Según los desarrollos actuales, la longitud de las claves criptográficas es relativamente corta. Secure Boot solo permite certificados X509 y claves RSA con una longitud fija de 2048 bits [16]. En el futuro cercano, con el uso de la paralelización masiva y el poder actualizado basado en la virtualización, se espera que este nivel de seguridad se rompa. Hoy, se recomiendan claves criptográficas con una longitud de 4096 bits.

Quinto, parece que el software, que es ofrecido por un gran proveedor y certificado es seguro y sin errores. Como muestra la historia, todos sabemos que esto no es cierto, el software siempre contiene errores. Una certificación simplemente lo arrulla en falso sentido de seguridad.


Soluciones para código abierto

Pero donde hay un problema, también hay una solución. Microsoft ofrece generosamente la oportunidad para que los distribuidores de Linux accedan a su portal de Microsoft Sysdev para que sus cargadores de arranque se firmen [17]. Sin embargo, este servicio viene con un precio.

Las distribuciones de Linux solo tienen una "cuña" [11] firmada en el portal de Microsoft. La cuña es un pequeño cargador de arranque que lleva el cargador de arranque principal de las distribuciones de Linux. Microsoft solo verifica la cuña firmada y, a partir de entonces, sus botas de distribución de Linux normalmente. Esto ayuda a mantener el sistema Linux como de costumbre.

Como se informa de varias fuentes, (U) EFI funciona bien con Fedora/Redhat, Ubuntu, Arch Linux y Linux Mint Mint. Para Debian GNU/Linux no hay soporte oficial con respecto al arranque seguro [9]. De todos modos, hay una interesante publicación de blog sobre cómo configurar esto [18], así como una descripción en el wiki de Debian [14].

Alternativas a la UEFI

UEFI no es el único sucesor de la BIOS de PC: hay alternativas. Es posible que eche un vistazo más de cerca a Openbios [4], libreboot [7], firmware abierto [8,9] y CoreBoot [10]. Para este artículo no los probamos, pero es útil saber que existen implementaciones alternativas y funcionan sin problemas.


Conclusión

Como se mencionó anteriormente, la pregunta clave es la confianza. Con respecto a las computadoras, pregúntese en qué partes de su sistema confía: los componentes de hardware (firmware, chips, TPM) y/o los componentes de software (cargador de arranque, sistema operativo, software que está en uso). No puedes depurar todo el sistema. Puede ser útil saber que su sistema operativo no funciona en contra de sus intereses y que hace las cosas para las que ha comprado el sistema, de manera segura sin ser controlado por un monopolista.


Enlaces y referencias

  • [1] Kristian Kißling: Debian 9 STRING Ohne Secure Boot, Linux-Magazin
  • [2] UEFI Nachbearbeitung
  • [3] Efi y Linux: El futuro está aquí, y es horrible - Matthew Garrett
  • [4] Openbios, https: // openbios.Info/Welcome_to_openbios
  • [5] Hendrik Schwartke, Ralf Spenneberg: Einlaßkontrolle. UEFI-SECURE-BOOT UND alternativo BorriebsSysteme, Admin-Magzin 03/2014
  • [6] Bootvorgang Eines Apple Mac
  • [7] libreboot, https: // libreboot.org/
  • [8] Firmware abierto (Wikipedia)
  • [9] Firmware abierto, https: // github.com/Openbios
  • [10] CoreBoot, https: // www.CoreBoot.org/Welcome_to_coreBoot
  • [11] Shim (Github), https: // github.com/rboot/shim
  • [12] Thorsten Leemhuis: UEFI Secure Boot und Linux, preguntas frecuentes
  • [13] Bom Cromwell: ¿Cómo arranca Linux? Parte 3: UEFI para cuidar al siguiente enlace de la cadena
  • [14] SecureBoot en Debian, https: // wiki.debian.org/secureBoot
  • [15] Chris Hoffman: Cómo funciona el arranque seguro en Windows 8 y 10, y lo que significa para Linux
  • [16] James Bottomley: El significado de todas las llaves de UEFI
  • [17] Microsoft Hardware Developer Center, firma de firmware de la UEFI
  • [18] Boot seguro con pruebas de Debian

Agradecimientos

Frank Hofmann y Mandy Neumeyer son coautores del artículo. Los autores desean agradecer a Justin Kelly por su ayuda y comentarios críticos mientras escriben este artículo.