Partager via


Première approche : Nouvelles fonctionnalités de sécurité dans Windows Vista

Sur cette page

Contrôle des comptes utilisateur
Consentement et informations d'identification
Cryptage des données
Redirection des données
Cryptographie
Renforcement des services
Windows Defender
Services de gestion des droits

La version Microsoft Windows Vista introduira une toute nouvelle génération de technologies de sécurité pour le poste de travail. Certaines de ces technologies de sécurité sont destinées à renforcer l'infrastructure globale de Windows, de sorte qu'elle soit encore plus fiable et sûre, tandis que d'autres sont spécialement destinées à vous aider à contrôler le système et les données.
Pour illustrer les améliorations de sécurité de cette nouvelle version de Windows®, je vais détailler 11 nouvelles fonctionnalités de sécurité de Windows Vista™ que vous devez connaître pour planifier un déploiement dans votre entreprise, ou même chez vous. Certaines des fonctionnalités que je détaille ici peuvent être plus importantes pour vous que pour d'autres, car les besoins de chacun sont différents. Soyez conscient que certains détails de ces fonctionnalités peuvent évoluer entre aujourd'hui et la version finale de Windows Vista. Commençons sans plus attendre.

Contrôle des comptes utilisateur

Intégrité du code

L'intégrité du code (CI, Code Integrity) protège Windows Vista en vérifiant que les fichiers binaires système n'ont pas été trafiqués par du code malveillant et en s'assurant qu'aucun pilote non signé ne s'exécute en mode noyau sur le système. CI est lancé au démarrage de Windows. Le module de chargement d'amorçage vérifie l'intégrité du noyau, la couche d'abstraction matérielle (HAL, Hardware Abstraction Layer) et les pilotes d'amorçage. Une fois ces fichiers binaires vérifiés, le système démarre et le gestionnaire de mémoire appelle CI afin de vérifier les fichiers binaires chargés dans l'espace mémoire du noyau. Les fichiers binaires sont vérifiés via la recherche de leur signature dans les catalogues système. Outre l'espace mémoire du noyau, CI vérifie les fichiers binaires chargés dans un processus protégé, ainsi que les bibliothèques dynamiques installées par le système qui implémentent les fonctions cryptographiques essentielles.

Le contrôle des comptes utilisateur (UAC, User Account Control) est l'une des premières technologies que vous rencontrerez dans Windows Vista. Cette suite de technologies permet de définir l'utilisateur standard comme utilisateur par défaut dans Windows Vista. Par le passé, les entreprises étaient souvent contraintes d'accorder à leurs utilisateurs des droits administrateur afin qu'ils puissent exécuter diverses fonctions système, telles que le changement de fuseau horaire, ou parce qu'une application métier essentielle nécessitait des privilèges administrateur. Lorsque UAC est activé, tous les utilisateurs d'un ordinateur donné, y compris les administrateurs, exécutent la plupart des applications avec un jeton d'accès utilisateur standard par défaut.
UAC est constitué de plusieurs technologies, notamment : Le service AIS (Application Information Service), l'invite information d'identification/consentement, la détection de l'installeur et la virtualisation des données. Ces technologies ont toutes pour objectif d'aider les utilisateurs à ne plus utiliser systématiquement des privilèges administrateur. Les développeurs pourront marquer les applications qui nécessitent des privilèges administrateur sous Windows Vista. AIS exécutera uniquement ces applications avec des privilèges administrateur, et uniquement lorsque l'utilisateur y consent. En outre, les fonctionnalités de détection de l'installeur et de virtualisation des données permettront aux anciennes applications de fonctionner dans le nouvel environnement.
Les technologies UAC entrent en action dès qu'un utilisateur ouvre une session sur le système. Voyons ce qui se passe lorsqu'un membre du groupe Administrateurs ouvre une session sur un ordinateur exécutant Windows Vista. Au cours de l'ouverture de session, le service LSA (Local Security Authority) note que l'utilisateur fait partie du groupe Administrateurs et crée un jeton d'accès filtré pour cet utilisateur. Ce jeton d'accès filtré ressemble au jeton d'accès d'un utilisateur dans le groupe Utilisateurs, ce que j'appelle un jeton d'accès utilisateur standard (voir figure 1).

