Infrastructure
EFI : Extensible Firmware Interface, interface de micrologiciel extensible, conçue par Intel à la fin des années 1990 et devenue UEFI (Unified Extensible Firmware Interface) en 2005 sous l'égide du consortium UEFI Forum. « Le programme qui prend la main à l'allumage de l'ordinateur et choisit qui démarre ensuite », par analogie avec le portier d'un immeuble : avec Secure Boot, il vérifie les badges ; sans, il ouvre à quiconque a l'air pressé.
Programme EFI : Fichier exécutable (format PE/COFF, Portable Executable / Common Object File Format, celui des exécutables Windows) que le micrologiciel charge et lance : chargeur de démarrage, noyau compatible, outil de diagnostic. Les programmes EFI résident en général sur une petite partition au format FAT (File Allocation Table) dédiée, la partition système EFI, ou sont récupérés par le réseau lors d'un démarrage PXE.
Secure Boot : Le micrologiciel n'exécute un programme EFI que s'il est signé par une clé présente dans sa base d'autorisation (db) et absent de sa liste de révocation (dbx). Sous Linux, un petit chargeur signé par Microsoft, shim, vérifie à son tour GRUB (GRand Unified Bootloader) et le noyau. Secure Boot vérifie l'identité du programme, pas ses intentions : un chargeur signé mais vulnérable reste signé.
Failles marquantes : BootHole (CVE-2020-10713, CVE signifiant Common Vulnerabilities and Exposures) dans GRUB2 en 2020, puis le bootkit BlackLotus en 2023, qui exploitait un ancien gestionnaire de démarrage Windows signé et vulnérable (CVE-2022-21894) pour contourner Secure Boot. Dans les deux cas, la parade consistait à révoquer les binaires fautifs dans la dbx, opération délicate puisqu'elle peut empêcher de démarrer d'anciens supports.
Ce qui arrive si on s'en passe
Démarrer des programmes EFI sans Secure Boot, ou avec un Secure Boot dont la liste de révocation n'est jamais mise à jour, laisse un attaquant installer un chargeur modifié qui s'exécute avant le système d'exploitation, avant l'antivirus et avant l'EDR. Un tel bootkit survit à la réinstallation du système et désactive ce qu'il veut avant que quiconque puisse le voir. En démarrage réseau, il suffit en plus de répondre plus vite que le serveur légitime aux requêtes DHCP et TFTP pour servir son propre programme EFI à tout le parc.
Explication de la marmotte
Quand on allume un ordinateur, un petit logiciel intégré à la carte mère se lance en premier et choisit quel programme démarrer ensuite, par exemple Windows ou Linux. Ce logiciel suit les règles UEFI, et les programmes qu'il lance s'appellent des programmes EFI. Avec l'option Secure Boot, il vérifie une signature numérique avant de les lancer, pour refuser ceux qui ont été modifiés. Sans cette vérification, un programme malveillant peut s'installer avant même le système et devenir très difficile à détecter.
Où ce terme est utilisé
- Comment sécuriser firmware UEFI, réseau et BMC (9 occurrences)
- Comment sécuriser un démarrage réseau PXE en entreprise (8 occurrences)
- Attestation distante TPM et démarrage mesuré (3 occurrences)
- Debian stable sur serveur, mises à jour de sécurité et rétroportages (2 occurrences)
- Détecter la persistance d’un attaquant après incident (2 occurrences)
- Installer WSL 2 sous Windows 10 et 11, configuration et sécurité (2 occurrences)
- Interfaces, pilotes et démarrage par le réseau (2 occurrences)
- Principes de sécurité, identité et cryptographie utile au réseau (2 occurrences)
- SGX et TrustZone pour isoler du code sensible (2 occurrences)
