Windows Defender System Guard: comment une racine matérielle de confiance protège Windows 10Windows Defender System Guard: How a hardware-based root of trust helps protect Windows 10

Pour protéger les ressources critiques telles que la pile d’authentification Windows, les jetons de connexion unique, la pile biométrique Windows Hello et le module de plateforme sécurisée virtuelle, le microprogramme et le matériel d’un système doivent être dignes de confiance.In order to protect critical resources such as the Windows authentication stack, single sign-on tokens, the Windows Hello biometric stack, and the Virtual Trusted Platform Module, a system's firmware and hardware must be trustworthy.

Windows Defender System Guard réorganise les fonctionnalités existantes d’intégrité du système Windows 10 sous un toit et configure les prochains investissements dans la sécurité Windows.Windows Defender System Guard reorganizes the existing Windows 10 system integrity features under one roof and sets up the next set of investments in Windows security. Ce service est conçu pour garantir les garanties de sécurité suivantes:It's designed to make these security guarantees:

  • Protection et maintien de l’intégrité du système au démarrageProtect and maintain the integrity of the system as it starts up
  • Vérifier que l’intégrité du système a été réellement assurée par le biais de l’attestation locale et distanteValidate that system integrity has truly been maintained through local and remote attestation

Maintien de l’intégrité du système au démarrageMaintaining the integrity of the system as it starts

Racine statique de l’approbation pour la mesure (SRTM)Static Root of Trust for Measurement (SRTM)

Dans Windows 7, l’un des moyens que les pirates utilisent pour persister et échapper à la détection était d’installer ce qu’il est souvent appelé bootkit ou Rootkit sur le système.With Windows 7, one of the means attackers would use to persist and evade detection was to install what is often referred to as a bootkit or rootkit on the system. Ce logiciel malveillant démarrait avant le démarrage de Windows ou lors du processus de démarrage lui-même, ce qui lui permettra de démarrer avec le niveau de privilège le plus élevé.This malicious software would start before Windows started, or during the boot process itself, enabling it to start with the highest level of privilege.

Lorsque Windows 10 est en cours d’exécution sur du matériel moderne (Windows 8-Certified ou version ultérieure), une racine matérielle de confiance est assurée qu’aucun microprogramme ou logiciel non autorisé (tel qu’un bootkit) ne peut commencer avant le bootloader Windows.With Windows 10 running on modern hardware (that is, Windows 8-certified or greater) a hardware-based root of trust helps ensure that no unauthorized firmware or software (such as a bootkit) can start before the Windows bootloader. Cette racine matérielle de confiance provient de la fonctionnalité de démarrage sécurisé du périphérique, qui fait partie de l’interface UEFI (Unified EFI interface).This hardware-based root of trust comes from the device’s Secure Boot feature, which is part of the Unified Extensible Firmware Interface (UEFI). Il s’agit de la technique de mesure des composants UEFI de démarrage à l’avance statique pour la mesure (SRTM).This technique of measuring the static early boot UEFI components is called the Static Root of Trust for Measurement (SRTM).

Dans la mesure où il existe des milliers de fournisseurs de PC qui produisent de nombreux modèles avec différentes versions de BIOS UEFI, il devient un grand nombre de mesures SRTM lors du démarrage.As there are thousands of PC vendors that produce numerous models with different UEFI BIOS versions, there becomes an incredibly large number of SRTM measurements upon bootup. Il existe deux techniques pour mettre en place une relation d’approbation (par exemple, une liste de mesures SRTM’incorrectes’connues) ou une liste de mesures SRTM connues de’bon' (également appelée liste verte).Two techniques exist to establish trust here—either maintain a list of known 'bad' SRTM measurements (also known as a block list), or a list of known 'good' SRTM measurements (also known as an allow list). Le désavantage de chaque option est le suivant:Each option has a drawback:

  • Une liste des mesures SRTM’incorrectes’connues permet aux pirates de changer uniquement 1 bit dans un composant pour créer un nouveau hachage SRTM qui doit être répertorié.A list of known 'bad' SRTM measurements allows a hacker to change just 1 bit in a component to create an entirely new SRTM hash that needs to be listed. Cela signifie que le flux SRTM est par essence fragile: une modification mineure peut invalider l’ensemble de la chaîne de confiance.This means that the SRTM flow is inherently brittle - a minor change can invalidate the entire chain of trust.
  • Une liste des mesures de bon de SRTM connues nécessite chaque nouvelle mesure combinée du BIOS/PC, qui est lente.A list of known 'good' SRTM measurements requires each new BIOS/PC combination measurement to be carefully added, which is slow. Par ailleurs, un correctif pour le code UEFI peut prendre beaucoup de temps pour la conception, la création, le test, la validation et le redéploiement.In addition, a bug fix for UEFI code can take a long time to design, build, retest, validate, and redeploy.