Figure 1 : Création d'un jeton d'ouverture de session

Le jeton d'accès par défaut utilisé pour lancer le poste de travail, à savoir le processus explorer.exe, est un jeton d'accès utilisateur standard, et tout processus enfant de explorer.exe hérite du jeton d'accès utilisateur standard. Si un utilisateur membre du groupe Utilisateurs ouvre une session, ce jeton d'accès utilisateur n'est pas affecté et le jeton utilisé pour créer explorer.exe est également un jeton d'accès utilisateur standard. À l'évidence, certaines opérations doivent échouer lors de l'utilisation d'un jeton d'accès utilisateur standard, par exemple la modification des autorisations utilisateur. Dans ce cas, les applications peuvent être marquées avec un attribut dans le manifeste d'application, indiquant que ce processus doit être créé par un utilisateur avec des privilèges administrateur. Une autre option consiste à exécuter l'application avec le jeton d'accès le plus élevé disponible.

Consentement et informations d'identification

Une fonctionnalité essentielle d'UAC est que les utilisateurs ne peuvent pas s'exécuter avec leur jeton d'accès administrateur complet sans consentement explicite. Lorsque Windows Vista détermine que le processus doit être créé avec le jeton d'accès administrateur complet, le service informe l'utilisateur que ce service nécessite un consentement pour s'exécuter avec le jeton d'accès complet de l'utilisateur (voir figure 2).

Figure 2 : Consentement d'exécution d'une application

Que doit-il se passer si l'utilisateur n'est qu'un utilisateur standard et tente d'exécuter un programme qui nécessite des privilèges administrateur ? Dans ce cas, l'utilisateur est invité à saisir les informations d'identification d'un utilisateur administrateur (voir figure 3). Lorsque l'utilisateur saisit des informations d'identification valides, il autorise AIS à utiliser le jeton d'accès administrateur spécifié. Pour renforcer la sécurité, la base de données de consentement est protégée contre la réception de messages provenant d'autres processus qui ne s'exécutent pas en tant qu'administrateur.

Figure 3 : Fourniture d'informations d'identification

Si vous êtes un professionnel de l'informatique, vous pouvez décider que certaines applications nécessitent le jeton administrateur complet, parce qu'elles ont un impact direct sur le système. Ces applications doivent être marquées comme nécessitant des privilèges administrateur, ce que vous pouvez faire via la base de données de compatibilité des applications. Une fois ces privilèges spécifiés, l'application invite l'utilisateur à fournir son consentement lors de l'exécution suivante. Vous pouvez alors déployer le marquage de l'application sur tous les ordinateurs de l'entreprise via la stratégie de groupe.

Cryptage des données

Isolement des applications
Le contrôle d'intégrité obligatoire (MIC, Mandatory Integrity Control) permet à Windows de contrôler les communications entre les processus en définissant divers niveaux d'intégrité dans lesquels les processus s'exécutent. Une application qui s'exécute en tant qu'utilisateur standard dans Windows Vista est généralement créée au niveau intermédiaire, tandis qu'une application qui s'exécute avec le jeton d'accès administrateur complet s'exécute au niveau supérieur. L'isolement des processus permet d'étendre le modèle d'autorisation à des points d'extension communs pour la communication interprocessus. Par exemple, si une application qui s'exécute avec une intégrité moyenne doit enregistrer un hook pour traiter les messages Windows, ce hook n'est pas actif dans un processus qui s'exécute au niveau d'intégrité supérieur.
Actuellement dans Windows Vista, Internet Explorer 7.0 s'exécute au niveau d'intégrité inférieur et ne peut donc modifier que les objets marqués avec un niveau d'intégrité inférieur dans les listes de contrôle d'accès (ACL, Access Control Lists) système. Tout le code qui s'exécute au niveau inférieur ne peut modifier aucune des données de l'utilisateur ou aucun des fichiers binaires Windows de l'ordinateur, sauf si une ACL autre que celle par défaut est utilisée. En outre, l'application peut uniquement écrire dans des emplacements marqués au niveau inférieur, tels que le dossier Fichiers Internet temporaires, et tout fichier écrit est marqué avec le niveau d'intégrité inférieur. Ainsi, si vous téléchargez un logiciel à partir du Web, l'enregistrez dans le dossier Fichiers Internet temporaires, puis l'exécutez, l'application téléchargée s'exécute elle aussi avec le niveau d'intégrité inférieur. L'application n'a pas accès aux données de l'utilisateur, ce qui ajoute une couche de sécurité supplémentaire pour le contenu téléchargé à partir du Web.

