Dasharo coreboot+Heads pour un processus de démarrage sécurisé

Dasharo coreboot+Heads
Dasharo
coreboot+Heads

Dans le monde de la sécurité informatique, on veut que nos appareils – y compris les ordinateurs portables – soient résistants à toutes sortes de menaces possibles. De nos jours, la cybersécurité ne se limite pas aux logiciels, mais concerne également le “logiciel de contrôle” d’un appareil, connu sous le nom de firmware. Les cybermenaces étant de plus en plus avancées, le besoin de solutions de firmware qui donnent la priorité à la sécurité et à la transparence est devenu primordial. Avec l’introduction de nos ordinateurs portables Dasharo coreboot, nous avons déjà prouvé que nous faisions passer la sécurité de nos ordinateurs portables à un niveau supérieur. Mais aller dans cette direction nous a conduits à de nombreuses autres idées pour améliorer encore la sécurité de nos ordinateurs. Il s’agit notamment d’une version alternative du firmware : Dasharo coreboot+Heads. Mais qu’est-ce que le firmware Heads et en quoi est-il différent de la version standard de coreboot ?

Avertissement

Remarque : le firmware Heads est complexe. Nous recommandons cette version de firmware uniquement aux utilisateurs avancés pour lesquels un niveau de sécurité élevé est une exigence. De plus, nous recommandons le firmware Heads aux utilisateurs de Qubes OS.

La définition d’un payload

Pour bien comprendre la matière concernant le firmware Heads, il est crucial d’avoir une compréhension de ce qu’est un payload. Un payload est le code de démarrage exécuté juste après le processus d’initialisation du PC portable. Il fournit souvent des paramètres et des options de démarrage, ainsi que des mécanismes de protection du démarrage.

Heads payload au lieu de TianoCore EDK II

Par défaut, NovaCustom livre ses ordinateurs portables avec le payload TianoCore EDK II. Ce payload offre une grande flexibilité, grâce à la possibilité d’intégrer les paramètres du firmware UEFI. Ainsi, l’utilisateur peut définir un profil de ventilateur, appliquer des seuils de charge de batterie et activer UEFI Secure Boot. En plus, EDK II offre la possibilité de démarrer sur un serveur iPXE et de démarrer sur un périphérique USB externe en toute simplicité.

UEFI Secure Boot a ses limitations

Bien que le payload EDK II offre une flexibilité remarquable grâce à ces excellentes fonctionnalités, il est important de reconnaître les implications potentielles de l’UEFI Secure Boot en matière de sécurité. Bien qu’il puisse bloquer les fichiers d’amorçage potentiellement dangereux, il ne fournit pas de vérification de l’amorçage depuis le tout premier moment du démarrage de votre appareil jusqu’à la finalisation de l’étape d’amorçage. En outre, UEFI Secure Boot ne nécessite pas de puce TPM fiable et indépendante.

Une contrainte notable est la dépendance de l’UEFI Secure Boot à l’égard d’un ensemble préinstallé de clés de signature. En fait, il vérifie uniquement la signature d’un fichier de démarrage et le bloque s’il n’est pas connu comme un fichier de démarrage fiable. Il ne traite pas les menaces potentielles à d’autres niveaux du processus de démarrage du système, telles que les vulnérabilités dans le firmware ou les altérations du noyau du système d’exploitation.

Parallèlement, le recours à des clés prédéfinies peut poser des problèmes aux utilisateurs qui souhaitent installer d’autres systèmes d’exploitation ou des bootloaders qui ne sont pas officiellement signés. Des systèmes d’exploitation bien connus comme Windows, ainsi que des grands systèmes d’exploitation Linux tels qu’Ubuntu, Linux Mint et Fedora prennent officiellement en charge la technologie Secure Boot, dominée par Microsoft. Cependant, d’autres systèmes d’exploitation Linux tels que Pop!_OS et le système d’exploitation Qubes OS – axé sur la sécurité – ne prennent pas en charge l’UEFI Secure Boot, ce qui signifie qu’il n’y a pas de vérification de démarrage pour ces systèmes d’exploitation lors de l’utilisation de l’EDK II. Du moins, pas après le chargement du payload.