Lancement sécurisé: racine dynamique de l’approbation de mesure (DRTM)Secure Launch—the Dynamic Root of Trust for Measurement (DRTM)

Le lancement sécurisé de Windows Defender System Guard, d’abord introduit dans Windows 10 version 1809, a pour but de soulager ces problèmes en tirant parti d’une technologie connue sous le nom de racine dynamique de l’approbation de mesure (DRTM).Windows Defender System Guard Secure Launch, first introduced in Windows 10 version 1809, aims to alleviate these issues by leveraging a technology known as the Dynamic Root of Trust for Measurement (DRTM). DRTM permet au système de s’amorcer librement dans le code non approuvé, mais peu après le lancement du système dans un État approuvé en prenant le contrôle de tous les processeurs et en le forçant à un chemin de code bien connu et mesuré.DRTM lets the system freely boot into untrusted code initially, but shortly after launches the system into a trusted state by taking control of all CPUs and forcing them down a well-known and measured code path. Cela a l’avantage de permettre à du code UEFI antérieur d’être approuvé de démarrer le système, mais d’être en mesure de basculer en toute sécurité dans un État approuvé et mesuré.This has the benefit of allowing untrusted early UEFI code to boot the system, but then being able to securely transition into a trusted and measured state.

Lancement sécurisé de System Guard

Le lancement sécurisé simplifie la gestion des mesures SRTM, car le code de lancement est désormais sans rapport à une configuration matérielle spécifique.Secure Launch simplifies management of SRTM measurements because the launch code is now unrelated to a specific hardware configuration. En d’autres termes, le nombre de mesures de code valides est faible, et les mises à jour ultérieures peuvent être déployées plus facilement et plus rapidement.This means the number of valid code measurements is small, and future updates can be deployed more widely and quickly.

Protection du mode de gestion système (SMM)System Management Mode (SMM) protection

Le mode de gestion du système (SMM) est un mode UC spécial dans les microcontrôleurs x86 qui gère la gestion de l’alimentation, la configuration matérielle, la surveillance thermique et toute autre information que le fabricant estime utile.System Management Mode (SMM) is a special-purpose CPU mode in x86 microcontrollers that handles power management, hardware configuration, thermal monitoring, and anything else the manufacturer deems useful. Dès lors que l’une de ces opérations système est demandée, une interruption non masquable (SMI) est appelée lors de l’exécution, ce qui exécute le code SMM installé par le BIOS.Whenever one of these system operations is requested, a non-maskable interrupt (SMI) is invoked at runtime, which executes SMM code installed by the BIOS. Le code du SMM s’exécute dans le niveau de privilèges le plus élevé et est invisible pour le système d’exploitation, ce qui en fait un objectif attractif pour une activité malveillante.SMM code executes in the highest privilege level and is invisible to the OS, which makes it an attractive target for malicious activity. Même si le lancement sécurisé de System Guard est utilisé pour le lancement tardif, le code de SMM peut éventuellement accéder à la mémoire de l’hyperviseur et changer l’hyperviseur.Even if System Guard Secure Launch is used to late launch, SMM code can potentially access hypervisor memory and change the hypervisor. Pour se défendre, deux techniques sont utilisées:To defend against this, two techniques are used:

  1. Protection de la pagination pour empêcher tout accès inapproprié au code et aux donnéesPaging protection to prevent inappropriate access to code and data
  2. SMM-supervision matérielle et attestationSMM hardware supervision and attestation

La protection par radiomessagerie peut être implémentée de façon à ce que certains tableaux de code soient en lecture seule pour empêcher toute falsification.Paging protection can be implemented to lock certain code tables to be read-only to prevent tampering. Cela évite d’avoir accès à des mémoires qui n’ont pas été spécifiquement affectées.This prevents access to any memory that has not been specifically assigned.

