macOS Catalina protège encore mieux l’EFI (à vos risques et périls)

Avec Catalina, Apple a introduit une nouvelle possibilité pour protéger l’EFI. Il est maintenant possible de bloquer la solution de dernier recours d’Apple. Je m’explique.

Le mot de passe EFI (ou Open Firmware; il y a longtemps) permet notamment d’empêcher de démarrer un Mac sur un autre disque que celui choisi par défaut. Mais à une époque, ce mot de passe sautait assez facilement, en enlevant la RAM (oui…) ou en flashant la puce contenant l’EFI quand elle était accessible (ce qui n’est plus le cas). Mais une faille venait aussi d’Apple, même si je comprends parfaitement la raison de son existence. Pour faire simple, AppleCare peut effacer le mot de passe EFI à distance, avec une méthode assez précise. Elle nécessite de démarrer d’une façon très particulière (il faut presser shift + control + option + command + S) pour récupérer un code à envoyer à Apple, qui en retour envoie un fichier SCBO qui va permettre de démarrer le Mac et effacer le mot de passe.

Si ça vous intéresse, le fonctionnement exacte de ce SCBO est expliqué en détail là, mais en simplifiant il contient du code exécuté par l’EFI (et signé par Apple) qui va effacer le mot de passe. En théorie, seul Apple peut générer le fichier en question, mais on trouve visiblement des gens qui peuvent le faire. L’auteur de l’article explique que les chances qu’un générateur existe sont faibles, et que les vendeurs ont potentiellement accès aux outils d’Apple directement, mais ça ne change rien au problème : il reste potentiellement possible de débloquer un Mac de cette façon.

Avec Catalina, il existe dont une nouvelle option qui permet de désactiver cette option.

sudo firmwarepasswd -disable-reset-capability

La commande ne fonctionne que si vous avez mis un mot de passe (logique) et elle a un défaut : si vous perdez le mot de passe, vous n’aurez plus la solution de dernier recours d’Apple. En réalité, il reste parfois des solutions physiques : (re)flasher la puce sur les modèles avec une puce accessible ou utiliser une MattCard par exemple. Mais ça ne fonctionne que sur les Mac un peu anciens : les modèles avec une puce T2 protègent bien mieux l’EFI. Donc si vous avez un Mac moderne, cette option empêchera a priori toute récupération ou effacement du mot de passe, c’est important de s’en rendre compte. Et on peut penser que ça n’arrive qu’aux autres, mais ce n’est pas réellement le cas : on peut oublier un mot de passe, mettre une protection dans la précipitation parce qu’un Mac a été volé, etc., et se retrouver très bête. La méthode d’Apple, si elle induit effectivement une faille de sécurité, sert aussi de filet de sécurité.