Partager via


Contrôle de l’intégrité des appareils Windows 10

Cet article décrit une solution de bout en bout qui vous permet de protéger les ressources auxquelles vous accordez le plus d’importance en activant, en contrôlant et en signalant l’état d’intégrité des appareils Windows 10.

Introduction

Dans les scénarios Apportez votre propre appareil (BYOD, Bring Your Own Device), les employés apportent leurs appareils grand public pour accéder aux ressources professionnelles et à leurs données personnelles. Les utilisateurs veulent utiliser l’appareil de leur choix pour accéder aux applications, aux données et aux ressources de l’entreprise, non seulement depuis le réseau interne, mais aussi depuis l’endroit où ils se trouvent. Ce phénomène est également appelé consumérisation de l’informatique.

Les utilisateurs veulent bénéficier d’une productivité optimale lorsqu’ils accèdent aux applications professionnelles et utilisent les données de l’entreprise sur leurs appareils. Ils ne veulent donc pas devoir saisir leurs informations d’identification professionnelles chaque fois qu’ils accèdent à une application ou à un serveur de fichiers. Sur le plan de la sécurité, cela signifie également que les utilisateurs manipulent des informations d’identification professionnelles et des données d’entreprise sur des appareils non gérés.

Le BYOD se généralisant, le nombre de systèmes non gérés et potentiellement non sains accédant aux services d’entreprise, aux ressources internes et aux applications dans le cloud ne peut qu’augmenter.

Même les appareils entièrement gérés peuvent être compromis et devenir dangereux. Les entreprises doivent détecter les failles de sécurité et y réagir le plus tôt possible pour protéger les ressources auxquelles elles accordent une très grande importance.

Microsoft évolue et ses investissements en matière de sécurité sont de plus en plus axés sur des mesures de sécurité préventives, ainsi que sur des fonctionnalités de détection et de réaction.

Windows 10 est un composant essentiel d’une solution de sécurité de bout en bout qui ne se contente pas seulement d’implémenter des mesures de sécurité préventives, mais qui complète aussi la stratégie globale de sécurité avec des fonctionnalités d’attestation de l’intégrité.

Description d’une solution de sécurité de bout en bout robuste

Aujourd’hui, les menaces informatiques augmentent à une cadence élevée, tout à fait inédite. Les attaques criminelles sont de plus en plus sophistiquées et il ne fait aucun doute que les programmes malveillants ciblent maintenant aussi bien les particuliers que les professionnels, tous secteurs d’activité confondus.

Au cours de ces dernières années, une catégorie de menace en particulier se généralise : les menaces avancées persistantes (APT, Advanced Persistent Threats). L’acronyme APT désigne toutes les menaces qui semblent cibler les entreprises individuelles de manière récurrente. En réalité, ce type d’attaque implique habituellement des adversaires déterminés, capables d’utiliser toutes les méthodes ou techniques nécessaires.

Avec le phénomène du BYOD, un appareil mal géré représente une cible de choix. Pour une pirate, il offre un moyen simple de franchir le périmètre de sécurité du réseau, d’accéder à des ressources de grande importante et de les voler.

Les pirates ciblent les particuliers, non pas uniquement pour des motifs personnels, mais pour atteindre l’entreprise qui les emploie. Avec un appareil infecté, les programmes malveillants peuvent entrer dans l’entreprise, même si celle-ci a renforcé le périmètre des réseaux ou investi dans un système défensif. Une stratégie de défense ne suffit pas à lutter contre ces menaces.

Approche différente

Pour être efficace, une stratégie de sécurité ne doit pas se contenter d’une approche défensive traditionnelle. Elle doit aussi tenir compte du fait que ses adversaires sont déterminés et qu’ils sont en mesure de franchir toutes les défenses. Il est donc nécessaire de changer d’optique et de remplacer les contrôles de sécurité préventifs par des solutions de détection et de réponse aux problèmes de sécurité. Par conséquent, l’implémentation d’une stratégie de gestion des risques doit reposer sur un investissement à parts égales dans la prévention, la détection et la réponse.

Dans la mesure où les appareils mobiles sont de plus en plus utilisés pour accéder aux informations d’entreprise, des solutions d’évaluation de la sécurité ou de l’intégrité des appareils sont indispensables. Cette section explique comment mettre en service une évaluation d’intégrité des appareils de manière à protéger ceux jugés non sains et les ressources auxquelles l’entreprise accorde une très grande importance.

Les appareils qui sont utilisés pour accéder aux ressources d’entreprise doivent être fiables. Pour être efficace, une approche de la sécurité doit pouvoir évaluer l’état d’intégrité d’un appareil et utiliser l’état de sécurité en cours pour accorder l’accès à une ressource de valeur élevée.

Figure 1

Une conception robuste doit établir l’identité de l’utilisateur, renforcer la méthode d’authentification si nécessaire et apprendre un comportement comme l’emplacement à partir duquel l’utilisateur se connecte régulièrement au réseau. En outre, une approche moderne ne doit permettre la diffusion d’un contenu sensible que si l’intégrité et la sécurité des appareils des utilisateurs ont été vérifiées.

La figure suivante montre une solution conçue pour évaluer l’état d’intégrité d’un appareil à partir du cloud. L’appareil authentifie l’utilisateur via une connexion à un fournisseur d’identité dans le cloud. Si la ressource gérée contient des informations hautement confidentielles, le moteur d’accès conditionnel du fournisseur d’identité peut choisir de vérifier la conformité de la sécurité de l’appareil mobile avant d’accorder l’accès. L’appareil de l’utilisateur peut prouver son état d’intégrité et l’envoyer à tout moment ou lorsque la solution de gestion des appareils mobiles (GPM) l’exige.

Figure 2

Les appareils Windows peuvent être protégés contre les rootkits et les bootkits de bas niveau à l’aide de technologies matérielles de bas niveau, telles que le démarrage sécurisé UEFI (Unified Extensible Firmware Interface).

Le démarrage sécurisé est un processus de validation de microprogramme qui permet d’éviter les attaques par rootkit ; il fait partie de la spécification UEFI. L’UEFI tente de définir un mode de communication standard entre le système d’exploitation et le matériel moderne, soit des performances plus rapides et des fonctions d’entrée/sortie (E/S) plus efficaces que les systèmes BIOS plus anciens reposant sur les interruptions logicielles.

Un module d’attestation d’intégrité de l’appareil peut communiquer à un service distant les données de démarrage mesurées protégées par un module de plateforme sécurisée (TPM, Trusted Platform Module). Une fois que l’appareil démarre, les données de mesure du processus de démarrage sont envoyées à un service dans le cloud approuvé (service d’attestation d’intégrité), via un canal de communication sécurisé et inviolable.

Le service d’attestation d’intégrité à distance procède à toute une série de vérifications des mesures. Il valide les points de données liés à la sécurité, notamment l’état du démarrage (démarrage sécurisé, mode débogage, etc.), ainsi que l’état des composants qui gèrent la sécurité (BitLocker, Device Guard, etc.). Il informe ensuite de l’état d’intégrité de l’appareil en renvoyant sur celui-ci un objet BLOB chiffré.

Une solution GPM applique généralement les stratégies de configuration et déploie les logiciels sur les appareils. Cette solution définit les bases de la sécurité. Elle connaît le niveau de conformité de l’appareil, car elle recherche régulièrement les logiciels installés, la configuration appliquée et l’état d’intégrité de l’appareil.

Une solution GPM demande à l’appareil d’envoyer des informations sur son état d’intégrité et transmet l’objet BLOB chiffré sur l’intégrité au service d’attestation d’intégrité à distance. Ce service vérifie les données sur l’état d’intégrité de l’appareil, contrôle que la solution GPM communique avec ce même appareil, puis émet un rapport sur l’intégrité de l’appareil qu’il retransmet à la solution GPM.

Une solution GPM évalue les assertions d’intégrité et, en fonction des règles d’intégrité que l’entreprise a définies, peut décider si l’appareil est sain. Si l’appareil est jugé sain et conforme, la solution GPM transmet ces informations au fournisseur d’identité afin que la stratégie de contrôle des accès de l’entreprise puisse être appelée pour accorder l’accès.

L’accès au contenu est alors autorisé au niveau de confiance approprié, en fonction de l’état d’intégrité et d’autres éléments conditionnels.

Selon la configuration requise et la sensibilité de la ressource gérée, l’état d’intégrité de l’appareil peut être associé aux informations sur l’identité de l’utilisateur au moment du traitement de la demande d’accès. L’accès au contenu est ensuite autorisé au niveau de confiance approprié. Si nécessaire, le moteur d’accès conditionnel peut être structuré pour permettre une vérification supplémentaire en fonction de la sensibilité de la ressource gérée. Par exemple, si un accès à des données de grande importance est demandé, une authentification de sécurité supplémentaire est parfois requise. Il s’agit par exemple de demander à l’utilisateur de répondre à un appel téléphonique avant de lui accorder l’accès.

Investissements de Microsoft en matière de sécurité dans Windows 10

Pour Windows 10, nous avons investi dans trois domaines majeurs :

  • Identités sécurisées. Microsoft fait partie de l’alliance FIDO dont l’objectif est de proposer une méthode interopérable d’authentification sécurisée et de délaisser les mots de passe, aussi bien sur les systèmes locaux que sur l’ensemble des services comme les ressources sur site et les ressources du cloud.

  • Protection des informations. Microsoft investit pour permettre aux entreprises de mieux contrôler les personnes qui ont accès aux données importantes et ce qu’elles peuvent faire avec ces données. Avec Windows 10, les entreprises peuvent tirer parti des stratégies qui indiquent les applications considérées comme des applications d’entreprise et pouvant être autorisées à accéder aux données sécurisées.

  • Résistance aux menaces. Microsoft aide les entreprises à mieux sécuriser leurs ressources contre les menaces que représentent les programmes malveillants et les attaques en utilisant des défenses de sécurité reposant sur le matériel.

Protéger, contrôler et signaler l’état de sécurité des appareils Windows 10

Cette section est une vue d’ensemble. Elle décrit différentes parties de la solution de sécurité de bout en bout qui protège les ressources et les informations de grande importance contre les pirates et les programmes malveillants.

Figure 3

Numéro Partie de la solution Description

1

Appareil Windows 10

La première fois qu’un appareil Windows 10 est mis sous tension, l’écran OOBE (Out-of-the box Experience) s’affiche. Pendant l’installation, l’appareil peut être automatiquement enregistré dans Azure Active Directory (AD) et inscrit auprès d’une solution de gestion des appareils mobiles.

Un appareil Windows 10 avec TPM 2.0 peut signaler son état d’intégrité à tout moment à l’aide du service d’attestation d’intégrité disponible dans toutes les éditions de Windows 10.

2

Fournisseur d’identité

Azure AD contient les utilisateurs, les appareils enregistrés et l’application enregistrée du client de l’entreprise. Un appareil appartient toujours à un utilisateur et un utilisateur peut avoir plusieurs appareils. Un appareil est représenté comme un objet avec différents attributs, comme l’état de conformité de l’appareil. Une solution GPM fiable peut mettre à jour l’état de conformité.

Azure AD est plus qu’un référentiel. Azure AD est capable d’authentifier les utilisateurs et les appareils et peut également autoriser l’accès aux ressources gérées. Azure AD possède un moteur de contrôle d’accès conditionnel qui tire profit de l’identité de l’utilisateur, de la localisation de l’appareil et de l’état de conformité de l’appareil pour décider d’accorder un accès sécurisé.

3

Gestion des appareils mobiles

Windows 10 prend en charge la gestion des appareils mobiles, ce qui signifie que les appareils peuvent être gérés immédiatement, sans déployer d’agent.

Cette solution GPM peut être Microsoft Intune ou n’importe quelle solution GPM tierce compatible avec Windows 10.

4

Attestation d’intégrité à distance

Le service d’attestation d’intégrité est un service dans le cloud approuvé, géré par Microsoft, qui effectue une série de contrôles d’intégrité et signale à la solution GPM les fonctionnalités de sécurité Windows 10 activées sur l’appareil.