Une fonctionnalité de processeur appliquée par le matériel appelé gestionnaire SMI de superviseur peut surveiller le SMM et vérifier qu’il n’y a pas accès à une partie de l’espace d’adressage qu’il n’est pas censé utiliser.A hardware-enforced processor feature known as a supervisor SMI handler can monitor the SMM and make sure it does not access any part of the address space that it is not supposed to.

La protection de SMM est basée sur la technologie de lancement sécurisé et nécessite son fonctionnement.SMM protection is built on top of the Secure Launch technology and requires it to function. À l’avenir, Windows 10 mesurera également ce comportement du gestionnaire SMI et atteste qu’il n’a pas été falsifié de mémoire de système d’exploitation.In the future, Windows 10 will also measure this SMI Handler’s behavior and attest that no OS-owned memory has been tampered with.

Validation de l’intégrité de la plateforme une fois que Windows est en cours d’exécution (temps d’exécution)Validating platform integrity after Windows is running (run time)

Même si Windows Defender System Guard fournit une protection avancée qui contribue à protéger et à maintenir l’intégrité de la plateforme au démarrage et au moment de l’exécution, nous devons appliquer une mentalité «supposer une brèche» aux technologies de sécurité les plus sophistiquées.While Windows Defender System Guard provides advanced protection that will help protect and maintain the integrity of the platform during boot and at run time, the reality is that we must apply an "assume breach" mentality to even our most sophisticated security technologies. Nous devons être en mesure de faire confiance aux technologies qui font leurs tâches, mais nous avons également besoin de vérifier qu’elles ont bien atteint leurs objectifs.We should be able to trust that the technologies are successfully doing their jobs, but we also need the ability to verify that they were successful in achieving their goals. Dans le cadre de l’intégrité de la plateforme, nous ne pouvons pas faire confiance à la plate-forme, qui pourrait être violée, en libre-service de l’état de sécurité.When it comes to platform integrity, we can’t just trust the platform, which potentially could be compromised, to self-attest to its security state. Ainsi, Windows Defender System Guard inclut une série de technologies qui permettent une analyse à distance de l’intégrité de l’appareil.So Windows Defender System Guard includes a series of technologies that enable remote analysis of the device’s integrity.

Au démarrage de Windows 10, une série de mesures d’intégrité est prise par le système Windows Defender Guard à l’aide du module de plateforme sécurisée 2,0 (TPM 2,0).As Windows 10 boots, a series of integrity measurements are taken by Windows Defender System Guard using the device’s Trusted Platform Module 2.0 (TPM 2.0). Le lancement sécurisé de System Guard ne prend pas en charge les versions antérieures de TPM, comme le TPM 1,2.System Guard Secure Launch will not support earlier TPM versions, such as TPM 1.2. Ce processus et ces données sont isolés du matériel de Windows pour garantir que les données de mesure ne sont pas soumises au type de falsification qui peut se produire si la plateforme était compromise.This process and data are hardware-isolated away from Windows to help ensure that the measurement data is not subject to the type of tampering that could happen if the platform was compromised. À partir de cet emplacement, les mesures peuvent être utilisées pour déterminer l’intégrité du microprogramme de l’appareil, de l’état de configuration matérielle et des composants liés au démarrage de Windows, et ce, en tout lieu.From here, the measurements can be used to determine the integrity of the device’s firmware, hardware configuration state, and Windows boot-related components, just to name a few.

Intégrité du temps de démarrage

Une fois le système démarré, la protection du système Windows Defender signe et scelle ces mesures à l’aide du module de plateforme sécurisée.After the system boots, Windows Defender System Guard signs and seals these measurements using the TPM. À la demande, un système de gestion comme Intune ou Microsoft Endpoint Configuration Manager peut les acquérir pour l’analyse à distance.Upon request, a management system like Intune or Microsoft Endpoint Configuration Manager can acquire them for remote analysis. Si le système de protection du système Windows Defender indique que l’appareil n’est pas doté de l’intégrité, le système de gestion peut effectuer une série d’actions, comme le refus de l’accès de l’appareil aux ressources.If Windows Defender System Guard indicates that the device lacks integrity, the management system can take a series of actions, such as denying the device access to resources.