Revenons un instant aux technologies conçues spécialement pour protéger les données utilisateur. Windows Vista comprend des technologies permettant de protéger les fichiers de votre système, qu'ils résident sur un disque local ou sur un serveur réseau, ou même si vous les partagez avec d'autres. La nouvelle fonctionnalité BitLocker™ introduit le cryptage de volume système complet, sécurisant encore davantage les données de votre disque dur.
Le nouveau système de fichiers de cryptage (EFS, Encrypting File System) de Windows Vista prend en charge le stockage des clés privées des utilisateurs sur des cartes à puce. Si un utilisateur ouvre une session sur Windows Vista avec une carte à puce, EFS peut également l'utiliser pour le cryptage des fichiers. Les administrateurs peuvent même stocker les clés de récupération de leur domaine sur une carte à puce. La récupération des fichiers revient à ouvrir une session sur l'ordinateur affecté, localement ou via Bureau à distance, puis à utiliser la carte de récupération pour accéder aux fichiers. Vous n'avez plus besoin d'un poste de travail dédié pour la récupération des données !
La nouvelle interface utilisateur inclut des outils pratiques pour sauvegarder les clés et éviter la perte de données, ainsi que pour migrer vos fichiers EFS existants vers vos nouvelles clés. Pour les administrateurs, une nouvelle interface de stratégie permet de définir les exigences telles que le niveau de cryptage minimum et l'utilisation de cartes à puce. Vous pouvez même utiliser EFS pour crypter le fichier de pagination Windows. EFS est également plus étroitement intégré à l'infrastructure de clé publique (PKI, Public Key Infrastructure) de l'entreprise, et prend en charge la récupération de clé basée sur PKI, la récupération de données via les certificats de récupération EFS, ou une combinaison des deux.
Vous trouverez la fonctionnalité BitLocker dans la catégorie Sécurité du Panneau de configuration. Vous y trouverez l'applet BitLocker. Lorsque vous ouvrez l'applet, un assistant vous guide dans le processus de création de clés de démarrage et de récupération, ce qui vous permet de crypter l'unité. Le contenu du volume est crypté avec une clé FVEK (Full Volume Encryption Key), laquelle est à son tour cryptée avec une clé VMK (Volume Master Key). Dans le scénario d'utilisation de base, la clé VMK est liée, ou scellée, à la puce de sécurité TPM (Trusted Platform Module) des PC récents (voir figure 4).

Figure 4 : Architecture de cryptage BitLocker

BitLocker peut être configuré avec des paramètres plus avancés afin de renforcer la sécurité du système. La puce TPM peut imposer à l'utilisateur de saisir le code PIN avant de libérer la clé VMK. L'utilisateur peut également créer une clé de démarrage qui peut être stockée sur un lecteur flash USB et qui est utilisée pour libérer la clé VMK au démarrage de l'ordinateur. Si aucune puce TPM n'est installée sur l'ordinateur, vous pouvez simplement utiliser l'unité USB pour stocker la clé de démarrage, laquelle est ensuite utilisée pour décrypter la clé FVEK au démarrage.
Cependant, si vous utilisez une unité USB pour l'authentification multifacteur, il est important de noter qu'un utilisateur doit insérer un périphérique de stockage USB chaque fois qu'il souhaite démarrer l'ordinateur. Il est toutefois possible d'accéder au volume crypté en entrant le mot de passe de récupération.
Maintenant que vous avez généré toutes les clés et que vous savez où elles se trouvent, examinons leur fonctionnement. Les clés sont utilisées lorsque l'ordinateur a démarré. Initialement, le module de chargement d'amorçage examine la puce TPM afin de déterminer si BitLocker est activé. Lorsqu'il détermine que la fonctionnalité est activée et que l'authentification multifacteur appropriée a été effectuée (si elle est configurée), le module de chargement d'amorçage libère les informations nécessaires pour déverrouiller la clé VMK. La clé VMK est ensuite utilisée pour extraire la clé FVEK, laquelle est à son tour utilisée par un pilote du système de fichiers pour décrypter les données sur le disque dur. Et comme par magie, vos données sont accessibles. Cependant, si la configuration de démarrage de l'environnement a changé, ou si le volume crypté est démarré sur un autre ordinateur ou avec un autre système d'exploitation, BitLocker passe en mode récupération jusqu'à ce que vous ayez indiqué le mot de passe de récupération.