Cette vérification de la sécurité comprend l’état de démarrage (WinPE, le mode sans échec, les modes de test et débogage) et les composants qui gèrent la sécurité et l’intégrité des opérations d’exécution (BitLocker, Device Guard).

5

Ressource gérée d’entreprise

La ressource gérée d’entreprise est la ressource à protéger.

Par exemple, il peut s’agir d’Office 365, d’autres applications dans le cloud, de ressources web sur site publiées par Azure AD ou même d’un accès au VPN.

 

L’association des appareils Windows 10, du fournisseur d’identité, de la gestion des appareils mobiles et de l’attestation d’intégrité à distance crée une solution robuste de bout en bout. Celle-ci assure la validation de l’intégrité et de la conformité des appareils accédant aux ressources auxquelles l’entreprise accorde une grande importance.

Protéger les appareils et les informations d’identification d’entreprise contre les menaces

Cette section décrit les capacités de Windows 10 en termes de défenses de sécurité, ainsi que les contrôles pouvant être évalués et signalés.

Défenses de sécurité reposant sur le matériel Windows 10

Les formes les plus agressives de programmes malveillants essaient de s’insérer dans le processus de démarrage le plus tôt possible afin de prendre rapidement le contrôle du système d’exploitation et d’empêcher le fonctionnement des mécanismes de protection et des logiciels anti-programme malveillant. Ce type de code malveillant est souvent appelé rootkit ou bootkit. La meilleure façon d’éviter d’avoir à gérer des programmes malveillants à un bas niveau consiste à sécuriser le processus de démarrage pour que l’appareil soit protégé dès le départ.

Windows 10 prend en charge plusieurs couches de protection de démarrage. Certaines de ces fonctionnalités sont disponibles uniquement si certains types de matériel sont installés. Pour plus d’informations, voir Configuration matérielle requise.

Figure 4

Windows 10 prend en charge des fonctionnalités qui aident à prévenir le chargement de logiciels malveillants sophistiqués de bas niveau comme les rootkits et les bootkits pendant le processus de démarrage :

  • Module de plateforme sécurisée. Un module de plateforme sécurisée (TPM) est un composant matériel qui fournit des fonctionnalités de sécurité uniques.

    Windows 10 s’appuie sur les caractéristiques de sécurité d’un TPM pour mesurer la séquence d’intégrité du démarrage (et d’après celle-ci, déverrouiller automatiquement les lecteurs protégés par BitLocker), protéger les informations d’identification ou fournir une attestation d’intégrité.

    Un TPM implémente des contrôles qui répondent à la spécification décrite par le TCG (Trusted Computing Group). À ce jour, il existe deux versions de la spécification TPM produites par le TCG qui ne sont pas compatibles l’une avec l’autre :

    • La première spécification TPM, version 1.2, a été publiée en février 2005 par le TCG. Elle correspond à la norme ISO/IEC 11889.

    • La spécification TPM la plus récente, appelée TPM 2.0, a été publiée en avril 2014 et a été approuvée par le JTC (Joint Technical Committee). Elle correspond à la norme ISO/IEC 11889:2015.

    Windows 10 utilise le TPM pour les calculs de chiffrement dans le cadre d’une attestation d’intégrité et afin de protéger les clés pour BitLocker, Microsoft Passport, les cartes à puce virtuelles et autres certificats de clé publique. Pour plus d’informations, voir Configuration requise du TPM dans Windows 10.

    Windows 10 reconnaît les versions 1.2 et 2.0 des spécifications TPM produites par le TCG. Concernant les fonctionnalités de sécurité les plus récentes et les plus modernes, Windows 10 prend en charge uniquement TPM 2.0. TPM 2.0 est nécessaire pour obtenir une attestation d’intégrité de l’appareil.

    Contrairement à la version 1.2 de TPM, la version 2.0 fournit une révision majeure des fonctionnalités :

    • Mise à jour de la force de chiffrement pour répondre aux besoins de sécurité moderne

      • Une prise en charge de SHA-256 pour les PCR est assurée.

      • Une prise en charge de la commande HMAC est assurée.

    • Flexibilité des algorithmes de chiffrement pour prendre en charge les besoins du secteur public

      • La version 1.2 de TPM est très limitée quant aux algorithmes qu’elle peut prendre en charge.

      • La version 2.0 de TPM peut prendre en charge des algorithmes arbitraires avec mises à jour mineures apportées aux documents de spécification du TCG.

    • Cohérence entre les implémentations

      • Les spécifications de la version 1.2 de TPM offrent aux fournisseurs une grande latitude quant au choix des détails d’implémentation.

      • La version 2.0 de TPM normalise une grande partie de ce comportement.

  • Démarrage sécurisé. Vous pouvez configurer des appareils équipés du microprogramme UEFI pour charger uniquement des chargeurs de démarrage de système d’exploitation dignes de confiance. Le démarrage sécurisé ne nécessite aucun TPM.

    La protection la plus élémentaire est la fonctionnalité de démarrage sécurisé qui fait partie de l’architecture UEFI 2.2 +. Sur un PC avec système BIOS conventionnel, quiconque peut contrôler le processus de démarrage peut démarrer au moyen d’un autre chargeur de système d’exploitation et ainsi éventuellement obtenir l’accès aux ressources système. Lorsque le démarrage sécurisé est activé, vous pouvez démarrer à l’aide d’un chargeur de système d’exploitation uniquement, lequel est signé à l’aide d’un certificat stocké dans la base de données de démarrage sécurisé UEFI. Naturellement, le certificat Microsoft utilisé pour signer numériquement les chargeurs de système d’exploitation de Windows 10 se trouve dans ce magasin, ce qui permet à UEFI de valider le certificat dans le cadre de sa stratégie de sécurité. Le démarrage sécurisé doit être activé par défaut sur tous les ordinateurs certifiés pour Windows 10, dans le cadre du programme de compatibilité matérielle Windows.

    Le démarrage sécurisé est une fonctionnalité UEFI basée sur un microprogramme, ce qui permet la signature et la vérification des pilotes et des fichiers de démarrage critiques au moment même du démarrage. Le démarrage sécurisé vérifie les valeurs de signature du Gestionnaire de démarrage Windows, du magasin BCD, du fichier du chargeur de système d’exploitation Windows et d’autres DLL de démarrage critiques, au moment du démarrage. Cela intervient avant que le système ne soit autorisé à entièrement démarrer dans un système d’exploitation utilisable à l’aide des règles définies par le fabricant OEM au moment de la conception. Le démarrage sécurisé empêche de nombreux types d’attaques contre la plateforme Windows (attaques par rootkits, programmes malveillants et autres attaques liées à la sécurité). Le démarrage sécurisé protège le processus de démarrage du système d’exploitation, que le démarrage ait lieu depuis le disque dur local, une clé USB, un environnement PXE ou un DVD, ou encore dans Windows ou un environnement de récupération Windows (WinRE).

    Le démarrage sécurisé protège l’environnement de démarrage d’une installation Windows 10 en vérifiant les signatures des composants de démarrage critiques pour confirmer que des activités malveillantes ne les compromettent pas. La protection de démarrage sécurisé prend fin après le chargement du fichier du noyau Windows (ntoskrnl.exe).

    Remarque  

    Le démarrage sécurisé protège la plateforme jusqu’au chargement du noyau Windows. Des protections comme ELAM prennent ensuite le relais.

     

  • Stratégie de configuration de démarrage sécurisé. Étend les fonctionnalités de démarrage sécurisé à la configuration Windows 10 critique.

    Il existe des exemples d’informations de configuration protégée comme la protection Execute Disable Bit (option NX) ou la non-activation de la stratégie de test de signature (intégrité du code). Vous avez ainsi l’assurance que les fichiers binaires et la configuration de l’ordinateur sont fiables une fois le processus de démarrage terminé.

    La stratégie de configuration de démarrage sécurisé y parvient avec la stratégie UEFI. La signature de ces stratégies est identique à celle des fichiers binaires de système d’exploitation utilisés avec le démarrage sécurisé.

    La stratégie de configuration de démarrage sécurisé doit être signée par une clé privée qui correspond à l’une des clés publiques stockées dans la liste des certificats KEK (Key Exchange Key). L’autorité de certification Microsoft figure dans la liste des certificats KEK de tous les systèmes de démarrage sécurisé certifiés Windows. Par défaut, une stratégie signée d’après la base de données des certificats KEK Microsoft fonctionne sur tous les systèmes de démarrage sécurisé. Avant d’appliquer une stratégie signée, BootMgr doit vérifier la signature par rapport à cette liste de certificats KEK. Avec Windows 10, la stratégie de configuration de démarrage sécurisé par défaut est intégrée à bootmgr.

    Le chargeur de démarrage vérifie la signature numérique du noyau Windows 10 avant de le charger. En retour, le noyau Windows 10 examine tous les autres composants du processus de démarrage de Windows, y compris les pilotes de démarrage, les fichiers de démarrage et le composant de lancement anticipé du logiciel anti-programme malveillant (ELAM, Early Launch Antimalware). Cette étape est importante et protège le reste du processus de démarrage. Elle vérifie en effet que tous les composants de démarrage de Windows sont intègres et dignes de confiance.

  • Lancement anticipé du logiciel anti-programme malveillant. ELAM teste tous les pilotes avant leur chargement et empêche le chargement des pilotes non approuvés.

    Les applications anti-programme malveillant classiques ne démarrent pas tant que le chargement des pilotes de démarrage n’a pas eu lieu, ce qui permet à un rootkit qui prend l’apparence d’un pilote de s’exécuter. ELAM est un mécanisme Windows introduit dans une version précédente de Windows et qui permet aux logiciels anti-programme malveillant de s’exécuter très tôt dans la séquence de démarrage. Par conséquent, le composant anti-programme malveillant est le premier composant tiers à s’exécuter et à contrôler l’initialisation des autres pilotes de démarrage, jusqu’à ce que le système d’exploitation Windows soit opérationnel. Lorsque le système démarre avec un environnement d’exécution complet (accès réseau, stockage, etc.), le chargement d’un logiciel anti-programme malveillant doté de toutes les fonctionnalités nécessaires intervient.

    ELAM peut charger un pilote anti-programme malveillant Microsoft ou non Microsoft avant toutes les applications et tous les pilotes de démarrage non Microsoft, ce qui permet de poursuivre la chaîne d’approbation établie par le démarrage sécurisé. Dans la mesure où le système d’exploitation n’a pas encore démarré et étant donné que Windows a besoin de démarrer aussi vite que possible, la tâche d’ELAM est simple : examiner chaque pilote de démarrage et déterminer s’il figure sur la liste des pilotes de confiance. S’il n’y figure pas, Windows ne peut pas le charger.

    Remarque  

    Windows Defender, le logiciel anti-programme malveillant de Microsoft inclus par défaut dans Windows 10, prend en charge ELAM. Vous pouvez le remplacer par une solution tierce compatible pour lutter contre les programmes malveillants. Le nom du pilote ELAM Windows Defender est WdBoot.sys. Windows Defender, qui équipe Windows 10, utilise son pilote ELAM pour annuler, au redémarrage suivant, tous les changements malveillants apportés au pilote Windows Defender. Cela empêche les programmes malveillants en mode noyau d’introduire des changements durables au niveau du pilote de minifiltre Windows Defender avant l’arrêt ou le redémarrage.

     

    Le chargement du pilote signé de type ELAM intervient avant les autres applications et pilotes tiers. Il permet au logiciel anti-programme malveillant de détecter et de bloquer toute tentative de falsification du processus de démarrage par chargement de code non signé ou non approuvé.

    Le pilote ELAM est un pilote de petite taille, doté d’une base de données de stratégie réduite et dont la portée est très limitée. Il cible les pilotes dont le chargement intervient très tôt au moment du lancement du système. La base de données de stratégie est stockée dans une ruche du Registre qu’évalue également le module de plateforme sécurisée, pour enregistrer les paramètres opérationnels du pilote ELAM. Un pilote ELAM doit être signé par Microsoft, et le certificat associé doit contenir l’EKU complémentaire (1.3.6.1.4.1.311.61.4.1).

  • Sécurité basée sur la virtualisation (Hyper-V + noyau sécurisé). La sécurité basée sur la virtualisation est une étape entièrement nouvelle en matière de sécurité qui vous permet de protéger les zones critiques de Windows 10.

    La sécurité basée sur la virtualisation isole du reste du système d’exploitation Windows le code sensible comme l’intégrité du code en mode noyau ou les informations d’identification de domaine d’entreprise sensibles. Pour plus d’informations, voir la section Sécurité basée sur la virtualisation.

  • Intégrité du code Hyper-V (HVCI). L’intégrité du code Hyper-V est une fonctionnalité de Device Guard. Elle permet de s’assurer que seuls les pilotes, fichiers exécutables et DLL conformes à la stratégie d’intégrité du code Device Guard sont autorisés à s’exécuter.

    Lorsqu’il est activé et configuré, le système Windows 10 peut démarrer les services de sécurité basée sur la virtualisation Hyper-V, y compris l’intégrité du code Hyper-V (HVCI). HVCI aide à protéger le noyau du système, les pilotes privilégiés et les défenses du système, comme les solutions anti-programme malveillant, en empêchant l’exécution de programmes malveillants au début du processus de démarrage ou après le démarrage.

    HVCI utilise la sécurité basée sur la virtualisation pour isoler l’intégrité du code. En effet, seule la vérification de l’intégrité du code peut rendre la mémoire du noyau exécutable. Cela signifie que les pages mémoire du noyau ne sont jamais accessibles en écriture ni exécutables (W + X) et que le code exécutable ne peut pas être modifié directement.

    Remarque  

    Les appareils Device Guard qui exécutent l’intégrité du code en mode noyau avec la sécurité basée sur la virtualisation doivent disposer de pilotes compatibles. Pour plus d’informations, veuillez lire le billet de blog Compatibilité des pilotes avec Device Guard dans Windows 10.

     

    La fonctionnalité d’intégrité du code Device Guard permet aux entreprises de contrôler le code autorisé à s’exécuter dans le noyau Windows et les applications approuvées à s’exécuter en mode utilisateur. Elle est configurable au moyen d’une stratégie.

    La stratégie d’intégrité du code Device Guard est un fichier binaire que Microsoft vous recommande de signer. La signature de la stratégie d’intégrité du code vous protège contre les utilisateurs malveillants détenant des privilèges d’administrateur et qui tentent de modifier ou de supprimer la stratégie d’intégrité du code en cours.

  • Credential Guard. Credential Guard protège les informations d’identification d’entreprise en isolant ces informations en fonction du matériel.

    Dans Windows 10, Credential Guard vise à protéger les informations d’identification d’entreprise du domaine contre toute tentative de vol et de réutilisation par des programmes malveillants. Avec Credential Guard, Windows 10 a implémenté un changement d’architecture qui, fondamentalement, empêche les formulaires actuels de subir des attaques pass-the-hash (PtH).

    Une telle prouesse est rendue possible grâce à Hyper-V et à la nouvelle fonctionnalité de sécurité basée sur la virtualisation, l’ensemble créant un conteneur protégé dans lequel le code de confiance et les secrets sont isolés du noyau Windows. Cela signifie que même si le noyau Windows est compromis, une personne malveillante n’a aucun moyen de lire ni d’extraire les données requises pour lancer une attaque PtH. Credential Guard empêche cela dans la mesure où la mémoire dans laquelle sont stockés les secrets n’est plus accessible depuis le système d’exploitation ordinaire, ni même en mode noyau. L’hyperviseur contrôle les personnes autorisées à accéder à la mémoire.

  • Attestation d’intégrité. Le microprogramme de l’appareil consigne le processus de démarrage. Windows 10 peut alors l’envoyer à un serveur de confiance qui recherche et évalue l’intégrité de l’appareil.

    Windows 10 utilise les mesures effectuées par le microprogramme UEFI, ainsi que par chacun des composants Windows et du logiciel anti-programme malveillant à mesure de leur chargement, pendant le processus de démarrage. En outre, ces mesures sont effectuées puis évaluées de manière séquentielle et non toutes à la fois. Lorsque ces mesures sont terminées, leurs valeurs sont signées numériquement puis stockées en toute sécurité dans le module de plateforme sécurisée. Elles ne peuvent pas être modifiées, sauf en cas de réinitialisation du système.

    Pour plus d’informations, voir Démarrage sécurisé et démarrage mesuré : sécurisation renforcée des premiers composants de démarrage contre les programmes malveillants.

    Au cours des démarrages suivants, ces mêmes composants sont mesurés, ce qui permet de comparer les mesures obtenues à une ligne de base attendue. Pour renforcer la sécurité, les valeurs mesurées par le TPM peuvent être signées puis transmises à un serveur distant qui se charge alors de la comparaison. Ce processus, appelé attestation d’intégrité de l’appareil à distance, permet au serveur de vérifier l’état d’intégrité de l’appareil Windows.

    TPM 2.0 est nécessaire pour établir l’attestation d’intégrité. Sur Windows 10, TPM 2.0 requiert également le microprogramme UEFI.

    Si le démarrage sécurisé est une forme proactive de protection, l’attestation d’intégrité est une forme réactive de protection du démarrage. À l’expédition du système, l’attestation d’intégrité est désactivée dans Windows. Elle est activée par un logiciel anti-programme malveillant ou un fournisseur GPM. Contrairement au démarrage sécurisé, l’attestation d’intégrité n’arrête pas le processus de démarrage et ne tente pas d’apporter une correction quand une mesure ne fonctionne pas. Toutefois, avec le contrôle d’accès conditionnel, l’attestation d’intégrité aide à empêcher l’accès aux ressources de grande importance.