Oui : vous pouvez définir vos propres clés UEFI Secure Boot personnalisées dans les paramètres du firmware de nos modèles Dasharo. Néanmoins, il s’agit d’un processus compliqué qui ne constitue pas une solution complète.

Un ordinateur portable NovaCustom de la série NV41 équipé du firmware Heads.
Un ordinateur portable NovaCustom de la série NV41 équipé du firmware Heads lors du sommet Qubes OS (octobre 2023).

Pourquoi le firmware Heads offre-t-il une meilleure vérification de l’intégrité du processus de démarrage ?

Contrairement à EDK II, le firmware Heads garantit l’intégrité du firmware et du démarrage du système à toutes les étapes. Pour ce faire, il utilise la technologie « measured boot ». Celle-ci fournit des hachages cryptographiques pour chaque composant d’amorçage. Cela couvre le firmware SPI (BIOS) principal lui-même et tous les fichiers de démarrage importants dans le dossier /boot, y compris les fichiers de configuration du chiffrement de disque, le noyau, le fichier initrd et la configuration GRUB. Les hachages sont stockés et attestés en toute sécurité dans le matériel TPM indépendant.

Le résultat est une configuration de démarrage fiable, alors que c’est vous (et non un géant de la technologie) qui contrôlez entièrement les clés. En fait, le firmware Heads crée une chaîne de confiance du début du processus de démarrage jusqu’à la fin. Sans la mesure et l’attestation de l’ensemble du processus de démarrage, l’assurance contre une éventuelle altération resterait incertaine.

Protection contre les rootkits

Icône rootkit

Les rootkits sont des applications malveillantes qui se concentrent sur le firmware UEFI. Ils le font pour empêcher la suppression du logiciel malveillant en cas de formatage du disque de stockage. En effet, un rootkit est intégré au firmware UEFI et n’est pas stocké sur le disque de stockage normal. Cela signifie que l’application malveillante peut réapparaître après l’installation d’un nouveau système d’exploitation, car elle est exécutée avant le système d’exploitation lui-même.

Dans le cas où un rootkit serait implanté dans le firmware UEFI, Heads détecterait que le firmware a été altéré. En effet, le hachage du composant de démarrage dans lequel se trouve le rootkit changerait, ce qui empêcherait le processus de démarrage d’être marqué comme fiable par Heads. L’utilisateur serait informé de cet événement et peut alors décider d’éteindre l’ordinateur portable et de prendre les mesures nécessaires.

Vous trouverez des exemples de rootkits connus dans le passé ici, ici et ici.

Heads redonne le contrôle à l’utilisateur

Les techniques habituelles de sécurité au démarrage telles que l’UEFI Secure Boot utilisent des logiciels exclusifs, permettant à l’ordinateur de démarrer uniquement les systèmes d’exploitation qui ont été marqués comme fiables. Cela signifie que l’utilisateur final doit s’en remettre au fournisseur pour approuver tout code qu’il souhaite exécuter.

Contrairement à UEFI Secure Boot, le firmware Heads identifie les manipulations en utilisant des clés qui sont entièrement sous le contrôle de l’utilisateur. Ces clés peuvent être modifiées par l’utilisateur à tout moment.

UEFI Secure Boot et d’autres mécanismes de sécurité de démarrage UEFI standard bloquent complètement le processus de démarrage si le composant de démarrage n’a pas pu être vérifié. Le firmware Heads, quant à lui, permet toujours à l’utilisateur de démarrer l’ordinateur avec le fichier d’amorçage sélectionné, mais seulement après l’avoir averti de toute altération potentielle.

Le firmware Heads nécessite l'utilisation d'une clé de sécurité USB pour vérifier le firmware principal SPI (BIOS).
Le firmware Heads nécessite l’utilisation d’une clé de sécurité USB pour vérifier le firmware principal SPI (BIOS).

Heads offre une vérification supplémentaire de l’amorçage

