Sécurité du programme interne UEFI des Mac avec processeur Intel
Un Mac avec processeur Intel et puce T2 Security d’Apple utilise le programme interne UEFI (Intel) à des fins de sécurité.
Aperçu
Depuis 2006, les ordinateurs Mac dotés d’un processeur Intel utilisent un programme interne Intel basé sur la première ou la deuxième version de la trousse de développement (EDK) de l’interface micrologicielle extensible (EFI). Le code EDK2 se conforme à la spécification de l’interface micrologicielle extensible unifiée (UEFI). Dans la présente section, le programme interne Intel est appelé programme interne UEFI. Le programme interne UEFI était le premier code exécuté sur la puce Intel.
Pour un Mac avec processeur Intel sans puce T2 Security d’Apple, la puce dans laquelle le programme interne est stocké constitue la base sécurisée du programme interne UEFI. Les mises à jour du programme interne UEFI sont signées numériquement par Apple et vérifiées par le programme interne avant la mise à jour du stockage. Pour contribuer à empêcher les attaques par retour en arrière, la version des mises à jour doit toujours être ultérieure à la version courante. Cependant, un assaillant ayant physiquement accès au Mac pourrait potentiellement utiliser du matériel pour accéder à la puce de stockage du programme interne et la mettre à jour afin d’insérer du contenu malveillant. De même, si des failles sont décelées tôt au cours du processus de démarrage du programme interne UEFI (avant la restriction en écriture de la puce de stockage), une infection persistante du programme interne UEFI pourrait avoir lieu. Il s’agit d’une limite de l’architecture matérielle courante dans la plupart des PC Intel et dans tous les ordinateurs Mac avec processeur Intel qui ne sont pas dotés de la puce T2.
Pour empêcher les attaques physiques qui sabotent le programme interne UEFI, l’architecture des ordinateurs Mac a été repensée de façon à enraciner la confiance envers le programme interne UEFI dans la puce T2. Sur ces ordinateurs Mac, c’est le programme interne T2 qui fait office de base sécurisée pour le programme interne UEFI, comme décrit dans la section Processus de démarrage d’un Mac avec processeur Intel.
Sous-composant du moteur de gestion Intel (ME)
Le programme interne du moteur de gestion Intel (ME, Management Engine) est un sous-composant stocké dans le programme interne UEFI. Le ME, un processeur et sous-système séparé dans les puces Intel, est utilisé principalement aux fins de la protection du droit d’auteur des contenus audio et vidéo sur un Mac doté uniquement de composants graphiques Intel. Afin de réduire la surface d’attaque de ce sous-composant, les Mac avec processeur Intel exécutent un programme interne ME personnalisé dont la plupart des composants ont été supprimés. Parce que le programme interne ME du Mac qui en résulte est moins volumineux que la version minimale par défaut proposée par Intel, de nombreux composants ayant déjà fait l’objet d’attaques par des chercheurs en sécurité informatique dans le secteur public n’existent plus.
Mode de gestion système (SMM)
Les processeurs Intel ont un mode d’exécution spécial qui est distinct du fonctionnement normal. Appelé mode de gestion système (System Management Mode, SMM), il a été introduit à l’origine pour traiter les opérations dépendantes du temps telles que la gestion de la consommation. Or, pour effectuer ces opérations, les ordinateurs Mac ont toujours utilisé un microcontrôleur discret appelé contrôleur de gestion du système (SMC, System Management Controller). Ce microcontrôleur n’est plus indépendant et est désormais intégré à la puce T2.