Sécurité basée sur la virtualisation

La sécurité basée sur la virtualisation fournit à Windows 10 une nouvelle limite de confiance. Elle s’appuie sur la technologie d’hyperviseur Hyper-V pour renforcer la sécurité de la plateforme. La sécurité basée sur la virtualisation offre un environnement d’exécution sécurisé pour exécuter le code approuvé par Windows spécifique (trustlet) et protéger les données sensibles.

La sécurité basée sur la virtualisation offre une protection contre un noyau compromis ou un utilisateur malveillant détenant des privilèges d’administrateur. Notez que la sécurité basée sur la virtualisation n’essaye pas de vous protéger contre une attaque physique.

Les services Windows 10 suivants disposent d’une sécurité basée sur la virtualisation :

  • Credential Guard (isolation des informations d’identification par la LSA) : empêche les attaques PtH et le vol des informations d’identification d’entreprise par lecture et vidage du contenu de la mémoire LSASS.

  • Device Guard (intégrité du code Hyper-V) : Device Guard utilise la nouvelle sécurité de Windows 10 basée sur la virtualisation pour isoler le service d’intégrité du code du noyau Windows lui-même. Cela permet au service d’utiliser des signatures définies par votre stratégie d’entreprise pour déterminer ce qui est fiable. En effet, le service d’intégrité du code s’exécute avec le noyau dans un conteneur Windows protégé par l’hyperviseur.

  • Autres services isolés : par exemple, sur Windows Server Technical Preview 2016, il existe la fonctionnalité vTPM qui vous permet de chiffrer des machines virtuelles (VM) sur des serveurs.

Remarque  

La sécurité basée sur la virtualisation est disponible uniquement avec Windows 10 Entreprise. La sécurité basée sur la virtualisation nécessite des appareils dotés d’une interface UEFI (2.3.1 ou supérieure) avec démarrage sécurisé, processeur x64, mais aussi extensions de virtualisation et conversion SLAT activée. IOMMU, TPM 2.0 et la prise en charge du remplacement de mémoire sécurisée sont facultatifs, mais recommandés.

 

Le schéma ci-dessous offre une vue d’ensemble de Windows 10 avec la sécurité basée sur la virtualisation.

Figure 5

Credential Guard

Dans Windows 10, lorsque Credential Guard est activé, le service LSASS (Local Security Authority Subsystem Service, lsass.exe) exécute du code sensible en mode utilisateur isolé pour aider à protéger les données contre les programmes malveillants éventuellement en cours d’exécution en mode utilisateur. Cela permet de garantir que les données protégées ne sont pas volées ni réutilisées sur des ordinateurs distants, et donc de réduire le nombre d’attaques PtH.

Credential Guard protège les informations d’identification en les chiffrant avec une clé spécifique au démarrage ou une clé persistante.

  • La clé spécifique au démarrage est utilisée pour les informations d’identification en mémoire qui ne nécessitent aucune persistance. Il s’agit par exemple d’une clé de session TGT (ticket-granting ticket). Cette clé est négociée avec un centre de distribution de clés (KDC, Key Distribution Center) à chaque authentification et elle est protégée par une clé spécifique au démarrage.

  • La clé persistante, ou certaines clés du même type, est utilisée pour protéger les éléments stockés et rechargés après un redémarrage. Cette protection est conçue pour un stockage à long terme et doit être assurée par une clé cohérente.

Credential Guard est activé par une clé de Registre, puis activé au moyen d’une variable UEFI. Cette opération sert à vous protéger contre des modifications à distance de la configuration. L’utilisation d’une variable UEFI oblige un accès physique pour modifier la configuration. Lorsque lsass.exe détecte que l’isolement des informations d’identification est activé, cet exécutable génère alors LsaIso.exe comme un processus isolé, ce qui garantit son exécution en mode utilisateur isolé. Le démarrage de LsaIso.exe se produit avant l’initialisation d’un fournisseur SSP (Security Support Provider), ce qui permet de s’assurer que les routines de prise en charge du mode sécurisé sont prêtes avant toute authentification.

Device Guard

Device Guard est une nouvelle fonctionnalité de Windows 10 Entreprise qui permet aux entreprises de verrouiller un appareil et de le protéger contre les logiciels non approuvés. Dans cette configuration, les seules applications autorisées à s’exécuter sont celles approuvées par l’entreprise.

La décision approuvant l’exécution du code est prise avec le service d’intégrité du code Hyper-V. Celui-ci s’exécute dans la sécurité basée sur la virtualisation, un conteneur protégé par Hyper-V dont l’exécution intervient parallèlement au système Windows habituel.

L’intégrité du code Hyper-V est une fonctionnalité qui valide l’intégrité d’un pilote ou d’un fichier système chaque fois qu’il est chargé en mémoire. L’intégrité du code détecte si un pilote ou un fichier système non signé est en cours de chargement dans le noyau, ou si un fichier système a été modifié par des logiciels malveillants exécutés par un compte utilisateur détenant des privilèges d’administrateur. Sur les versions 64 bits de Windows 10, les pilotes en mode noyau doivent être signés numériquement.

Remarque  

Par défaut et indépendamment de l’activation de la stratégie Device Guard, Windows 10 rehausse la barre pour ce qui s’exécute dans le noyau. Les pilotes Windows 10 doivent être signés par Microsoft et plus précisément, par le portail WHQL (Windows Hardware Quality Labs). En outre, depuis octobre 2015, le portail WHQL accepte uniquement les envois de pilote, notamment les envois de pilote en mode noyau et utilisateur qui possèdent un certificat de signature de code de validation étendue (« EV ») valide.

 

Avec Windows 10 équipé de Device Guard, les entreprises sont maintenant en mesure de définir leur propre stratégie d’intégrité du code pour une utilisation sur les systèmes x64 exécutant Windows 10 Entreprise. Elles ont la possibilité de configurer la stratégie qui détermine ce qu’elles peuvent exécuter en toute confiance. Il s’agit notamment des pilotes et des fichiers système, ainsi que des applications de bureau traditionnelles et des scripts. Le système est ensuite verrouillé pour n’exécuter que des applications en laquelle l’entreprise a confiance.

Device Guard est une fonctionnalité intégrée à Windows 10 Entreprise qui empêche l’exécution de code et d’applications indésirables. Device Guard peut être configuré à l’aide de deux actions de règle : autoriser et refuser :

  • Autoriser limite l’exécution des applications à une liste autorisée de codes ou d’éditeurs de confiance et bloque tout le reste.

  • Refuser finalise l’approche d’autorisation des éditeurs de confiance en bloquant l’exécution d’une application en particulier.

