chargeur de démarrage

Démarrage sécurisé Linux

Démarrage sécurisé Linux

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

Au démarrage, un ordinateur exécute un programme spécifique pour détecter et initialiser ses composants matériels. Traditionnellement, les PC compatibles IBM utilisent le Basic Input Output System (BIOS). En revanche, les Mac utilisent OpenFirmware, Android n'a qu'un chargeur de démarrage et un Raspberry Pi démarre à partir d'un micrologiciel conservé dans le système sur une puce (SoC). Cette étape initiale comprend des vérifications matérielles ainsi que la recherche des systèmes d'exploitation disponibles sur les supports de stockage qui font partie de l'ordinateur comme un disque dur, un CD-ROM/DVD ou une carte SD, ou qui y sont connectés via un réseau (Network File System (NFS) , démarrage PXE).

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

A 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 cela et comment cela fonctionne. De plus, nous répondrons à la question si Secure Boot est nécessaire pour les machines Linux uniquement, et comment les distributions Linux gèrent ce cas.


Qu'est-ce que le démarrage sécurisé?

Secure Boot est une question de confiance. L'idée générale derrière cela est de démarrer la machine de 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 bon départ avec un système fiable est une approche à soutenir fortement.

Le démarrage sécurisé fait partie de l'interface UEFI (Unified Extensible Firmware Interface) - une interface centrale entre le micrologiciel, les composants individuels de l'ordinateur et le système d'exploitation [3]. Pendant environ cinq ans, il a été développé par Intel et Microsoft en remplacement du BIOS. En 2012, version 2.3.1 de UEFI a été introduit avec Microsoft Windows 8. Microsoft a obligé les fabricants d'ordinateurs à mettre en œuvre 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? Qu'est-ce qui en fait une option de démarrage sécurisée? Secure Boot permet uniquement de démarrer à 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 indésirables. Un BIOS traditionnel démarrerait n'importe quel logiciel. Cela permettrait même à des logiciels malveillants, tels qu'un rootkit, de remplacer votre chargeur de démarrage. Le rootkit serait alors capable de charger votre système d'exploitation et resterait complètement invisible et indétectable sur votre système. Alors qu'avec Secure Boot, le micrologiciel du système vérifie d'abord si le chargeur de démarrage du 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. Ce n'est que si la clé est reconnue qu'elle permettra au système de démarrer. Une telle signature valide doit suivre une spécification de l'autorité de certification Microsoft UEFI (CA).


Différentes perspectives

À première vue, cela semble plutôt bien, mais il y a toujours deux faces d'une médaille. Comme d'habitude les avantages et les inconvénients coexistent. Les revues de presse louent ou diabolisent Secure Boot en fonction de la personne qui écrit 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 le pouvoir à des millions de machines à une seule entreprise n'est jamais une bonne idée. De cette façon, Microsoft s'assure un contrôle complet de votre machine. Avec une seule décision, Microsoft est en mesure de bloquer l'ensemble du marché d'un seul coup et d'interdire à 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 devrez 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 limités - surtout si vous êtes un développeur.

Deuxièmement, non seulement vos choix de matériel sont limités, mais les choix de votre système d'exploitation sont également destinés à être limités en raison de la technologie UEFI introduite par Windows. Cela signifie que cela rend la vie difficile pour la communauté Linux. Avant son utilisation sur du matériel basé sur UEFI, les chargeurs de démarrage Linux comme GRUB doivent d'abord être certifiés et ralentissent donc 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 lors de la validation ou bloque la sortie d'un logiciel mis à jour.

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

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

Cinquièmement, il semble que le logiciel, à la fois proposé par un grand fournisseur et certifié, soit sûr et sans erreur. Comme le montre l'histoire, nous savons tous que ce n'est pas vrai, les logiciels contiennent toujours des bogues. Une certification ne fait que vous endormir dans un faux sentiment de sécurité.


Solutions pour Open Source

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

Les distributions Linux n'ont qu'un "shim" [11] signé sur le portail Microsoft. Le shim est un petit chargeur de démarrage qui démarre le principal chargeur de démarrage GRUB des distributions Linux. Microsoft ne vérifie que le shim signé et ensuite votre distribution Linux démarre normalement. Cela aide à maintenir le système Linux comme d'habitude.

Comme indiqué par 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 le démarrage sécurisé [9]. Quoi qu'il en soit, il y a un article de blog intéressant sur la façon de configurer cela [18] , ainsi qu'une description dans le wiki Debian [14].

Alternatives à l'UEFI

UEFI n'est pas le seul successeur du BIOS PC - il existe des alternatives. Vous pouvez regarder de plus près OpenBIOS [4], libreboot [7], Open Firmware [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 correctement.


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 vous faites confiance - les composants matériels (micrologiciel, puces, TPM) et/ou les composants logiciels (chargeur de démarrage, système d'exploitation, logiciel en cours d'utilisation). Vous ne pouvez pas déboguer l'ensemble du système. Il peut être utile de savoir que votre système d'exploitation ne va pas à l'encontre de vos intérêts et que vous faites les choses pour lesquelles vous avez acheté le système - de manière sûre sans être contrôlé par un monopoleur.


Liens et références

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.

Comment installer et jouer à Doom sur Linux
Introduction à Doom La série Doom est née dans les années 90 après la sortie du Doom original. Ce fut un succès instantané et à partir de ce moment-là...
Vulkan pour les utilisateurs Linux
Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rappro...
OpenTTD contre Simutrans
Créer votre propre simulation de transport peut être amusant, relaxant et extrêmement attrayant. C'est pourquoi vous devez vous assurer que vous essay...