Sécuriser le processus de démarrage de Windows
Windows a de nombreuses fonctionnalités pour vous protéger contre les programmes malveillants, et il fait un travail incroyablement bon. À l'exception des applications que les entreprises développent et utilisent en interne, toutes les applications du Microsoft Store doivent satisfaire à une série de conditions requises pour être certifiées et acceptées dans le Microsoft Store. Ce processus de certification examine plusieurs critères, notamment de sécurité. Il constitue un moyen efficace pour empêcher les programmes malveillants de pénétrer dans le Microsoft Store. Même si une application malveillante arrive, Windows inclut une série de fonctionnalités de sécurité qui peuvent atténuer l’effet. Par exemple, les applications du Microsoft Store sont isolées et ne possèdent pas les privilèges nécessaires pour accéder aux données utilisateur ou modifier les paramètres système.
Windows offre également plusieurs niveaux de protection pour les applications de bureau et les données. Antivirus Windows Defender utilise la détection en temps réel optimisée pour le cloud pour identifier et mettre en quarantaine les applications connues pour être malveillantes. Windows Defender SmartScreen avertit les utilisateurs avant de leur permettre d’exécuter une application non fiable, même si elle est reconnue comme malveillante. Avant qu’une application puisse modifier les paramètres système, l’utilisateur devra accorder à cette application les privilèges d’administration à l'aide du contrôle de compte d’utilisateur.
Ce ne sont là que quelques-unes des façons dont Windows vous protège contre les programmes malveillants. Toutefois, ces fonctionnalités de sécurité vous protègent uniquement après le démarrage de Windows. Les programmes malveillants modernes, en particulier les bootkits, sont capables de démarrer avant Windows, en contournant complètement la sécurité du système d’exploitation et en restant complètement masqués.
L’exécution de Windows 10 ou Windows 11 sur un PC avec prise en charge uefi (Unified Extensible Firmware Interface) garantit que le démarrage fiable protège votre PC contre les programmes malveillants dès le moment où vous l’allumez. Cette protection se poursuit jusqu’à ce que votre logiciel anti-programme malveillant prenne le contrôle. Si, par hasard, un programme malveillant parvient à infecter votre PC, il ne pourra pas rester caché. Le démarrage approuvé peut vérifier l’intégrité du système à votre infrastructure d’une manière que les logiciels malveillants ne peuvent pas masquer. Même pour les PC sans UEFI, Windows offre une sécurité de démarrage améliorée par rapport aux versions antérieures de Windows.
Pour commencer, examinons de plus près les rootkits et leur fonctionnement. Ensuite, nous allons illustrer comment Windows peut garantir votre protection.
La menace : les rootkits
Rootkits sont un type de programme malveillant sophistiqué et dangereux. Ils s’exécutent en mode noyau, en utilisant les mêmes privilèges que le système d’exploitation. Comme les rootkits ont les mêmes droits que le système d’exploitation et qu'ils démarrent avant lui, ils peuvent se cacher complètement, ainsi que d'autres applications. Souvent, les rootkits font partie d’une suite complète de programmes malveillants qui peuvent contourner les connexions d’accès locales, enregistrer les mots de passe et les frappes au clavier, transférer des fichiers privés et capturer les données de chiffrement.
Différents types de rootkits peuvent se charger au cours de différentes phases du processus de démarrage :
- Rootkits de microprogramme. Ces kits remplacent le microprogramme du système d’entrée/sortie de base du PC ou d'autres matériels afin de pouvoir démarrer avant Windows.
- Bootkits. Ces kits remplacent le chargeur de démarrage du système d’exploitation (le petit logiciel qui démarre le système d’exploitation) afin que le PC charge le bootkit de démarrage avant le système d’exploitation.
- Rootkits de noyau. Ces kits remplacent une partie du noyau du système d’exploitation kernel afin que le rootkit puisse démarrer automatiquement lors du chargement du système d’exploitation.
- Rootkits pilotes. Ces kits prétendent être un des pilotes approuvés que Windows utilise pour communiquer avec le matériel du PC.
Les contre-mesures
Windows prend en charge quatre fonctionnalités pour empêcher le chargement des rootkits et des bootkits pendant le processus de démarrage :
- Démarrage sécurisé. Les PC dotés d'un microprogramme UEFI et d'un Module de plateforme sécurisée (TPM) peuvent être configurés pour ne charger que les chargeurs de démarrage de système d’exploitation approuvés.
- Démarrage approuvé. Windows vérifie l’intégrité de tous les composants du processus de démarrage avant de le charger.
- Logiciel anti-programme malveillant à lancement anticipé (ELAM). L'ELAM teste tous les pilotes avant leur chargement et empêche le chargement des pilotes non approuvés.
- Démarrage mesuré. Le microprogramme du PC enregistre le processus de démarrage, et Windows peut l'envoyer à un serveur approuvé capable d'évaluer objectivement l’état d’intégrité du PC.
La figure 1 montre le processus de démarrage de Windows.
Figure 1. Le démarrage sécurisé, le démarrage approuvé et le démarrage mesuré bloquent les programmes malveillants à chaque étape:
Le démarrage sécurisé et le démarrage mesuré ne sont possibles que sur les PC dotés d'UEFI 2.3.1 et d'une puce TPM. Heureusement, tous les PC Windows 10 et Windows 11 qui répondent aux exigences du programme de compatibilité matérielle de Windows possèdent ces composants, et de nombreux PC conçus pour des versions antérieures de Windows en sont également dotés.
Les sections qui suivent décrivent le démarrage sécurisé, le démarrage approuvé, l'ELAM et le démarrage mesuré.
Démarrage sécurisé
Lorsqu’un PC démarre, il trouve d’abord le chargeur de démarrage du système d’exploitation. Les PC sans démarrage sécurisé exécutent simplement le chargeur de démarrage qui se trouve sur le disque dur du PC. Il n’existe aucun moyen pour le PC de savoir s’il s’agit d’un système d’exploitation de confiance ou d'un rootkit.
Quand un PC équipé d’UEFI démarre, le PC vérifie d’abord que le microprogramme est signé numériquement, réduisant ainsi le risque qu'il s'agisse d'un rootkit de microprogramme. Si le démarrage sécurisé est activé, le microprogramme examine la signature numérique du chargeur de démarrage pour vérifier qu’elle n’a pas été modifiée. Si le chargeur de démarrage est intact, le microprogramme démarre le chargeur de démarrage uniquement si l'une des conditions suivantes est vraie :
- Le chargeur de démarrage a été signé au moyen d’un certificat approuvé. Pour les PC certifiés pour Windows, le certificat Microsoft est approuvé.
- L’utilisateur a approuvé manuellement la signature numérique du chargeur de démarrage. Cela permet à l’utilisateur à charger des systèmes d’exploitation autres que Microsoft.
Tous les PC Certifiés pour Windows x86 doivent répondre à plusieurs exigences liées au démarrage sécurisé :
- Celle-ci doit être activée par défaut.
- Ils doivent faire confiance au certificat Microsoft (et donc, tout chargeur de démarrage signé par Microsoft).
- Ils doivent permettre à l’utilisateur de configurer le démarrage sécurisé de sorte qu'il approuve d'autres chargeurs de démarrage.
- Ils doivent permettre à l’utilisateur de désactiver complètement le démarrage sécurisé.
Ces exigences vous protègent contre les rootkits tout en vous permettant d’exécuter n’importe quel système d’exploitation. Trois options s’offrent à vous pour exécuter des systèmes d’exploitation autres que Microsoft :
- Utilisez un système d’exploitation avec un chargeur de démarrage certifié. Étant donné que tous les PC Certifiés pour Windows doivent approuver le certificat Microsoft, Microsoft propose un service permettant d’analyser et de signer tout chargeur de démarrage non-Microsoft afin qu’il soit approuvé par tous les PC Certifiés pour Windows. En fait, un chargeur de démarrage open source capable de charger Linux est déjà disponible. Pour commencer le processus d’obtention d’un certificat, accédez à https://partner.microsoft.com/dashboard.
- Configurez UEFI pour approuver votre chargeur de démarrage personnalisé. Tous les PC certifiés pour Windows vous permettent d’approuver un chargeur de démarrage non certifié en ajoutant une signature à la base de données UEFI, ce qui vous permet d’exécuter n’importe quel système d’exploitation, y compris les systèmes d’exploitation « faits maison ».
- Désactivez le démarrage sécurisé. Tous les PC Certifiés pour Windows vous permettent de désactiver le démarrage sécurisé afin de pouvoir exécuter n’importe quel logiciel. Toutefois, cette action ne vous protège contre les bootkits.
Pour empêcher les programmes malveillants de tirer parti de ces options, l’utilisateur doit configurer manuellement le microprogramme UEFI pour approuver un chargeur de démarrage non certifié ou pour désactiver la fonctionnalité de démarrage sécurisé. Un logiciel ne peut pas modifier les paramètres du démarrage sécurisé.
L’état par défaut du démarrage sécurisé a un large cercle d’approbation, ce qui peut conduire les clients à approuver les composants de démarrage dont ils n’ont peut-être pas besoin. Étant donné que le certificat d’autorité de certification UEFI tierce de Microsoft signe les chargeurs de démarrage pour toutes les distributions Linux, l’approbation de la signature d’autorité de certification UEFI tierce de Microsoft dans la base de données UEFI augmente la surface d’attaque des systèmes. Un client qui avait l’intention d’approuver et de démarrer une seule distribution Linux approuvera toutes les distributions, plus que sa configuration souhaitée. Une vulnérabilité dans l’un des chargeurs de démarrage expose le système et expose le client au risque d’exploitation pour un chargeur de démarrage qu’il n’a jamais eu l’intention d’utiliser, comme illustré dans les vulnérabilités récentes, par exemple avec le chargeur de démarrage GRUB ou le rootkit au niveau du microprogramme affectant les composants de démarrage. Les PC à cœur sécurisé nécessitent que le démarrage sécurisé soit activé et configuré pour se méfier de la signature d’autorité de certification UEFI de Microsoft 3e partie, par défaut, afin de fournir aux clients la configuration la plus sécurisée possible de leurs PC.
Pour approuver et démarrer des systèmes d’exploitation, tels que Linux, et des composants signés par la signature UEFI, les PC Secured-core peuvent être configurés dans le menu BIOS pour ajouter la signature dans la base de données UEFI en procédant comme suit :
- Ouvrez le menu du microprogramme :
- Démarrez le PC, puis appuyez sur la touche du fabricant pour ouvrir les menus. Clés courantes utilisées : Échap, Supprimer, F1, F2, F10, F11 ou F12 Sur les tablettes, les boutons courants sont Volume vers le haut ou Volume vers le bas. Au démarrage, il y a souvent un écran qui mentionne la clé. S’il n’y en a pas, ou si l’écran passe trop vite pour le voir, consultez le site de votre fabricant.
- Ou, si Windows est déjà installé, à partir de l’écran De connexion ou du menu Démarrer, sélectionnez Marche/Arrêt ( ) > maintenez la touche Maj enfoncée tout en sélectionnant Redémarrer. Sélectionnez Résoudre les problèmes des > options > avancées Paramètres du microprogramme UEFI.
- Dans le menu du microprogramme, accédez à Démarrage sécurisé de sécurité > et sélectionnez l’option permettant d’approuver l'« autorité de certification tierce ».
- Enregistrez les modifications et quittez.
Microsoft Corporation continue de collaborer avec les partenaires de l’écosystème Linux et IHV pour concevoir des fonctionnalités les moins privilégiées afin de vous aider à rester en sécurité et à approuver uniquement les éditeurs et les composants de confiance.
Comme la plupart des appareils mobiles, les appareils basés sur la technologie Arm, tels que l’appareil Surface RT de Microsoft Corporation, sont conçus pour fonctionner uniquement sous Windows 8.1. Par conséquent, le démarrage sécurisé ne peut pas être désactivé et vous ne pouvez pas charger un autre système d’exploitation. Heureusement, il existe une large gamme d'appareils avec un processeur ARM conçus pour exécuter d’autres systèmes d’exploitation.
Démarrage approuvé
Le démarrage approuvé prend le relais lorsque le démarrage sécurisé se termine. Le chargeur de démarrage vérifie la signature numérique du noyau Windows avant de le charger. Le noyau Windows vérifie à son tour tous les autres composants du processus de démarrage de Windows, y compris les pilotes de démarrage, les fichiers de démarrage et ELAM. Si un fichier a été modifié, le chargeur de démarrage détecte le problème et refuse de charger le composant endommagé. Souvent, Windows peut réparer automatiquement le composant endommagé, en restaurant l’intégrité de Windows et en permettant au PC de démarrer normalement.
Anti-programme malveillant à lancement anticipé
Étant donné que le démarrage sécurisé a protégé le chargeur de démarrage et que le démarrage approuvé a protégé le noyau Windows, l'opportunité suivante pour le démarrage d'un programme malveillant réside dans l'infection d'un pilote de démarrage non-Microsoft. Les applications anti-programmes malveillants traditionnelles ne démarrent pas tant que les pilotes de démarrage ont été chargés, ce qui donne une opportunité de fonctionnement à un rootkit déguisé en pilote.
L’anti-programme malveillant à lancement anticipé (ELAM) peut charger un pilote anti-programme malveillant Microsoft ou non-Microsoft avant tous les pilotes et applications de démarrage non-Microsoft, ce qui permet de poursuivre la chaîne de confiance établie par le démarrage sécurisé et le démarrage approuvé. Étant donné que le système d’exploitation n’a pas encore démarré, et dans la mesure où Windows doit démarrer aussi rapidement que possible, l'ELAM a une tâche simple : examiner chaque pilote de démarrage et de déterminer s’il figure sur la liste des pilotes approuvés. S’il n’est pas approuvé, Windows ne le charge pas.
Un pilote ELAM n’est pas une solution anti-programme malveillant complète. Celle-ci se charge plus loin au cours du processus de démarrage. Windows Defender (inclus avec Windows) prend en charge ELAM, tout comme plusieurs applications anti-programme malveillant non Microsoft.
Démarrage mesuré
Si un PC de votre organisation est infecté par un rootkit, vous devez vous renseigner à son sujet. Les applications anti-programme malveillant de l’entreprise peuvent signaler les infections au service informatique, mais cela ne fonctionne pas avec les rootkits qui masquent leur présence. En d’autres termes, vous ne pouvez pas faire confiance au client pour vous dire s'il est intègre.
Par conséquent, les ordinateurs infectés par des rootkits paraissent sains, même avec des logiciels anti-programme malveillant en cours d’exécution. Les PC infectés continuent à se connecter au réseau de l’entreprise, ce qui donne au rootkit l'accès à de grandes quantités de données confidentielles et lui offre éventuellement l'opportunité de se répandre sur le réseau interne.
Démarrage mesuré fonctionne avec le module de plateforme sécurisée (TPM) et les logiciels non-Microsoft dans Windows. Il permet à un serveur approuvé sur le réseau de vérifier l’intégrité du processus de démarrage de Windows. La fonctionnalité de démarrage mesuré suit le processus suivant :
- Le microprogramme UEFI du PC stocke dans le module de plateforme sécurisée un hachage du microprogramme, du chargeur de démarrage, des pilotes de démarrage et de tout ce qui est chargé avant l’application anti-programme malveillant.
- À la fin du processus de démarrage, Windows démarre le client d’attestation non-Microsoft à distance. Le serveur d’attestation approuvée envoie au client une clé unique.
- Le module de plateforme sécurisée utilise la clé unique pour signer numériquement le journal enregistré par l’UEFI.
- Le client envoie le journal au serveur, accompagné éventuellement d’autres informations de sécurité.
En fonction de l’implémentation et de la configuration, le serveur peut maintenant déterminer si le client est sain. Il peut accorder au client l’accès à un réseau de quarantaine limité ou à l’ensemble du réseau.
La Figure 2 illustre le processus de démarrage mesuré et d’attestation à distance.
Figure 2. Le démarrage mesuré prouve l’intégrité du PC à un serveur distant:
Windows inclut les interfaces de programmation d’applications pour prendre en charge le démarrage mesuré. Toutefois, pour en tirer parti, vous avez besoin d’outils non-Microsoft pour implémenter un client d’attestation distant et un serveur d’attestation approuvé. Par exemple, consultez les outils suivants de Microsoft Research :
Le démarrage mesuré exploite la puissance de l'UEFI, du TPM et de Windows pour vous donner un moyen d'évaluer de manière fiable le niveau de confiance d'un PC client du réseau.
Résumé
Le démarrage sécurisé, le démarrage approuvé et le démarrage mesuré créent une architecture résistante par nature aux bootkits et rootkits. Dans Windows, ces fonctionnalités peuvent éliminer les programmes malveillants au niveau du noyau de votre réseau. Avec Windows, vous pouvez faire confiance à l’intégrité de votre système d’exploitation.