À ce jour et compte tenu des recherches les plus récentes menées par Microsoft, plus de 90 % des programmes malveillants ne sont pas signés. Par conséquent, l’implémentation d’une stratégie Device Guard de base peut bloquer simplement et efficacement la grande majorité des programmes malveillants. En réalité, Device Guard a la possibilité d’aller plus loin et peut également aider à bloquer les programmes malveillants signés.

Device Guard doit être planifié et configuré pour être véritablement efficace. Il ne s’agit pas simplement d’une protection que vous activez ou désactivez. Device Guard combine des fonctionnalités de sécurité matérielle et logicielle qui, lorsqu’elles sont configurées ensemble, peuvent verrouiller un ordinateur pour garantir le système le plus sécurisé et le plus résistant qui soit.

La solution Device Guard de Windows 10 comprend trois parties :

  • La première partie consiste en un ensemble de fonctionnalités de sécurité matérielle de base introduites avec la version précédente de Windows. Le module de plateforme sécurisée pour les opérations de chiffrement matériel et l’interface UEFI avec le microprogramme moderne, ainsi que le démarrage sécurisé, vous permettent de contrôler ce que l’appareil exécute au démarrage des systèmes.

  • Après la fonctionnalité de sécurité matérielle, vient le moteur d’intégrité du code. Dans Windows 10, l’intégrité du code est maintenant entièrement configurable et se trouve en mode utilisateur isolé, une partie de la mémoire protégée par la sécurité basée sur la virtualisation.

  • La dernière partie de Device Guard est la facilité de gestion. La configuration de l’intégrité du code est exposée via des objets de stratégie de groupe spécifiques, des cmdlets PowerShell et des fournisseurs de services de configuration GPM.

Pour plus d’informations sur la façon de déployer Device Guard dans une entreprise, voir le guide de déploiement de Device Guard.

Scénarios Device Guard

Comme décrit précédemment, Device Guard constitue un moyen puissant de verrouiller les systèmes. Device Guard n’a pas vocation à être largement utilisé et dans certains cas, il convient d’ailleurs de pas l’utiliser. Toutefois, il existe certains scénarios très intéressants.

Device Guard se révèle utile et utilisable sur les systèmes de charges de travail fixes comme les caisses enregistreuses, les machines de type borne, les stations de travail sécurisées dédiées aux tâches administratives (SAW, Secure Admin Workstation) ou les postes de travail bien gérés. Device Guard apparaît comme une fonctionnalité hautement pertinente sur les systèmes équipés de logiciels très bien définis, susceptibles de s’exécuter et de ne pas changer trop fréquemment. Il peut également aider à protéger les travailleurs de l’information au-delà des systèmes SAW, tant que ce que ces systèmes doivent exécuter est connu et que l’ensemble des applications ne change tous les jours.

Les systèmes SAW sont des ordinateurs conçus pour vous aider à réduire considérablement les risques induits par les programmes malveillants, les attaques d’hameçonnage, les sites web factices et les attaques PtH, entre autres risques de sécurité. Bien qu’ils ne puissent pas être considérés comme une solution de sécurité de type « balle d’argent » face à ces attaques, ces types de clients sont utiles dans le cadre d’une approche de la sécurité en couche et de défense en profondeur.

Des systèmes SAW sont utilisés pour établir des connexions sécurisées aux ressources les plus importantes et les protéger.

De même, sur les stations de travail entièrement gérées de l’entreprise, là où les applications sont installées à l’aide d’un outil de distribution comme System Center Configuration Manager, Intune ou toute autre solution tierce de gestion des appareils, Device Guard se révèle très utile. Dans ce type de scénario, l’entreprise a une idée précise du logiciel que l’utilisateur moyen exécute.

Il est parfois difficile d’utiliser Device Guard sur des stations de travail d’entreprise peu gérées, sur lesquelles l’utilisateur est en général autorisé à installer lui-même des logiciels. Quand une entreprise offre une telle flexibilité, il est assez difficile d’exécuter Device Guard en mode de mise en conformité. Néanmoins, Device Guard peut être exécuté en mode audit, et dans ce cas, le journal des événements contient un enregistrement de tous les fichiers binaires qui ont enfreint sa stratégie. Quand Device Guard est utilisé en mode audit, les entreprises peuvent obtenir de précieuses données sur les pilotes et les applications que les utilisateurs installent et exécutent.

Avant de pouvoir utiliser la protection incluse dans Device Guard, vous devez créer une stratégie d’intégrité du code à l’aide des outils fournis par Microsoft. Par contre, vous pouvez déployer cette stratégie à l’aide de vos outils de gestion actuels, comme la stratégie de groupe. La stratégie d’intégrité du code est un document XML codé en binaire qui contient les paramètres de configuration des modes utilisateur et noyau de Windows 10, ainsi que les restrictions sur les exécutions de script Windows 10. La stratégie d’intégrité du code de Device Guard limite le code qui peut être exécuté sur un appareil.

Remarque  

La stratégie de Device Guard peut être signée dans Windows 10, ce qui renforce la protection contre les utilisateurs détenant des privilèges d’administrateur et qui tenteraient de modifier ou de supprimer cette stratégie.

 

La stratégie signée de Device Guard offre une protection renforcée contre tout administrateur local malveillant qui tenterait de défier Device Guard.

Quand la stratégie est signée, le GUID de la stratégie est stocké dans une variable sécurisée UEFI pré-système qui offre une protection contre la falsification. Le seul moyen de mettre à jour la stratégie de Device Guard par la suite est de fournir une nouvelle version de cette stratégie signée par le même signataire ou émanant d’un signataire spécifié dans le cadre de la stratégie de Device Guard, dans la section UpdateSigner.

Importance de la signature des applications

Sur les ordinateurs équipés de Device Guard, Microsoft propose de passer d’un monde où les applications non signées peuvent être exécutées sans restriction à un monde où seul un code signé et approuvé est autorisé à s’exécuter dans Windows 10.

Avec Windows 10, les entreprises vont pouvoir rendre des applications métiers disponibles auprès de leurs membres par le biais de l’infrastructure du Windows Store. Plus précisément, ces applications métiers seront disponibles dans un magasin privé, dans le Windows Store public. Windows Store signe et distribue les applications Windows universelles et les applications Windows classiques. Toutes les applications téléchargées à partir du Windows Store sont signées.

Aujourd’hui, dans les entreprises, la grande majorité des applications métiers ne sont pas signées. La signature du code est souvent considérée comme un problème difficile à résoudre pour différentes raisons, comme le manque d’expertise. Même si la signature du code fait partie des recommandations, un grand nombre d’applications internes ne sont pas signées.

Windows 10 propose des outils qui permettent aux professionnels de l’informatique de prendre des applications déjà packagées et de les exécuter par le biais d’un processus afin de créer des signatures supplémentaires qui peuvent être distribuées en même temps que les applications existantes.

Pourquoi des solutions de gestion des appareils et des logiciels anti-programme malveillant sont-ils toujours nécessaires ?

Bien que les mécanismes de liste verte soient très efficaces pour garantir que seules les applications approuvées peuvent être exécutées, ils ne peuvent pas empêcher qu’une application de confiance (mais vulnérable) soit compromise par un contenu malveillant conçu pour exploiter une vulnérabilité connue. Device Guard ne protège pas contre un code malveillant en mode utilisateur qui s’exécute en exploitant les vulnérabilités.

Les vulnérabilités sont des faiblesses des logiciels qui permettent à un pirate de compromettre l’intégrité, la disponibilité ou la confidentialité de l’appareil. Les pires vulnérabilités permettent aux pirates d’exploiter l’appareil compromis en le forçant à exécuter un code malveillant à l’insu de l’utilisateur.

Il est courant de voir les pirates distribuer du contenu qu’ils ont eux-mêmes créé afin d’exploiter les vulnérabilités connues d’un logiciel en mode utilisateur, comme les navigateurs web (et leurs plug-ins), les ordinateurs virtuels Java, les lecteurs PDF ou des éditeurs de document. Actuellement, 90 % des vulnérabilités découvertes affectent les applications en mode utilisateur contrairement aux pilotes de système d’exploitation et en mode noyau qui les hébergent.

Pour combattre ces menaces, les mises à jour correctives sont le contrôle le plus efficace, un logiciel anti-programme malveillant apportant une couche supplémentaire de défense.

La plupart des logiciels applicatifs n’ont aucun moyen de se mettre à jour eux-mêmes. Par conséquent, même que si l’éditeur du logiciel publie une mise à jour qui résout la vulnérabilité, l’utilisateur n’est pas toujours en mesure de savoir que cette mise à jour est disponible ou ne sait pas comment l’obtenir, ce qui le laisse vulnérable aux attaques. Les entreprises doivent quand même gérer les appareils et apporter des mises à jour correctives aux vulnérabilités.

Les solutions GPM s’imposent de plus en plus comme une technologie légère de gestion des appareils. Windows 10 étend les fonctionnalités de gestion proposées par les solutions GPM. Parmi les fonctionnalités clés ajoutées par Microsoft à Windows 10 figure la capacité des solutions GPM à acquérir une instruction forte de l’état de l’appareil à partir d’appareils gérés et enregistrés.

Attestation d’intégrité de l’appareil

L’attestation d’intégrité de l’appareil exploite le composant TPM 2.0 pour fournir des mesures par chiffrement renforcées et vérifiables de la chaîne du logiciel utilisé pour démarrer l’appareil.

Pour les appareils Windows 10, Microsoft introduit une nouvelle API publique qui autorise la solution GPM à accéder à un service distant d’attestation appelé service d’attestation d’intégrité Windows. En complément des autres éléments, un résultat d’attestation d’intégrité peut être utilisé pour autoriser ou refuser l’accès aux réseaux, aux applications ou aux services, selon que les appareils sont intègres.

Pour plus d’informations sur l’attestation d’intégrité de l’appareil, voir la section Détecter un appareil Windows 10 non sain.

Configuration matérielle requise

Le tableau suivant présente la configuration matérielle requise pour les services de sécurité basée sur la virtualisation et la fonctionnalité d’attestation d’intégrité. Pour plus d’informations, voir la section Configuration matérielle requise.

Matériel Motivation

UEFI 2.3.1 ou microprogramme ultérieur avec démarrage sécurisé

Obligatoire pour prendre en charge le démarrage sécurisé UEFI.

Le démarrage sécurisé UEFI permet de s’assurer que l’appareil démarre uniquement le code autorisé.

En outre, l’intégrité de démarrage (démarrage sécurisé de la plateforme) doit être prise en charge suivant la configuration requise dans les spécifications matérielles de compatibilité des systèmes pour Windows 10, comme défini dans la sous-section : « System.Fundamentals.Firmware.CS.UEFISecureBoot.ConnectedStandby ».

Les extensions de virtualisation, comme Intel VT-x, AMD-V et SLAT doivent être activées

Obligatoire pour prendre en charge la sécurité basée sur la virtualisation.

Remarque  

Device Guard peut être activé sans utiliser de sécurité basée sur la virtualisation.

 

Processeur x64

Obligatoire pour prendre en charge la sécurité basée sur la virtualisation qui utilise l’hyperviseur Windows. Hyper-V est pris en charge uniquement sur les processeurs x64 (et non sur les processeurs x86).

Il est possible d’activer la protection d’accès direct à la mémoire (DMA, Direct Memory Access) pour assurer une protection mémoire supplémentaire, mais cela oblige les processeurs à proposer des technologies de protection DMA.

IOMMU, comme Intel VT-d, AMD Vi

La prise en charge de IOMMU dans Windows 10 améliore la résilience du système contre les attaques DMA.

Module de plateforme sécurisée (TPM) 2.0

Obligatoire pour une prise en charge de l’attestation d’intégrité et nécessaire pour des protections par clé supplémentaires dans le cadre de la sécurité basée sur la virtualisation.

 

