Secure Boot Linux

Secure Boot Linux

Linux: qu'est-ce que le démarrage sécurisé?

À son début, un ordinateur exécute un programme spécifique pour détecter et initialiser ses composants matériels. Traditionnellement, les PC compatibles IBM utilisent le système de sortie d'entrée de base (BIOS). En revanche, les Mac utilisent OpenFirmware, Android a un chargeur de démarrage, et un Raspberry Pi commence à partir d'un firmware conservé dans le système sur une puce (SOC). Cette étape initiale comprend des vérifications matérielles ainsi que la recherche de systèmes d'exploitation disponibles sur les supports de stockage qui font partie de l'ordinateur comme un disque dur, CDROM / DVD ou une carte SD, ou connecté à celui-ci via le réseau (Système de fichiers réseau (NFS) , PXE Boot).

L'ordre de recherche réel dépend des paramètres du BIOS de l'ordinateur. La figure 2 montre une liste des appareils disponibles pour démarrer à partir de.

À la fin, une liste des systèmes d'exploitation disponibles avec des paramètres spécifiques (appelés «Options de démarrage disponibles») s'affiche dans un menu à partir duquel vous choisissez le système d'exploitation souhaité pour démarrer.

Depuis 2012 Secure Boot est utilisé. Cet article expliquera ce que c'est, quelle est l'intention derrière elle et comment elle fonctionne. De plus, nous répondrons à la question si le démarrage sécurisé est nécessaire pour les machines basées sur Linux uniquement, et comment les distributions Linux gèrent ce cas.


Qu'est-ce que Secure Boot?

Secure Boot est une question de confiance. L'idée générale derrière elle est de démarrer la machine d'une manière sûre afin d'empêcher l'ordinateur de fonctionner avec des logiciels malveillants dès le début. En général, un début propre avec un système fiable est une approche à forte prise en charge.

Secure Boot fait partie de l'interface du micrologiciel extensible unifié (UEFI) - une interface centrale entre le firmware, les composants individuels de l'ordinateur et le système d'exploitation [3]. Pendant une période d'environ cinq ans, il a été développé par Intel et Microsoft en remplacement du BIOS. En 2012, version 2.3.1 de l'UEFI a été introduit avec Microsoft Windows 8. Microsoft a rendu obligatoire les fabricants informatiques pour implémenter l'UEFI s'ils souhaitaient obtenir une certification Windows 8 pour leurs machines nouvellement construites [15].

Mais pourquoi Secure Boot est-il appelé Secure Boot? Ce qui en fait une option de démarrage sécurisée? Secure Boot permet uniquement le démarrage à partir de chargeurs de démarrage précédemment attribués et est donc destiné à empêcher le démarrage de logiciels malveillants ou d'autres programmes. Un BIOS traditionnel démarrerait n'importe quel logiciel. Il permettrait même aux logiciels malveillants, comme un rootkit, de remplacer votre chargeur de démarrage. Le rootkit pourrait alors charger votre système d'exploitation et rester complètement invisible et indétectable sur votre système. Alors qu'avec le démarrage sécurisé, le micrologiciel système vérifie d'abord si le chargeur de démarrage système est signé avec une clé cryptographique. La clé cryptographique est une clé qui a été autorisée par une base de données contenue dans le firmware. Seulement si la clé est reconnue qu'elle permettra au système de démarrer. Une signature aussi valable doit suivre une spécification par la Microsoft UEFI Certificate Authority (CA).


Différentes perspectives

À première vue, cela semble assez bien, mais il y a toujours deux côtés d'une pièce. Comme d'habitude, les avantages et les inconvénients coexistent. Appuyez sur les critiques de l'éloge ou de diaboliser Secure Boot en fonction de qui rédige la critique.

Tout d'abord, gardez à l'esprit que l'autorité sur les clés cryptographiques est entre les mains d'un seul acteur mondial - Microsoft. Donner de l'énergie à des millions de machines à une seule entreprise n'est jamais une bonne idée. De cette façon, Microsoft s'assure le contrôle complet de votre machine. Avec une seule décision, Microsoft est en mesure de bloquer l'ensemble du marché avec une seule course et de mettre à la fois ses concurrents et vous en tant que client. E.g. Si vous souhaitez installer du matériel d'un autre fabricant à un stade ultérieur, vous devez vous assurer que la clé du nouveau composant a été stockée dans le système de base de données. Vous laissant avec une flexibilité et des choix restreints - surtout si vous êtes un développeur.

Deuxièmement, non seulement vos choix matériels sont limités, mais aussi les choix de votre système d'exploitation sont destinés à être limités en raison de la technologie UEFI introduite par Windows. Cela signifie que cela rend la vie difficile à la communauté Linux. Avant son utilisation sur le matériel basé sur l'UEFI, les chargeurs de démarrage Linux comme Grub ont d'abord d'être certifié et donc il ralentit les développements assez rapides car la communauté open source est connue pour. Personne ne sait ce qui se passe si le validateur central fait une erreur pendant la validation ou bloque la version d'un logiciel mis à jour.