Redirection des données

Fournisseurs d'informations d'identification
Il existe un certain nombre d'autres mises à niveau importantes de l'infrastructure de sécurité dans Windows Vista. Tout d'abord, le modèle d'extension de saisie des informations d'identification GINA (Graphical Identification and Authentication) a été remplacé par un modèle de fournisseur d'informations d'identification plus simple et plus direct. Ce nouveau modèle permet aux éditeurs d'écrire des fournisseurs d'informations d'identification plus facilement que l'écriture d'un modèle GINA. Auparavant, il ne pouvait y avoir qu'un seul modèle GINA sur un système, ce qui rendait parfois le déploiement difficile et limitait la flexibilité du système. Windows Vista vous permet désormais d'avoir plusieurs fournisseurs et d'en sélectionner un comme fournisseur par défaut. Par exemple, vous pouvez facilement déployer une méthode de fournisseur d'informations d'authentification multifacteur, tout en ne remplaçant pas un fournisseur d'authentification par défaut à un seul facteur. Pour ajouter un fournisseur, il vous suffit de placer les informations d'enregistrement de la DLL dans le registre et d'exporter les points d'entrée des API de fournisseur d'informations d'identification.

Avec une telle pression pour que les programmes soient exécutés en tant qu'utilisateur standard, on peut se demander si les applications métier courantes fonctionneront correctement. Pour résoudre ce problème, la fonctionnalité de redirection des données facilite la compatibilité des applications. La redirection des données, également appelée virtualisation des données, offre un pilote pour le système de fichiers et le registre, qui redirige les écritures ciblées sur certains emplacements protégés, tels que HKEY_LOCAL_MACHINE\Software ou %ProgramFiles%, vers le profil de l'utilisateur.
Par exemple, si un membre du groupe Utilisateurs a ouvert une session sur un ordinateur et qu'il exécute une application qui écrit un fichier journal dans le répertoire Program Files, cette écriture échoue. Pourquoi ? Parce que la liste de contrôle d'accès (ACL, Access Control List) du répertoire Program Files n'autorise pas les utilisateurs standard à écrire dans cet emplacement. Lorsque le pilote de système de fichiers de redirection des données reçoit le code d'échec renvoyé par cette écriture, il redirige l'écriture vers une copie du fichier dans la banque virtuelle, qui est un emplacement dans le profil de l'utilisateur. Une application marquée avec un niveau d'exécution dans son manifeste ou qui est une application 64 bits compilée de manière native est supposée ne pas nécessiter de virtualisation, de sorte que la redirection des données est désactivée pour cette application. Les fichiers binaires Windows sont marqués avec un niveau d'exécution, désactivant ainsi la virtualisation ; le programme de logo Windows Vista exige en outre que les applications certifiées puissent s'exécuter sans virtualisation des données.
La détection de l'installeur est une autre technologie conçue pour marquer les applications comme nécessitant l'élévation. La détection de l'installeur indique à AIS qu'une application doit être élevée en fonction de certains critères prédéfinis, tels que le nom de l'exécutable contenant « setup » ou les ressources binaires contenant « installer ». Windows Vista n'offre actuellement aucune fonctionnalité qui permet de déléguer l'élévation d'une application à certains utilisateurs ou groupes.

Cryptographie