Cette section vous a présenté des informations sur plusieurs contrôles étroitement liés dans Windows 10. Les défenses multiniveau et l’approche approfondie permettent d’éradiquer les programmes malveillants de bas niveau au cours de la séquence de démarrage. La sécurité basée sur la virtualisation apporte une modification fondamentale de l’architecture du système d’exploitation, ce qui renforce d’autant la sécurité. Device Guard et Credential Guard aident respectivement à bloquer le code non approuvé et à protéger les informations d’identification de domaine de l’entreprise contre toute tentative de vol et de réutilisation. Cette section a également brièvement abordé l’importance de la gestion des appareils et de l’application de mises à jour correctives pour résoudre les vulnérabilités. Toutes ces technologies peuvent être utilisées pour renforcer la sécurité et verrouiller les appareils tout en limitant le risque que des pirates ne les compromettent.

Détecter un appareil Windows 10 non sain

Aujourd’hui, de nombreuses entreprises envisagent uniquement de rendre leurs appareils conformes à leur stratégie après leur avoir fait passer toute une série de contrôles qui montrent, par exemple, que l’état du système d’exploitation est correct et correctement configuré et que la protection de sécurité est activée. Malheureusement, avec les systèmes actuels, ce genre de rapport n’est absolument pas fiable, car les programmes malveillants peuvent tromper une déclaration de logiciel portant sur l’intégrité du système. Un rootkit ou une attaque de bas niveau similaire peut signaler un faux état sain aux outils de mise en conformité traditionnels.

Le plus grand défi avec les rootkits est qu’ils peuvent être indétectables pour le client. Comme ils démarrent souvent avant le logiciel anti-programme malveillant et qu’ils ont des privilèges de niveau système, ils peuvent rester totalement invisibles tout en continuant d’accéder aux ressources du système. Par conséquent, les ordinateurs classiques infectés par des rootkits semblent sains, même lorsqu’ils exécutent un logiciel anti-programme malveillant.

Comme indiqué précédemment, la fonctionnalité d’attestation d’intégrité de Windows 10 utilise le module TPM 2.0 pour enregistrer en toute sécurité une mesure de chaque composant lié au démarrage, y compris du microprogramme, du noyau Windows 10 et des pilotes de démarrage anticipé. Dans la mesure où une attestation d’intégrité exploite les capacités de sécurité liées au matériel du TPM, le journal de tous les composants mesurés au démarrage reste hors de portée des logiciels malveillants.

En certifiant un état de démarrage, les appareils peuvent prouver qu’ils n’exécutent pas de programmes malveillants de bas niveau susceptibles d’usurper les vérifications de conformité ultérieures. Une attestation d’intégrité basée sur TPM constitue une véritable assurance pour les ressources qui contiennent des données de grande importance.

Quel concept se cache derrière l’intégrité de l’appareil ?

Pour comprendre le concept d’intégrité de l’appareil, il est important de connaître les mesures traditionnellement mises en place par les professionnels de l’informatique pour empêcher les programmes malveillants de violer la sécurité. Les technologies de contrôle des logiciels malveillants se concentrent principalement sur la prévention de l’installation et de la distribution.

Toutefois, l’utilisation de technologies traditionnelles de prévention contre les logiciels malveillants, par exemple les logiciels anti-programme malveillant ou les mises à jour correctives apportées aux solutions, engendre de nouveaux problèmes pour les professionnels de l’informatique : la surveillance et le respect de la conformité des appareils accédant aux ressources de l’entreprise.

La définition de la conformité des appareils varie en fonction des logiciels anti-programme malveillant installés dans une entreprise, des paramètres de configuration des appareils, des grandes lignes de la gestion des mises à jour correctives et d’autres contraintes de sécurité. Toutefois, l’intégrité de ces appareils fait partie de la stratégie d’ensemble de conformité des appareils.

L’intégrité des appareils n’est pas binaire. Elle dépend de l’implémentation de la sécurité de l’entreprise. En retour, en s’appuyant sur un TPM matériel digne de confiance, le service d’attestation d’intégrité fournit des informations à la solution GPM sur les fonctionnalités de sécurité activées pendant le démarrage de l’appareil.

Cependant, une attestation d’intégrité fournit uniquement des informations, ce qui explique pourquoi une solution GPM est nécessaire pour prendre une décision et la faire appliquer.

Attestation d’intégrité de l’appareil à distance

Dans Windows 10, l’attestation d’intégrité fait référence à une fonctionnalité dans laquelle les données de démarrage mesuré, générées pendant le processus de démarrage, sont envoyées à un service d’attestation d’intégrité de l’appareil à distance exploité par Microsoft.

C’est l’approche de détection d’une diminution des défenses de sécurité la plus sécurisée pour les appareils Windows 10. Au cours du processus de démarrage, le journal TCG et les valeurs des registres de configuration de plateforme (PCR, Platform Configuration Registers) sont envoyés à un service cloud Microsoft à distance. Les journaux sont ensuite vérifiés par le service d’attestation d’intégrité pour déterminer les modifications qui ont eu lieu sur l’appareil.

Une partie de confiance comme un GPM peut inspecter le rapport généré par le service d’attestation d’intégrité à distance.

Remarque  

Pour utiliser la fonctionnalité d’attestation d’intégrité de Windows 10, l’appareil doit être équipé d’un module TPM 2.0 discret. Il n’existe aucune restriction quant à l’édition de Windows 10.

 

Windows 10 prend en charge les scénarios d’attestation d’intégrité. Le système permet aux applications d’accéder au fournisseur de services de configuration d’attestation d’intégrité sous-jacents afin qu’elles puissent demander un jeton d’attestation d’intégrité. La mesure de la séquence de démarrage peut être vérifiée à tout moment en local par un logiciel anti-programme malveillant ou un agent GPM.

Une attestation d’intégrité de l’appareil à distance combinée à une solution GPM fournit une méthode liée au matériel pour signaler l’état actuel de la sécurité et détecter les modifications, sans devoir pour cela faire confiance au logiciel en cours d’exécution sur le système.

Dans le cas où un code malveillant est en cours d’exécution sur l’appareil, l’utilisation d’un serveur distant est requise. Si un rootkit est présent sur l’appareil, le logiciel anti-programme malveillant n’est plus fiable. Son comportement peut être piraté par un code malveillant s’exécutant au début de la séquence de démarrage. C’est pourquoi il est important d’utiliser le démarrage sécurisé et Device Guard pour contrôler le code chargé pendant la séquence de démarrage.

Le logiciel anti-programme malveillant peut effectuer des recherches pour déterminer si la séquence de démarrage contient des signes de programmes malveillants, par exemple un rootkit. Il peut également envoyer le journal TCG et les registres PCR à un serveur d’attestation d’intégrité à distance pour bien séparer le composant de mesure et le composant de vérification.

L’attestation d’intégrité consigne ces mesures dans différents registres PCR TPM et journaux TCG pendant le processus de démarrage.

Figure 6

Lorsque vous démarrez un appareil équipé d’un TPM, une mesure des différents composants intervient. Elle inclut le microprogramme, les pilotes UEFI, le microcode du processeur, ainsi que tous les pilotes Windows 10 de type démarrage. Les mesures brutes sont stockées dans les registres PCR TPM, tandis que le compte rendu détaillé de tous les événements (chemin d’accès exécutable, autorité de certification, etc.) est disponible dans le journal TCG.

Figure 7

Voici le fonctionnement du processus d’attestation d’intégrité :

  1. Les composants de démarrage matériels sont mesurés.

  2. Les composants de démarrage du système d’exploitation sont mesurés.

  3. Si Device Guard est activé, la stratégie Device Guard actuelle est mesurée.

  4. Le noyau Windows est mesuré.

  5. Le logiciel antivirus démarre en tant que premier pilote en mode noyau.

  6. Les pilotes de démarrage sont mesurés.

  7. Le serveur GPM, par le biais de l’agent GPM, émet une commande de vérification d’intégrité en s’appuyant sur le fournisseur de services de configuration d’attestation d’intégrité.

  8. Les mesures de démarrage sont validées par le service d’attestation d’intégrité.

Remarque  

Par défaut, les 100 derniers journaux de démarrage du système et tous les journaux de reprise associés sont archivés dans le dossier %SystemRoot%\logs\measuredboot.

Vous pouvez définir le nombre de journaux conservés dans le Registre : REG_DWORD valeur PlatformLogRetention, sous la clé HKLM\SYSTEM\CurrentControlSet\Services\TPM. Une valeur de 0 désactive l’archivage du journal et une valeur de 0xffffffff permet de conserver tous les journaux.

 

Le processus suivant décrit la façon dont les mesures de démarrage d’intégrité sont envoyées au service d’attestation d’intégrité :

  1. Le client (un appareil Windows 10 avec module TPM 2.0) émet une demande auprès du service d’attestation d’intégrité à distance. Étant donné que le serveur d’attestation d’intégrité est normalement un service cloud Microsoft, l’URI est déjà préconfiguré dans le client.

  2. Le client envoie ensuite le journal TCG, les données signées par la clé d’attestation d’identité (AIK) (valeurs PCR, compteur de démarrage) et les informations de certificat AIK.

  3. Le service d’attestation d’intégrité de l’appareil à distance procède ensuite comme suit :

    1. Il vérifie que le certificat AIK est émis par une autorité de certification connue et approuvée et que le certificat est valide et non révoqué.

    2. Il vérifie que la signature dans la partie citée du PCR est correcte et cohérente par rapport à la valeur du journal TCG.

    3. Il analyse les propriétés fournies dans le journal TCG.

    4. Il émet le jeton d’intégrité de l’appareil qui contient des informations sur l’intégrité, des informations AIK et des informations sur le compteur de démarrage. Le jeton d’intégrité contient également une durée d’émission valide. Le jeton d’intégrité de l’appareil est chiffré et signé. Cela signifie que les informations qu’il contient sont protégées et qu’elles sont uniquement accessibles au service d’attestation d’intégrité émetteur.

  4. Le client stocke l’objet BLOB d’intégrité chiffré dans son magasin local. Le jeton d’intégrité de l’appareil contient l’état d’intégrité de l’appareil, l’identifiant de l’appareil (Windows AIK) et le compteur de démarrage.

Figure 8

Composants de l’attestation d’intégrité de l’appareil

La solution d’attestation d’intégrité de l’appareil suppose différents composants : le TPM, le fournisseur de services de configuration d’attestation d’intégrité et le service d’attestation d’intégrité Windows. Ces composants sont décrits dans cette section.

Module de plateforme sécurisée

Tout tourne autour du module TPM 2.0 et des certificats d’approbation. Cette section décrit comment les registres PCR (qui contiennent les données de configuration du système), la clé de type EK (Endorsement Key) (qui est comme une carte d’identité du TPM), SRK (qui protège les clés) et les clés AIK (qui peuvent signaler l’état de la plateforme) sont utilisés pour générer des attestations d’intégrité.

Dit plus simplement, le module de plateforme sécurisée est un composant passif qui dispose de ressources limitées. Il peut calculer des nombres aléatoires, émettre des clés RSA, déchiffrer des données courtes et stocker les hachages utilisés au moment du démarrage de l’appareil.

Un TPM intègre, en un seul composant :

  • un générateur de clés RSA 2 048 bits ;

  • un générateur de nombres aléatoires ;

  • une mémoire non volatile pour stocker des clés de type EK, SRK et AIK ;

  • un moteur de chiffrement pour chiffrer, déchiffrer et signer ;

  • une mémoire volatile pour stocker les registres PCR et les clés RSA.

Clé de type EK

Le TPM possède une clé de chiffrement unique intégrée appelée clé d’approbation ou clé de type EK. La clé de type EK du module de plateforme sécurisée est une paire de clés asymétriques (clé RSA de 2 048 bits).

La clé de type EK publique est généralement utilisée pour envoyer des paramètres sensibles en toute sécurité, par exemple quand vous entrez en possession du TPM qui contient le hachage du mot de passe du propriétaire. La clé de type EK privée est utilisée quand vous créez des clés secondaires comme des clés AIK.

La clé de type EK est comme la carte d’identité du TPM. Pour plus d’informations, voir Comprendre la clé de type EK du TPM.

