Le processus de démarrage UEFI sur Windows

Vous possédez un nouvel ordinateur en UEFI (Unified Extensible Firmware Interface).
Cette nouvelle norme apporte beaucoup de modifications.
Ainsi, le démarrage est totalement revue.
Le but est surtout de protéger contre les malwares.

Cet article vous donne les grandes lignes du démarrage UEFI sur Windows.

Le processus de démarrage UEFI sur Windows

Introduction

Ci-dessous, la différence entre un démarrage UEFI et BIOS.
En effet, le démarrage du PC et de l’OS est différent.
Du moins au départ lors du chargement du BIOS et pour donner la main à Windows.

BIOS vs UEFI : les différences de boot

Ainsi en UEFI, le boot lance le firmware qui donne la main au EFI Boot Loader.
La partition EFI stocke les firmwares des OS. Ainsi, les PC UEFI ne fonctionne qu’avec des disques GPT.
Ensuite le démarrage de Windows reste identique.
En BIOS Legacy, le démarrage MBR est détaillée dans l’article suivant.

Enfin pour les différences MBR et UEFI dans les grandes lignes, lire :

Séquence de démarrage en UEFI

En amont

Le mécanisme de boot UEFI est complexe.
Plusieurs phases se succèdent avant de lancer le système d’exploitation.
Voici les phrases principales.

  • SEC Phase : C’est la phase d’intialisation où rien n’est exécuté. Il s’agit de vérifier le matériel.
  • PEI Phase : elle prépare la plate-forme pour l’initialisation du système principal dans la phase DXE.
  • DXE Phase : Cette phase exécute des pilotes basée sur les ressources découvertes et décrites dans la phase PEI.
  • BDS : On localise le l’OS Boot Manager et on vérifie la signature.
  • OS Boot et Load : L’OS se charge avec ses différentes phases.

Le schéma suivant reprend les différents phases de boot UEFI.

Les phases de boot UEFI

Plus de détails : UEFI and the TPM: Building a foundation for platform trust

Chargement de Windows

L’image ci-dessous récapitule le processus de démarrage de Windows en UEFI.
Le POST (Power On Self Test) est l’étape qui vérifie le matériel avant de donner la main à l’OS.
Si ce dernier détecte un matériel défectueux alors le PC beep au démarrage.

  1. Ensuite le firmware UEFI se charge. Ce dernier vérifie l’ordre de démarrage (boot order) puis cherche la partition EFI.
  2. Le Windows Boot Manager prend le relai et effectue le démarrage selon le le BCD (Boot configuration Data).
  3. Ce dernier stocke la configuration de démarrage dont le chemin du Windows Boot Loager.
  4. Le noyau Windows se charge en mémoire ainsi que le processus smss.exe.
  5. Puis ce dernier charge wind32k.sys qui va charger le services Windows et les processus de l’environnement utilisateur.
  6. Enfin le processus winlogon.exe se lance et on aboutit à la fenêtre d’identification.
  7. L’utilisateur doit alors choisir l’utilisateur Windows et saisir son mot de passe.
  8. Enfin le shell Windows avec explorer.exe se lance alors.
Les séquences de boot UEFI et MBR de Windows

Comme le montre le schéma, seul la phase de BIOS diffère.
En effet, les normes UEFI et Legacy sont différentes.
C’est ainsi pour cela que les ordinateurs UEFI ne peuvent booter que sur des disques GPT.
Ce dernier doit posséder une partition EFI qui n’existe pas en MBR.
Plus d’informations.

Plus de sécurité

L’UEFI apporte plus de sécurité.
Le but est de se protéger des malwares et bootkits.
Il s’agissait de malware modifiant le MBR afin de se charger avant l’OS.
Cela signifie qu’il était aussi actif avant l’antivirus.

Depuis l’UEFI apporte de nouvelles fonctions comme le Secure boot ou AM Software.
L’UEFI s’appuie sur le standard Trusted Platform Module (TMP).
Ce dernier assure l’intégrité du boot et prévient toute forme de compromission.
Le TPM est un composant matériel généralement soudé à la carte mère. Le TPM fournit diverses fonctions de sécurité, notamment le stockage des mesures d’intégrité de démarrage et des mécanismes permettant de prouver les mesures d’intégrité actuelles.
Parmi les fonctions présentes dans un UEFI Boot :

  • Secure boot : Valide le chargeur de l’OS par une signature numérique.
  • ELAM (Early Launch AM Software) : charge l’antivirus avant les pilotes tiers
  • Measured Boot : enregistre l’état d’amorçage du système pour des vérifications externes (logs, etc).

Le schéma ci-dessous montre un démarrage UEFI sur Windows.

TMP et UEFI : les mesures de sécurité
L'architecture de sécurité du boot UEFI

Secure Boot

Ce mécanisme de sécurité présent dans le standard UEFI protège des bootkits.
En effet, il ne permet de booter que sur des firmwares UEFI signés.
Cette vérification se fait durant la phase BSD.
Ainsi le firmware de l’OS doit être signé.
Si ce n’est pas le cas, on peut alors avoir un message :
Secure Boot Violation.
Invalid Signature Detected.

Violation du secure boot

L’utilisateur peut désactiver le Secure boot depuis le BIOS.
Bien entendu, nous ne conseillons pas de le faire.

ELAM (Early Launch AM Software)

On voit que le noyau Linux charge les pilotes internes et l’antivirus.
Ce n’est qu’après qu’il charge les pilotes tiers.
Ainsi l’antivirus est chargé très tôt et avant les pilotes tiers.
Ces derniers étant très sensibles.
L’antivirus peut donc vérifier ces derniers et éviter qu’un pilote lié à un rootkit ne se charge.

Le schéma ci-dessous compare un boot MBR et UEFI.
Dans le cas du MBR, aucune vérification sur les pilotes n’est effectué.

ELAM (Early Launch AM Software) dans Windows 8 et 10

Enfin rappelons que Windows 8 et 10 64-bits n’autorise que les pilotes signés.
La signature assure aussi de la provenance du pilote.
Cela minimise aussi la possibilité de rootkit.
Les pilotes inconnus ne pouvant être chargés.
Plus d’explications : Signature numérique des fichiers sur Windows et sécurité

UEFI et les rootkits

Ainsi, L’UEFI apporte une protection contre les rootkits.
Toutefois, certaines faiblesses ou mauvais implémentations ont pu permettre la création de rootkit.

Ainsi certains PC Asus avait un secure Boot mal conçu : Mal implémenté par les OEM, le Secure Boot de Windows 8 a été contourné

Par la suite, un rootkit UEFI a vu le jour.
Là aussi il tire partie de certaines mauvaises configurations et ne fonctionnent pas sur tous les PC.
L’article suivant détaille l’attaque.

Liens

Quelques autres liens du site autour des disques MBR et GPT ainsi que le BIOS.

Enfin, les problèmes de démarrage de Windows avec notamment des erreurs BCD :

image_pdfimage_print
(Visité 608 fois, 13 visites ce jour)