Crypto NextGen (CNG) est la nouvelle version de l'API Crypto (CAPI) offrant une plate-forme de développement cryptographique beaucoup plus flexible dans Windows. Dans ce cas, flexibile signifie que CNG peut être étendu avec des plug-ins à un degré inégalé, permettant aux utilisateurs de créer des algorithmes cryptographiques et implémentations personnalisés qui s'intègrent de manière transparente à l'infrastructure CNG globale. Microsoft introduit également Elliptic Curve Cryptography, qui devient l'algorithme cryptographique de référence dans l'industrie, dans la suite CNG de Windows Vista.
Pour rendre les cartes à puce plus accessibles sous Windows Vista, Microsoft prévoit d'inclure le fournisseur Base CSP (Base Smart Card Cryptographic Service Provider) dans la plate-forme. Cela signifie que les éditeurs de carte à puce n'ont plus besoin d'écrire un CSP complexe, et qu'il leur suffit d'écrire un module de carte léger qui s'intègre à l'architecture de carte à puce. Cela permet de limiter les efforts de développement. La nouvelle infrastructure CNG inclut également un fournisseur de carte à puce KSP (Key Storage Provider). Ce module de carte écrit pour Base CSP fonctionne également pour le KSP de carte à puce (voir figure 5).

Figure 5 : Infrastructure Base CSP

Renforcement des services

Enfin, la technologie de renforcement des services Windows limite les privilèges des services et restreint les ressources pouvant être directement affectées par les services. Le renforcement des services permet de protéger le système à différents niveaux. Le niveau minimum garantit que le Gestionnaire de contrôle des services obtient un jeton d'accès avec moins de privilèges que dans les versions précédentes de Windows, lorsqu'un service démarre. Par exemple, les services qui s'exécutent sous le compte LocalService n'ont plus le privilège SeTCBPrivilege. Une utilisation encore plus sûre du renforcement des services consiste à définir un identificateur de sécurité (SID, Security Identifier) pour chaque service, ce qui permet au service de sécuriser les ressources via des ACL basées sur le SID du service. La méthode la plus sûre consiste pour les développeurs à marquer leurs services comme restreints en écriture, de sorte qu'ils n'aient accès en écriture qu'aux objets autorisant spécifiquement ce privilège. Cette extension du modèle de sécurité pour les services renforce la possibilité de sécuriser le comportement des services et limite l'impact des vulnérabilités des services.

Windows Defender

Les logiciels espion sont des logiciels qui effectuent des opérations telles que l'affichage de fenêtres indésirables, la dégradation des performances de votre ordinateur, le changement des paramètres de configuration de votre ordinateur, ou encore l'espionnage de vos données personnelles. Et bien évidemment, les logiciels espion ne demandent généralement pas à l'utilisateur l'autorisation de s'installer.
Pour combattre ce problème de plus en plus fréquent, Microsoft a publié la version bêta de Windows AntiSpyware, qui a été l'une des versions bêta ayant remporté le plus grand succès jusqu'à présent. Microsoft intègrera cette technologie directement dans Windows Vista avec Windows Defender.
Windows Defender est une réécriture complète de la version bêta de Windows AntiSpyware, conçue pour présenter la même simplicité d'utilisation que le produit original (voir figure 6). Le premier emplacement où rechercher Windows Defender est le Panneau de configuration ou le menu Démarrer. L'interface Windows Defender a été conçu pour faire de l'analyse une tâche rapide et facile que n'importe quel utilisateur, expérimenté ou non, peut effectuer. Outre l'exécution d'une analyse rapide, les utilisateurs peuvent également planifier des analyses récurrentes, ou supprimer les logiciels espion ou d'autres logiciels indésirables de leur ordinateur. Windows Defender contribue à empêcher l'exécution des logiciels espion grâce à une protection continue des fichiers, services et autres interfaces attaqués par ces logiciels.

Figure 6 : Windows Defender