La clé de type EK est souvent accompagnée d’un ou de deux certificats numériques :

  • Un certificat est généré par le fabricant du module de plateforme sécurisée. Il est appelé certificat d’approbation. Ce certificat d’approbation sert à prouver l’authenticité du module de plateforme sécurisée (par exemple, à prouver qu’il s’agit d’un véritable TPM fabriqué par un fabricant de puces spécifique) aux processus locaux, applications ou services cloud. Le certificat d’approbation est créé pendant la fabrication ou à la première initialisation du TPM en communiquant avec un service en ligne.

  • L’autre certificat est produit par le Platform Builder. Il est appelé certificat de plateforme pour indiquer qu’un TPM spécifique est intégré à un appareil donné.

Pour certains appareils qui utilisent les TPM dépendant du microprogramme, produits par Intel ou Qualcomm, le certificat d’approbation est créé à l’initialisation du TPM, pendant l’introduction de l’interface logicielle, à la première utilisation de Windows 10.

Remarque  

Le démarrage sécurisé protège la plateforme jusqu’au chargement du noyau Windows. Des protections comme le démarrage sécurisé, l’intégrité du code Hyper-V et ELAM prennent ensuite le relais. Un appareil qui utilise un TPM Intel ou Qualcomm obtient un certificat signé en ligne auprès du fabricant qui a créé la puce, puis le stocke dans l’espace de stockage TPM. Pour garantir la réussite de l’opération, si vous filtrez l’accès à Internet depuis vos appareils clients, vous devez autoriser les URL suivantes :

 

Clés d’attestation d’identité

Étant donné que le certificat d’approbation est unique pour chaque appareil et qu’il ne change pas, son utilisation peut présenter des problèmes de confidentialité. En effet, en théorie, il est possible d’effectuer le suivi d’un appareil en particulier. Pour éviter ce problème de confidentialité, Windows 10 émet un point d’ancrage d’attestation dérivé d’après le certificat d’approbation. Cette clé intermédiaire, qui peut être attestée par une clé de type EK, est la clé d’attestation d’identité (AIK), et le certificat correspondant est appelé certificat AIK. Ce certificat AIK est émis par un service cloud Microsoft.

Remarque  

Avant que l’appareil ne puisse signaler son intégrité à l’aide des fonctions d’attestation du module TPM 2.0, un certificat AIK doit être mis en service en liaison avec un service tiers comme le service Microsoft Cloud CA. Une fois ce certificat mis en service, la clé privée AIK peut servir à communiquer la configuration de la plateforme. Windows 10 crée une signature sur l’état des journaux de la plateforme (et une valeur de compteur monolithique) à chaque démarrage, en s’aidant de la clé AIK.

 

Le kit AIK consiste en une paire de clés asymétriques (publique/privée). Il est utilisé en remplacement de la clé de type EK. Il identifie le TPM à des fins de confidentialité. La partie privée d’une clé AIK n’est jamais révélée ni utilisée en dehors du TPM. Elle peut uniquement être utilisée à l’intérieur du TPM, pour un nombre limité d’opérations. En outre, elle ne peut être utilisée que pour la signature et uniquement pour des opérations limitées, définies par le TPM.

Le cas échéant, Windows 10 crée des clés AIK protégées par le TPM qui sont des clés de signature de RSA de 2 048 bits. Microsoft héberge un service cloud appelé Microsoft Cloud CA pour définir par chiffrement une communication avec un véritable TPM et attester que ce TPM possède la clé AIK présentée. Une fois que le service Cloud Microsoft CA a établi ces faits, il émet un certificat AIK sur l’appareil Windows 10.

De nombreux appareils existants qui vont être mis à niveau vers Windows 10 ne possèdent pas de module de plateforme sécurisée, ou ce module ne contient pas de certificat d’approbation. Pour s’adapter à ces appareils, Windows 10 autorise l’émission de certificats AIK sans la présence d’un certificat d’approbation. Ces certificats AIK ne sont pas émis par Microsoft Cloud CA. Notez que cette procédure n’est pas aussi sécurisée qu’un certificat d’approbation gravé dans l’appareil pendant la fabrication. Toutefois, elle est compatible avec des scénarios avancés comme l’utilisation de Microsoft Passport sans TPM.

Dans le certificat AIK émis, un OID spécial est ajouté pour attester que le certificat d’approbation a bien été utilisé pendant le processus d’attestation. Ces informations peuvent être exploitées par une partie de confiance pour accepter ou rejeter les appareils attestés à l’aide de certificats AIK, sans certificat d’approbation. Un autre scénario existe. Il consiste à ne pas autoriser l’accès aux ressources de valeur depuis les appareils attestés par un certificat AIK, sans certificat d’approbation.

Clé de racine de stockage

La clé de racine de stockage (SRK) consiste également en une paire de clés asymétriques (clé RSA avec une longueur minimale de 2 048 bits). La clé SRK joue un rôle important. Elle est utilisée pour protéger les clés du TPM, pour que ces clés ne puissent pas être utilisées sans celui-ci. La clé SRK est créée quand la propriété du TPM est prise.

Registres de configuration de plateforme

Le TPM contient un ensemble de registres conçus pour fournir une représentation chiffrée du logiciel et de l’état du système démarré. Ces registres sont appelés registres de configuration de plateforme (PCR).

La mesure de la séquence de démarrage dépend du registre PCR et du journal TCG. Pour établir une racine statique de confiance, au moment du démarrage de l’appareil, celui-ci doit être en mesure de mesurer le code du microprogramme avant l’exécution. Dans ce cas, le CRTM (Core Root of Trust for Measurement) est exécuté à partir du démarrage. Il calcule le hachage du microprogramme, le stocke en développant le registre PCR[0], puis transfère l’exécution au microprogramme.

Les registres PCR sont définis sur zéro au démarrage de la plateforme. Il revient au microprogramme qui démarre la plateforme de mesurer les composants de la chaîne de démarrage et d’enregistrer les mesures dans les registres PCR. En règle générale, les composants de démarrage prennent le hachage du composant suivant à exécuter et enregistrent les mesures dans les registres PCR. Le composant initial qui démarre la chaîne de mesure est implicitement un composant digne de confiance. Il s’agit du CRTM. Il est demandé aux fabricants de plateforme de mettre en place un processus de mise à jour sécurisé pour le CRTM et de ne pas autoriser de mises à jour le concernant. Les registres PCR enregistrent un hachage cumulatif des composants qui ont été mesurés.

La valeur d’un registre PCR est difficile à interpréter (il s’agit seulement d’une valeur de hachage). Toutefois, les plateformes conservent habituellement un journal détaillant ce qui a été mesuré et les registres PCR garantissent simplement que ce journal n’a pas été falsifié. Ces journaux sont appelés journaux TCG. Chaque fois qu’un registre PCR est étendu, une entrée est ajoutée au journal TCG. Ainsi, tout au long du processus de démarrage, une trace du code exécutable et des données de configuration est conservée dans le journal TCG.

Mise en service du module de plateforme sécurisée

Pour pouvoir utiliser le module TPM d’un appareil Windows 10, vous devez tout d’abord le mettre en service. Le processus de mise en service diffère selon les versions du TPM. Lorsqu’il est valide, le TPM est utilisable et les données d’autorisation du propriétaire (ownerAuth) pour le TPM sont stockées en local dans le Registre.

Au moment de la mise en service du TPM, Windows 10 tente tout d’abord de déterminer la clé de type EK et les valeurs ownerAuth stockées en local en effectuant une recherche dans le Registre, à l’emplacement suivant : HKLM\SYSTEM\CurrentControlSet\Services\TPM\WMI\Endorsement

Au cours du processus de mise en service, il est parfois nécessaire de redémarrer l’appareil.

Notez que la cmdlet Get-TpmEndorsementKeyInfo PowerShell peut être utilisée avec des privilèges d’administration pour obtenir des informations sur la clé de type EK et les certificats du TPM.

Si la propriété du TPM n’est pas connue, mais que la clé de type EK existe, la bibliothèque cliente met le TPM en service et stocke la valeur ownerAuth résultante dans le Registre. Si la stratégie le permet, elle stocke la partie publique de la clé SRK à l’emplacement suivant : HKLM\SYSTEM\CurrentControlSet\Services\TPM\WMI\Admin\SRKPub

Dans le cadre de ce processus de mise en service, Windows 10 crée une clé AIK avec le TPM. Au moment de cette opération, la partie publique de la clé AIK qui en résulte est stockée dans le Registre à l’emplacement suivant : HKLM\SYSTEM\CurrentControlSet\Services\TPM\WMI\WindowsAIKPub

Remarque  

Pour mettre en service les certificats AIK et filtrer l’accès à Internet, vous devez autoriser l’URL suivante contenant un caractère générique : https://*.microsoftaik.azure.net

 

Fournisseur de service de configuration d’attestation d’intégrité dans Windows 10

Windows 10 contient un fournisseur de service de configuration spécialisé (CSP, Configuration Service Provider) pour interagir avec la fonctionnalité d’attestation d’intégrité. Un CSP est un composant qui se connecte au client GPM Windows et qui fournit un protocole publié sur la façon dont les serveurs GPM peuvent configurer les paramètres et gérer les appareils Windows. Le protocole de gestion est comme une arborescence avec des URI et des fonctions à effectuer sur les URI du type « get », « set », « delete », etc.

Voici une liste des fonctions effectuées par le CSP d’attestation d’intégrité dans Windows 10 :

  • Il collecte les données utilisées pour vérifier l’état d’intégrité de l’appareil.

  • Il transfère ces données au service d’attestation d’intégrité.

  • Il met en service le certificat d’attestation d’intégrité qu’il reçoit du service correspondant.

  • Sur demande, il transfère le certificat d’attestation d’intégrité (reçu du service d’attestation d’intégrité) et les informations d’exécution correspondantes au serveur GPM pour vérification.

Pendant une session d’attestation d’intégrité, le CSP d’attestation d’intégrité transfère les journaux TCG et les valeurs PCR mesurées lors du démarrage au service d’attestation d’intégrité, via un canal de communication sécurisé.

Quand un serveur GPM valide qu’un appareil a reçu l’attestation du service d’attestation d’intégrité, il reçoit un ensemble d’instructions et de réclamations sur son démarrage, ainsi que l’assurance que l’appareil n’a pas été redémarré entre le moment où son intégrité a été attestée et celui où le serveur GPM l’a validée.

Service d’attestation d’intégrité Windows

Le rôle du service d’attestation d’intégrité Windows est essentiellement d’évaluer un ensemble de données d’intégrité (journal TCG et valeurs PCR), de détecter (en fonction des données d’intégrité disponibles), de générer un objet BLOB d’intégrité chiffré ou d’envoyer des rapports aux serveurs GPM.

Remarque  

L’appareil et les serveurs GPM doivent avoir accès à has.spserv.microsoft.com à l’aide du protocole TCP, sur le port 443 (HTTPS).

 

Pour vérifier qu’une attestation TPM et le journal associé sont valides, plusieurs étapes sont nécessaires :

  1. Tout d’abord, le serveur doit vérifier que les rapports sont signés par des clés AIK dignes de confiance. Cela est possible en vérifiant que la partie publique de la clé AIK est répertoriée dans une base de données de ressources, ou qu’un certificat a bien été vérifié.

  2. Une fois la clé vérifiée, l’attestation signée (sous forme de citation) doit elle aussi être vérifiée pour voir si sa signature est valide compte tenu des valeurs PCR.

  3. Ensuite, les journaux doivent être vérifiés pour s’assurer qu’ils correspondent aux valeurs PCR signalées.

  4. Enfin, les journaux proprement dits doivent être examinés par une solution GPM pour voir s’ils présentent des configurations de sécurité connues ou valides. Voici un exemple de vérification simple : vous pouvez vérifier que les composants du système d’exploitation mesurés tôt dans le processus sont corrects, que le pilote ELAM est comme prévu et que le fichier de stratégie du pilote ELAM est à jour. Si toutes ces vérifications aboutissent, une déclaration d’attestation peut être émise. Par la suite, elle va servir à déterminer si le client doit ou non accorder l’accès à une ressource.

