Interface UEFI (Unified Extensible Firmware Interface)

Depuis Windows 10, version 1703 (au moment de la rédaction de ce document), Microsoft exige la spécification UEFI version 2.3.1c. Étant donné que UEFI.org a continué à mettre à jour les documents de spécification et à améliorer la source avec ces mises à jour, cette exigence finira par changer.

Au sein de Microsoft, nous avons estimé qu’il y avait une certaine ambiguïté de formulation dans les spécifications UEFI 2.5 et 2.6. Par conséquent, nous n’avons pas mis à jour ces versions de spécification. Toutefois, la version de spécification n’affecte pas l’arborescence du code source UEFI.

Lorsque vous implémentez du code UEFI, vérifiez que votre branche source est générée à l’aide des derniers bits de la branche main et générée à l’aide des instructions du dernier document de spécification UEFI.

Il existe des fonctionnalités mises à jour dans les documents de spécification UEFI qui se rapportent à différentes fonctionnalités de sécurité. Par exemple uefi Spec 2.6, la page 107 de la section « 4.6 Table de configuration EFI & Table propriétés » ajoute spécifiquement la prise en charge de « EFI_MEMORY_ATTRIBUTES_TABLE ».

  • Table d’attributs de mémoire (MAT) :

    • EFI_MEMORY_ATTRIBUTES_TABLE. L’intégralité de l’exécution UEFI doit être décrite dans ce tableau.

    • Toutes les entrées doivent inclure des attributs EFI_MEMORY_RO, EFI_MEMORY_XP ou les deux. La mémoire DOIT être accessible en lecture et exécutable OU accessible en lecture et non exécutable.

Depuis Windows 10, version 1703, les dernières mises à jour de la spécification UEFI concernant les modes de démarrage sécurisé ne sont pas entièrement prises en charge par Windows. La prise en charge des nouveaux modes de démarrage sécurisé est en cours d’examen pour une prochaine version de Windows.

Documents de spécification UEFI