Troisièmement, que signifie le terme malware aujourd'hui et demain? Inclut-il les systèmes d'exploitation des concurrents [5] ou sont-ils exclus? Le processus de validation se déroule derrière les rideaux et personne ne peut le prouver.

Quatrièmement, il y a des réserves concernant la sécurité. Selon les développements actuels, la durée des clés cryptographiques est relativement courte. Secure Boot permet uniquement les certificats X509 et les touches RSA avec une longueur fixe de 2048 bits [16]. Dans un avenir proche, avec l'utilisation de la parallélisation de masse et de la puissance de calcul supplémentaire basée sur la virtualisation, ce niveau de sécurité devrait être brisé. Aujourd'hui, des clés cryptographiques d'une longueur de 4096 bits sont recommandées.

Cinquièmement, il semble que le logiciel, qui est à la fois proposé par un grand fournisseur et certifié est sûr et sans erreurs. Comme l'histoire le montre, nous savons tous que ce n'est pas vrai, le logiciel contient toujours des bogues. Une certification vous berce dans un faux sens de la sécurité.


Solutions pour l'open source

Mais là où il y a un problème, il y a aussi une solution. Microsoft offre généreusement les distributeurs Linux d'occasion d'accéder à leur portail Microsoft Sysdev afin de faire signer leurs chargeurs de démarrage [17]. Ce service est néanmoins livré avec un prix.

Les distributions Linux n'ont qu'un «cale» [11] signé sur le portail Microsoft. La cale est un petit chargeur de démarrage qui bottise les distributions Linux Distribution du chargeur de démarrage à grub. Microsoft ne vérifie que la cale signée et par la suite vos bottes de distribution Linux normalement. Cela aide à maintenir le système Linux comme d'habitude.

Comme indiqué dans diverses sources, (U) EFI fonctionne bien avec Fedora / Redhat, Ubuntu, Arch Linux et Linux Mint. Pour Debian GNU / Linux, il n'y a pas de support officiel concernant Secure Boot [9]. Quoi qu'il en soit, il y a un article de blog intéressant sur la façon de mettre en place ceci [18], ainsi qu'une description du Wiki Debian [14].

Alternatives à l'UEFI

UEFI n'est pas le seul successeur du BIOS PC - il existe des alternatives. Vous pouvez examiner de plus près Openbios [4], LibreBoot [7], le firmware ouvert [8,9] et Coreboot [10]. Pour cet article, nous ne les avons pas testés, mais il est utile de savoir que des implémentations alternatives existent et fonctionnent en douceur.


Conclusion

Comme mentionné précédemment, la question clé est la confiance. En ce qui concerne les ordinateurs, demandez-vous quelles parties de votre système faites-vous confiance - les composants matériels (firmware, puces, TPM) et / ou les composants logiciels (chargeur de démarrage, système d'exploitation, logiciel utilisé). Vous ne pouvez pas déboguer l'ensemble du système. Il peut être utile de savoir que votre système d'exploitation ne fonctionne pas contre vos intérêts et que vous faites avancer les choses pour lesquelles vous avez acheté le système - de manière sûre sans être contrôlé par un monopoliste.


Liens et références

  • [1] Kristian Kißling: Debian 9 Stretch Ohne Secure Boot, Linux-Magazin
  • [2] uefi nachbearbeitung
  • [3] EFI et Linux: L'avenir est là, et c'est horrible - Matthew Garrett
  • [4] Openbios, https: // openbios.info / bienvenue_to_openbios
  • [5] Hendrik Schwartke, Ralf Spenneberg: Einlaßkontrolle. UEFI-SECUR-BOOT UNT Alternative TaTRIEBSSYSTEME, Admin-Magzin 03/2014
  • [6] bootvorgang eines Apple mac
  • [7] libreboot, https: // libreboot.org /
  • [8] Firmware ouvert (Wikipedia)
  • [9] Open firmware, https: // github.com / openbios
  • [10] Coreboot, https: // www.coreboot.org / bienvenue_to_coreboot
  • [11] shim (github), https: // github.com / rhboot / cale
  • [12] Thorsten Leemhuis: UEFI Secure Boot und Linux, FAQ
  • [13] Bom Cromwell: Comment Linux Boot? PARTIE 3: UEFI à cale vers le lien suivant de la chaîne
  • [14] Secureboot sur Debian, https: // wiki.Debian.Org / Secureboot
  • [15] Chris Hoffman: Comment fonctionne Secure Boot sur Windows 8 et 10, et ce que cela signifie pour Linux
  • [16] James Bottomley: le sens de toutes les clés UEFI
  • [17] Microsoft Hardware Developer Center, UEFI Firmware Signing
  • [18] Secure Boot avec Debian Testing

Remerciements

Frank Hofmann et Mandy Neumeyer sont co-auteurs de l'article. Les auteurs tiennent à remercier Justin Kelly pour son aide et ses commentaires critiques lors de la rédaction de cet article.