Le service d’attestation d’intégrité fournit les informations suivantes à une solution GPM à propos de l’intégrité de l’appareil :

  • activation du démarrage sécurisé ;

  • activation du débogage du démarrage et du noyau ;

  • activation de BitLocker ;

  • activation du mode VSM ;

  • mesure de la stratégie d’intégrité du code Device Guard signée ou non signée ;

  • chargement du pilote ELAM ;

  • démarrage en mode sans échec, activation de la prévention de l’exécution des données, activation de la signature de test ;

  • mise en service du TPM de l’appareil avec un certificat d’approbation de confiance.

Par souci d’exhaustivité des mesures, voir Fournisseur de service de configuration d’attestation d’intégrité.

Le tableau suivant présente certains éléments clés qui peuvent être signalés en retour à une solution GPM selon le type d’appareil Windows 10.

Type de système d’exploitation Éléments clés qui peuvent être signalés

Windows 10 Mobile

  • Mesures PCR0

  • Activation du démarrage sécurisé

  • La base de données de signatures (db) du démarrage sécurisé utilisée est celle par défaut

  • La base de données de signatures révoquées (dbx) du démarrage sécurisé est à jour

  • La valeur du GUID de la stratégie de démarrage sécurisé est celle par défaut

  • Activation du chiffrement de l’appareil

  • L’horodatage/la version de la liste de révocation d’intégrité du code est à jour

Windows 10 pour les éditions de bureau

  • Mesures PCR0

  • Activation du démarrage sécurisé

  • La base de données de signatures (db) du démarrage sécurisé utilisée est celle attendue

  • La base de données de signatures révoquées (dbx) du démarrage sécurisé est à jour

  • La valeur du GUID de la stratégie de démarrage sécurisé correspond à celle attendue

  • Activation de BitLocker

  • Activation de la sécurité basée sur la virtualisation

  • Chargement du pilote ELAM

  • La version d’intégrité du code est à jour

  • Le hachage de la stratégie d’intégrité du code correspond à celui attendu

 

Exploiter la solution GPM et le service d’attestation d’intégrité

Pour rendre l’intégrité de l’appareil pertinente, la solution GPM évalue le rapport d’intégrité de l’appareil et adopte une configuration correspondant aux conditions d’intégrité requises par l’entreprise.

Une solution qui s’appuie sur une solution GPM et le service d’attestation d’intégrité se compose principalement de trois parties :

  1. Un appareil pour lequel l’attestation d’intégrité est activée. Cela s’effectue généralement dans le cadre d’une inscription auprès d’un fournisseur GPM (l’attestation d’intégrité est désactivée par défaut).

  2. Une fois cette option activée, et après chaque démarrage, l’appareil envoie les mesures d’intégrité au service d’attestation d’intégrité hébergé par Microsoft et reçoit en retour un objet BLOB d’attestation d’intégrité.

  3. À tout moment après cela, un serveur GPM peut demander l’objet BLOB d’attestation d’intégrité depuis l’appareil, mais aussi demander au service d’attestation d’intégrité de déchiffrer le contenu et de valider qu’il est attesté.

Figure 9

L’interaction entre un appareil Windows 10, le service d’attestation d’intégrité et la solution GPM se déroule comme suit :

  1. Le client ouvre une session avec le serveur GPM. L’URI du serveur GPM fait partie de l’application cliente à l’origine de la requête. À ce stade, le serveur GPM peut demander les données d’attestation d’intégrité au moyen de l’URI du CSP approprié.

  2. Le serveur GPM spécifie une valeur nonce en même temps que la demande.

  3. Le client envoie ensuite la valeur nonce citée par la clé AIK + le compteur de démarrage et les informations de l’objet BLOB d’intégrité. Cet objet BLOB d’intégrité est chiffré avec une clé publique du service d’attestation d’intégrité qu’il est le seul à pouvoir déchiffrer.

  4. Le serveur GPM :

    1. vérifie que la valeur nonce est celle prévue ;

    2. transmet les données citées, la valeur nonce et l’objet BLOB d’intégrité chiffré au serveur du service d’attestation d’intégrité.

  5. Le service d’attestation d’intégrité :

    1. déchiffre l’objet BLOB d’intégrité ;

    2. vérifie que le compteur de démarrage dans la citation est correct en s’aidant de la clé AIK contenue dans l’objet BLOB d’intégrité et qu’il correspond à la valeur contenue dans l’objet BLOB d’intégrité ;

    3. vérifie que la valeur nonce correspond à la valeur indiquée dans la citation et à celle transmise par le serveur GPM ;

    4. étant donné que le compteur de démarrage et la valeur nonce sont cités avec la clé AIK depuis l’objet BLOB d’intégrité, cela prouve également que l’appareil est identique à celui pour lequel l’objet BLOB d’intégrité a été généré ;

    5. renvoie des données au serveur GPM, notamment les paramètres d’intégrité, d’actualisation, etc.

Remarque  

Le serveur GPM (partie de confiance) n’effectue jamais lui-même la validation de la citation ou du compteur de démarrage. Il obtient les données de la citation et de l’objet BLOB d’intégrité (qui est chiffré), puis envoie ces données au service d’attestation d’intégrité pour validation. De cette façon, le serveur GPM ne peut jamais voir la clé AIK, ce qui résout les problèmes de confidentialité.

 

La première étape consiste à définir la configuration requise pour la mise en conformité de l’appareil. L’objectif est de s’assurer que les appareils enregistrés qui ne respectent pas les conditions requises en termes d’intégrité et de conformité sont bien détectés et suivis, et que des actions sont mises en place par la solution GPM.

Il est nécessaire d’évaluer l’intégrité des appareils qui tentent de se connecter aux ressources afin de pouvoir détecter et signaler les appareils non sains et non conformes. Pour être entièrement efficace, une solution de sécurité de bout en bout doit intervenir sur les appareils non sains, comme refuser l’accès aux ressources de grande importance. C’est le rôle du contrôle d’accès conditionnel qui est détaillé à la section suivante.

Contrôler la sécurité d’un appareil Windows 10 avant d’y accorder l’accès

Aujourd’hui, dans la plupart des cas, la technologie de contrôle d’accès vise à s’assurer que les bonnes personnes accèdent aux bonnes ressources. Si les utilisateurs peuvent s’authentifier, ils accèdent aux ressources à l’aide d’un appareil dont le personnel informatique et les systèmes de l’entreprise savent très peu de chose. Une vérification a peut-être lieu qui permet de s’assurer qu’un appareil est chiffré avant de se voir accorder l’accès à la messagerie. Mais que se passe-t-il si cet appareil est infecté par un programme malveillant ?

Le processus d’attestation d’intégrité à distance de l’appareil utilise les données de démarrage mesuré pour vérifier son état d’intégrité. L’intégrité de l’appareil est ensuite transmise à une solution GPM comme Intune.

Remarque  

Pour obtenir des informations récentes sur la prise en charge des fonctionnalités d’Intune et de Windows 10, voir le blog Microsoft Intune et la section Nouveautés de Microsoft Intune.

 

La figure ci-dessous montre comment le service d’attestation d’intégrité doit pouvoir fonctionner avec le service GPM Intune dans le cloud de Microsoft.

Figure 10

Une solution GPM peut alors exploiter les déclarations d’état d’intégrité et leur faire franchir un nouveau palier en les couplant aux stratégies clientes. Ainsi, elle autorise un accès conditionnel d’après la disponibilité de l’appareil et prouve qu’il n’est infecté par aucun programme malveillant, que son système anti-programme malveillant fonctionne et est à jour, que le pare-feu est opérationnel et que l’état du correctif de l’appareil est conforme.

Enfin, il est possible de protéger les ressources en refusant l’accès aux points de terminaison qui ne parviennent pas à prouver leur intégrité. Cette fonctionnalité se révèle très utile pour les appareils BYOD qui ont besoin d’accéder aux ressources de l’entreprise.

Prise en charge intégrée d’une solution GPM dans Windows 10

Le système d’exploitation Windows 10 intègre un client GPM. Cela permet aux serveurs GPM de gérer les appareils Windows 10 sans faire appel à un agent séparé.

Prise en charge d’un serveur GPM tiers

Des serveurs GPM tiers peuvent gérer Windows 10 à l’aide du protocole GPM. Ce client de gestion intégré est capable de communiquer avec un serveur compatible qui prend en charge le protocole OMA-DM et effectue des tâches de gestion d’entreprise. Pour plus d’informations, voir Intégration d’Azure Active Directory avec GPM.

Remarque  

Il est inutile aux serveurs GPM de créer ou de télécharger un client pour gérer Windows 10. Pour plus d’informations, voir Gestion des appareils mobiles.

 

Le serveur GPM tiers offre le même niveau de cohérence aux utilisateurs Windows 10 pour l’inscription, de même qu’une réelle simplicité.

Gestion de Windows Defender par un serveur GPM tiers

Cette infrastructure de gestion permet aux professionnels de l’informatique d’utiliser des produits compatibles avec la solution GPM comme Intune, mais aussi de gérer les attestations d’intégrité, Device Guard ou Windows Defender sur des appareils Windows 10, y compris les appareils BYOD qui ne font pas partie du domaine. Les professionnels de l’informatique sont alors en mesure de gérer et de configurer toutes les actions et tous les paramètres qu’ils ont l’habitude de personnaliser à l’aide d’Intune avec Intune Endpoint Protection sur les systèmes d’exploitation de niveau inférieur. Actuellement, les administrateurs qui gèrent uniquement les appareils appartenant au domaine via la stratégie de groupe n’éprouvent aucune difficulté à passer à la gestion des appareils Windows 10 avec une solution GPM dans la mesure où ces deux mécanismes se partagent la plupart des paramètres et actions.

Pour plus d’informations sur la gestion des paramètres système et de sécurité de Windows 10 avec une solution GPM, voir Paramètres d’URI personnalisés pour les appareils Windows 10.

Contrôle d’accès conditionnel

Sur la plupart des plateformes, l’inscription d’un appareil Azure Active Directory (Azure AD) s’effectue automatiquement au moment de la mise en œuvre. Les états de l’appareil sont écrits par la solution GPM dans Azure AD, puis lus par Office 365 (ou par une application Windows autorisée qui interagit avec Azure AD) lors de la prochaine tentative par le client d’accéder à une charge de travail Office 365 compatible.

Si l’appareil n’est pas inscrit, l’utilisateur reçoit un message avec des instructions sur l’inscription. Si l’appareil n’est pas compatible, l’utilisateur reçoit un message différent qui le redirige vers le portail web de la solution GPM à partir duquel il peut obtenir plus d’informations sur le problème de conformité et sur la façon de le résoudre.

Azure AD authentifie l’utilisateur et l’appareil, la solution GPM gère les stratégies de mise en conformité et d’accès conditionnel, tandis que le service d’attestation d’intégrité génère un rapport sur l’intégrité de l’appareil attesté.

Figure 11

Contrôle d’accès conditionnel d’Office 365

Azure AD applique des stratégies d’accès conditionnel pour sécuriser l’accès aux services Office 365. L’administrateur des clients peut créer une stratégie d’accès conditionnel qui empêche un utilisateur sur un appareil non conforme d’accéder à un service Office 365. Cet utilisateur doit se conformer aux stratégies des appareils de l’entreprise pour se voir accorder l’accès au service. Sinon, l’administrateur peut également créer une stratégie qui oblige les utilisateurs à simplement inscrire leurs appareils pour pouvoir accéder à un service Office 365. Il est possible d’appliquer ces stratégies à tous les utilisateurs d’une entreprise ou bien à certains groupes cibles uniquement, et de les améliorer au fil du temps pour y inclure d’autres groupes cibles.

Quand un utilisateur demande l’accès à un service Office 365 depuis une plateforme d’appareils pris en charge, Azure AD authentifie cet utilisateur et l’appareil à partir duquel il émet la requête. Azure AD lui accorde ensuite l’accès au service, uniquement lorsqu’il se conforme à la stratégie définie pour ce service. Les utilisateurs dont l’appareil n’est pas inscrit reçoivent des instructions de mise à jour sur la façon de l’inscrire et de le mettre en conformité pour accéder aux services Office 365 professionnels.