Contrairement à d’autres payloads, le firmware Heads utilise un code de hachage de la puce TPM qui peut être vérifié de deux manières :

  1. En utilisant une clé de sécurité USB, telle que la Nitrokey 3A Mini. Et :
  2. (Optionnel) En utilisant une application 2FA comme Google Authenticator (ou un authentificateur TOTP alternatif).

En utilisant cette technologie, il est possible de prouver que le firmware principal SPI (BIOS) n’a pas été altéré. En cas d’altération, l’entrée de l’application 2FA ne serait pas acceptée (1) ou la clé de sécurité USB clignoterait en rouge (2).

Pourquoi la puce TPM est un élément essentiel de la vérification du démarrage de Heads ?

Icône TPM

Comme indiqué précédemment, le firmware Heads utilise la puce TPM pour stocker et attester les hachages cryptographiques de chaque composant de démarrage. Mais pourquoi cette méthode est considérée comme sûre ?

Le point essentiel ici est que la puce TPM est conçue de manière à ne pas pouvoir modifier le hachage si le hachage du composant d’amorçage précédent n’a pas été fourni. En d’autres termes, le bloc d’amorçage suivant nécessite le hachage du bloc d’amorçage précédent. Si la valeur de hachage n’a pas pu être vérifiée, le firmware Heads marque le composant d’amorçage comme potentiellement altéré et en informe l’utilisateur.

Pourquoi la transparence en matière de firmware est-elle importante ?

Icône open source

Si nous voulons renforcer la sécurité du socle de nos ordinateurs portables, il devient essentiel d’adopter des firmwares transparents et inspectables. Sans la possibilité d’étudier le codage du firmware, il est impossible de comprendre les étapes cruciales de la procédure de démarrage. En outre, il devient impossible de remédier aux vulnérabilités ou de l’adapter pour répondre à des exigences spécifiques.

Le firmware Heads est publié en tant que logiciel libre. Il est open-source (source-ouverte), ce qui permet non seulement de l’examiner mais aussi de le reproduire : si vous le souhaitez, vous pouvez construire le fichier ROM du firmware Heads à partir de la source.

Dasharo Entry Subscription

Dasharo Entry Subscription

Le Dasharo Entry Subscription comprend le support coreboot+Heads pour la Série NV41, qui est actuellement notre seul ordinateur portable supporté pour le firmware Heads. L’abonnement n’est pas renouvelé automatiquement. Vous devrez acheter à nouveau ce produit après l’expiration de l’abonnement afin de conserver l’accès aux mises à jour et à l’assistance directe de Dasharo.

Pourquoi devrais-je acheter l’abonnement si je peux construire et flasher le firmware Heads moi-même ?

Il y a quelques raisons d’acheter l’abonnement, même si vous pouvez construire et flasher Heads vous-même.

  1. Soutenez le projet financièrement. Pour chaque Dasharo Entry Subscription que nous vendons, les revenus sont partagés avec NovaCustom, 3mdeb (la société derrière Dasharo) et le principal développeur du firmware Heads. Votre contribution financière nous permet de continuer à maintenir notre version du firmware Heads.
  2. Déploiement facile. Lorsque vous disposez d’un Dasharo Entry Subscription, vous avez accès aux instructions de déploiement facile grâce à l’option de flash guidé de la Dasharo Tools Suite. Vous gagnerez ainsi beaucoup de temps.
  3. Support premium de notre équipe de développeurs de firmware et de la communauté. Une fois que vous aurez un abonnement actif, vous aurez accès à la room Matrix Dasharo Premiere Support. Cela vous permettra de demander de l’aide aux professionnels et aux développeurs et de discuter avec eux et avec d’autres abonnés.

Les articles suivants peuvent également vous intéresser :

À propos de l'auteur : Wessel Klein Snakenborg est passionné de technologie depuis son enfance. Il a lancé NovaCustom en 2015, une entreprise qui fabrique des ordinateurs portables sur mesure en tenant compte de la protection de la vie privée et de la sécurité. En mettant l'accent sur la convivialité, NovaCustom continue de redéfinir l'expérience de l'ordinateur portable, grâce à l'engagement de Wessel en faveur de l'innovation et de la collaboration.

Les commentaires uniquement en anglais s.v.p.

Partager votre panier