En coulisses, Windows Defender utilise le service bien nommé Windows Defender, qui offre toutes les fonctionnalités pour la gestion des données de signature, la planification d'analyses et l'exécution d'opérations telles que la suppression et la mise en quarantaine de données. L'interface utilisateur envoie les données de configuration au service via RPC. Cela permet à l'interface utilisateur Windows Defender de fonctionner dans l'environnement utilisateur standard et d'envoyer les données pertinentes au service qui s'exécute sous le compte LocalService.
À l'évidence, la première chose à faire avec Windows Defender est de planifier une analyse de l'ordinateur. Heureusement, Windows Defender est configuré en mode Autoscan par défaut et ses paramètres Autoclean suppriment toutes les menaces de niveau Grave ou Élevé. Par défaut, Windows Defender demande à l'utilisateur de spécifier quelle action exécuter sur les menaces marquées Moyenne ou Faible. Les paramètres Autoclean et Autoscan sont également totalement configurables. Lorsqu'une analyse se termine, Windows Defender présente les résultats, de sorte que les utilisateurs puissent prendre des décisions sur les menaces trouvées sur l'ordinateur. L'utilisateur peut également enregistrer les résultats dans un fichier crypté, en vue d'une utilisation ultérieure.
Dans le cadre du processus d'analyse, Windows Defender examine les applications installées sur le système, par rapport à une liste de définitions d'application. Chaque définition d'application contient beaucoup d'informations sur l'application, notamment son nom, son numéro de version, des descriptions courte et longue de la menace, ainsi qu'une action recommandée (Ignorer, Supprimer, Mettre en quarantaine, etc.) si l'application est détectée. Ces définitions sont utilisées pour détecter toute menace connue exécutée sur l'ordinateur.
Après une analyse, vous devez traiter les résultats, en particulier si vous avez trouvé des logiciels malveillants potentiels sur le système. C'est là que vous utilisez les fonctionnalités de suppression et de mise en quarantaine de Windows Defender. Vous choisissez l'action que vous souhaitez exécuter pour les différentes menaces, puis le service Windows Defender traite cette liste et exécute les actions spécifiées. Bien entendu, si vous avez choisi d'ignorer une menace, aucune action n'est exécutée. Mais si vous avez choisi de supprimer la menace, le service utilise les gestionnaires de ressources appropriés pour supprimer chaque type de ressource répertorié dans le résultat de l'analyse. Si vous avez décidé de mettre la menace en quarantaine, elle est déplacée vers un autre emplacement et n'est pas autorisée à s'exécuter. Dans les deux cas, le service crée un point de restauration jusqu'auquel vous pouvez annuler ces modifications si nécessaire.

Services de gestion des droits

Pour faciliter le partage et la collaboration, le client des services de gestion des droits (RMS, Rights Management Services) fait désormais partie de Windows Vista. RMS est conçu pour sécuriser les données par rapport à une utilisation non autorisée lorsqu'elles sont envoyées par courrier électronique ou utilisées dans une autre application utilisant les droits, telle que Microsoft Word ou Microsoft Excel®. La solution RMS comporte trois composants : le serveur, le poste de travail et la plate-forme. Pour la partie serveur de cette équation, Windows Rights Management Services pour Windows Server™ 2003 est requis. Ce service de protection des informations de Windows Server 2003 établit les certificats des comptes utilisateur, exécute les licences d'utilisation, permet la création et le stockage des modèles de stratégie de droit, etc.
Le niveau poste de travail exécute les opérations proprement dites de sécurité des données, telles que le cryptage des données, et est planifié pour inclusion par défaut dans Windows Vista. Cela vous permet d'utiliser des applications qui s'intègrent aux technologies RMS et de tirer immédiatement parti de la fonctionnalité sans impliquer le coût d'un déploiement complémentaire.
Windows Vista offre également une mise à jour significative de la plate-forme RMS pour la création d'informations protégées par des droits. Cette mise à jour est fournie au format Windows Presentation Foundation, et offre un ensemble d'API permettant aux développeurs d'activer les droits pour n'importe quel fichier basé sur Open Packaging Conventions. Elle définit un format de fichier pour les informations relatives aux applications, utilisé par les documents XPS (XML Paper Specification) et la nouvelle version d'Office. Windows Vista inclut également une visionneuse XPS compatible RMS, qui peut protéger n'importe quelles données publiées dans ce format.

Chris Corio est responsable de programme dans l'équipe de sécurité de Windows. Il travaille essentiellement sur les technologies de sécurité des applications et sur les technologies de gestion pour la sécurisation de Windows.