Quand un utilisateur s’inscrit, son appareil est enregistré auprès d’Azure AD, de même qu’il est inscrit auprès d’une solution GPM compatible comme Intune.

Remarque  

Microsoft travaille avec des éditeurs de solutions GPM tiers pour automatiser l’inscription auprès d’une solution GPM et les vérifications d’accès d’après la stratégie définie. Les étapes à suivre pour activer l’inscription automatique auprès d’une solution GPM avec Azure AD et Intune se trouvent dans le billet de blog Windows 10, Azure AD And Microsoft Intune: Automatic MDM Enrollment Powered By The Cloud.

 

Quand un utilisateur parvient à inscrire un appareil, celui-ci devient fiable. Azure AD fournit une authentification unique pour accéder aux applications de l’entreprise et met en place une stratégie d’accès conditionnel pour accorder l’accès à un service, non seulement la première fois que l’utilisateur demande l’accès, mais aussi chaque fois qu’il demande à le renouveler.

Cet utilisateur se voit refuser l’accès aux services quand les informations d’identification de connexion sont modifiées, quand un appareil est perdu ou volé ou quand la stratégie de conformité n’est pas respectée au moment de la demande de renouvellement.

En fonction du type d’application de messagerie que les employés utilisent pour accéder à Exchange Online, le chemin d’accès pour établir un accès sécurisé à la messagerie peut être légèrement différent. Toutefois, les principaux composants : Azure AD, Office 365/Exchange Online et Intune, sont les mêmes. L’expérience du service informatique et celle de l’utilisateur final sont également similaires.

Figure 12

Les clients qui essaient d’accéder à Office 365 sont évalués d’après les propriétés suivantes :

  • L’appareil est-il géré par une solution GPM ?

  • L’appareil est-il inscrit auprès d’Azure AD ?

  • L’appareil est-il conforme ?

Pour être conforme, l’appareil Windows 10 doit :

  • s’inscrire auprès d’une solution GPM ;

  • s’enregistrer auprès d’Azure AD ;

  • se conformer aux stratégies définies pour les appareils par la solution GPM.

Remarque  

À l’heure actuelle, les stratégies d’accès conditionnel sont mises en service au cas par cas auprès des utilisateurs, sur les appareils iOS et Android. Pour plus d’informations, voir le billet de blog Azure AD, Microsoft Intune and Windows 10 – Using the cloud to modernize enterprise mobility.

 

Contrôle d’accès conditionnel pour les applications dans le cloud et sur site

Le contrôle d’accès conditionnel est un puissant moteur d’évaluation des stratégies intégré à Azure AD. Il aide les professionnels de l’informatique à créer des règles d’accès au-delà d’Office 365. Ces règles évaluent le contexte d’une connexion utilisateur pour prendre des décisions en temps réel sur les applications auxquelles il est possible d’accéder.

Les professionnels de l’informatique peuvent configurer des stratégies de contrôle d’accès conditionnel pour des applications SaaS dans le cloud sécurisées par Azure AD et même des applications sur site. Les règles d’accès dans Azure AD tirent parti du moteur d’accès conditionnel pour vérifier l’état d’intégrité et l’état de conformité de l’appareil signalé par une solution GPM compatible comme Intune, afin de déterminer s’il faut autoriser l’accès.

Pour plus d’informations sur l’accès conditionnel, voir Aperçu de l’accès conditionnel Azure pour les applications SaaS.

Remarque  

Le contrôle d’accès conditionnel est une fonctionnalité Premium d’Azure AD, également disponible avec les services de gestion d’urgence (EMS). Si vous ne possédez pas d’abonnement Azure AD Premium, vous pouvez obtenir une version d’évaluation sur le site de Microsoft Azure.

 

Pour les applications sur site, il existe deux options pour activer le contrôle d’accès conditionnel selon l’état de conformité de l’appareil :

  • Pour les applications sur site publiées par le biais du proxy d’application Azure AD, vous pouvez configurer des stratégies de contrôle d’accès conditionnel comme vous le feriez pour des applications dans le cloud. Pour plus d’informations, voir le billet de blog Azure AD Conditional Access preview updated: Now supports On-Premises and Custom LOB apps.

  • En outre, Azure AD Connect synchronise les informations de conformité de l’appareil d’Azure AD à AD sur site. Une prise en charge du contrôle d’accès conditionnel selon l’état de conformité de l’appareil est prévue avec ADFS sur Windows Server Technical Preview 2016. Les professionnels de l’informatique devront configurer les stratégies de contrôle d’accès conditionnel dans ADFS, l’objectif étant d’utiliser l’état de conformité de l’appareil signalé par une solution GPM compatible afin de sécuriser les applications sur site.

Figure 13

Le processus suivant décrit la façon dont l’accès conditionnel fonctionne dans Azure AD :

  1. L’utilisateur s’est déjà inscrit auprès d’une solution GPM par le biais d’une jonction d’espace de travail ou à Azure AD qui enregistre l’appareil auprès d’Azure AD.

  2. Lorsque l’appareil démarre ou sort de veille prolongée, une tâche « Tpm-HASCertRetr » est déclenchée pour demander un objet BLOB d’attestation d’intégrité à l’arrière-plan. L’appareil envoie les mesures de démarrage du TPM au service d’attestation d’intégrité.

  3. Le service d’attestation d’intégrité valide l’état de l’appareil et envoie un objet BLOB chiffré à l’appareil en fonction de l’état d’intégrité avec des détails sur les vérifications qui ont échoué (le cas échéant).

  4. L’utilisateur se connecte et l’agent GPM contacte le serveur Intune/GPM.

  5. Le cas échéant, le serveur GPM pousse les nouvelles stratégies (si disponibles) et interroge l’état de l’objet BLOB d’intégrité et autre état d’inventaire.

  6. L’appareil envoie un objet BLOB d’attestation d’intégrité précédemment acquis, ainsi que la valeur de l’autre inventaire, tel que requis par le serveur Intune/GPM.

  7. Le serveur Intune/GPM envoie l’objet BLOB d’attestation d’intégrité au service d’attestation d’intégrité pour validation.

  8. Le service d’attestation d’intégrité valide que l’appareil qui a envoyé l’objet BLOB d’attestation d’intégrité est fiable, puis renvoie ce résultat au serveur Intune/GPM.

  9. Le serveur Intune/GPM évalue la conformité d’après l’état de conformité et l’inventaire/état d’attestation de conformité demandé à l’appareil.

  10. Le serveur Intune/GPM met à jour l’état de conformité d’après l’objet de l’appareil dans Azure AD.

  11. L’utilisateur ouvre l’application et tente d’accéder à une ressource gérée d’entreprise.

  12. L’accès est contrôlé par la réclamation de conformité dans Azure AD.

  13. Si l’appareil est conforme et que l’utilisateur est autorisé, un jeton d’accès est généré.

  14. L’utilisateur peut accéder à la ressource gérée d’entreprise.

Pour plus d’informations sur la jonction à Azure AD, voir le livre blanc Azure AD & Windows 10: Better Together for Work or School.

Le contrôle d’accès conditionnel est un sujet que de nombreux professionnels de l’informatique et entreprises ne connaissent pas aussi bien qu’ils le devraient. Les différents attributs qui décrivent un utilisateur, un appareil, la conformité et le contexte d’accès sont très puissants quand utilisés avec un moteur d’accès conditionnel. Le contrôle d’accès conditionnel est une étape essentielle qui permet aux entreprises de sécuriser leur environnement.

Conclusions et résumé

La liste suivante contient quelques conclusions clés générales pour améliorer la sécurité d’une entreprise. Toutefois, les conclusions présentées dans cette section ne doivent pas être interprétées comme une liste exhaustive des meilleures pratiques de sécurité.

  • Comprendre qu’aucune solution n’est sûre à 100 %

    S’il s’avère que des personnes malintentionnées obtiennent un accès physique à l’appareil, elles peuvent finir par passer outre les différentes couches de sécurité et le contrôler.

  • Utiliser l’attestation d’intégrité avec une solution GPM

    Il est nécessaire d’évaluer l’intégrité des appareils qui tentent de se connecter aux ressources de grande importance afin de pouvoir détecter, signaler et éventuellement bloquer les appareils non sains et non conformes.

  • Utiliser Credential Guard

    Credential Guard est une fonctionnalité qui vous aide considérablement à protéger les informations d’identification du domaine de l’entreprise contre les attaques PtH.

  • Utiliser Device Guard

    Device Guard constitue une réelle avancée dans le domaine de la sécurité et un moyen efficace de vous protéger contre les programmes malveillants. La nouvelle fonctionnalité Device Guard de Windows 10 bloque les applications non approuvées (des applications non autorisées par votre entreprise).

  • Signer la stratégie Device Guard

    Une stratégie Device Guard signée protège contre les utilisateurs détenant des privilèges d’administrateur et qui tentent de passer outre la stratégie actuelle. Quand une stratégie est signée, le seul moyen de modifier Device Guard est de fournir une nouvelle version de cette stratégie, signée par le même signataire ou émanant d’un signataire spécifié dans le cadre de la stratégie Device Guard.

  • Utiliser une sécurité basée sur la virtualisation

    Lorsque l’intégrité du code en mode noyau est protégée par une sécurité basée sur la virtualisation, les règles d’intégrité du code sont néanmoins appliquées, même si une faille permet d’accéder à la mémoire en mode noyau de manière non autorisée. N’oubliez pas que les appareils Device Guard qui exécutent l’intégrité du code en mode noyau avec une sécurité basée sur la virtualisation doivent être équipés de pilotes compatibles.

  • Commencer à déployer Device Guard en mode audit

    Déployez la stratégie Device Guard sur les ordinateurs cibles et les appareils en mode audit. Surveillez le journal des événements d’intégrité du code qui indique qu’un programme ou un pilote aurait été bloqué si Device Guard avait été configuré en mode de mise en conformité. Ajustez les règles de Device Guard jusqu’à avoir une confiance totale. Une fois la phase de test terminée, vous pouvez repasser la stratégie Device Guard en mode de mise en conformité.

  • Créer un ordinateur de référence isolé lors du déploiement de Device Guard

    Étant donné que le réseau de l’entreprise peut contenir des logiciels malveillants, vous devez commencer par configurer un environnement de référence et l’isoler de votre réseau d’entreprise principal. Après cela, vous pouvez créer une stratégie d’intégrité du code qui comprend les applications fiables que vous souhaitez exécuter sur vos appareils protégés.

  • Utiliser AppLocker lorsque cela est justifié

    Bien qu’AppLocker ne soit pas considérée comme une nouvelle fonctionnalité de Device Guard, elle complète les fonctionnalités existantes dans certains scénarios, par exemple en permettant d’exclure certaines applications Windows universelles pour un utilisateur ou un groupe d’utilisateurs donné.

  • Verrouiller le microprogramme et la configuration

    Après l’installation de Windows 10, verrouillez l’accès aux options de démarrage du microprogramme. Cela empêche un utilisateur disposant d’un accès physique de modifier les paramètres UEFI, de désactiver le démarrage sécurisé ou de démarrer d’autres systèmes d’exploitation. En outre, pour vous protéger contre un administrateur qui tenterait de désactiver Device Guard, ajoutez une règle dans la stratégie Device Guard actuelle qui refuse ou bloque l’exécution de l’outil C:\Windows\System32\SecConfig.efi.

L’attestation d’intégrité est une fonctionnalité clé de Windows 10 qui intègre des composants clients et des composants cloud. Elle contrôle l’accès aux ressources importantes en se basant sur l’identité de l’utilisateur et de son appareil, mais aussi sur leur conformité avec la stratégie de gouvernance de l’entreprise. Les entreprises peuvent choisir de détecter et d’indiquer les appareils non sains, ou de configurer des règles de mise en œuvre d’intégrité en fonction de leurs besoins. L’attestation d’intégrité fournit un modèle de sécurité de bout en bout et des points d’intégration que les éditeurs et les développeurs de logiciels peuvent utiliser pour générer et intégrer une solution personnalisée.

Rubriques associées

Credential Guard

Guide de déploiement de Microsoft Device Guard

Vue d’ensemble de la technologie du module de plateforme sécurisée