Numéro d'article: 875352 - Dernière mise à jour: jeudi 19 octobre 2006 - Version: 14.1 Description détaillée de la fonctionnalité Prévention de l'exécution des données dans Windows XP Service Pack 2, Windows XP Édition Tablet PC 2005 et Windows Server 2003SommaireRésuméLa prévention de l'exécution des données est un ensemble de technologies matérielles et logicielles qui effectuent des contrôles de mémoire supplémentaires pour empêcher l'exécution de code mal intentionné sur un système. Dans Microsoft Windows XP Service Pack 2 (SP2) et Microsoft Windows XP Édition Tablet PC 2005, la prévention de l'exécution des données est appliquée par voie à la fois matérielle et logicielle. L'objectif principal de la prévention de l'exécution des données consiste à empêcher l'exécution de code à partir de pages de données. Normalement, aucun code n'est exécuté à partir de la pile ou du segment du processus par défaut. La prévention de l'exécution des données par voie matérielle détecte le code exécuté à partir de ces emplacements et déclenche une exception lors de l'exécution de ce code. La prévention de l'exécution des données par voie logicielle peut empêcher un code mal intentionné de tirer profit des mécanismes de gestion des exceptions de Windows. INTRODUCTIONCet article décrit la fonctionnalité Prévention de l'exécution des données dans Windows XP SP2 et Windows Server 2003 Service Pack 1 (SP1) et aborde les rubriques suivantes :
Plus d'informationsPrévention de l'exécution des données par voie matérielleLa prévention de l'exécution des données par voie matérielle marque tous les emplacements mémoire d'un processus comme non exécutables, à moins que l'emplacement contienne explicitement du code exécutable. Certains types d'attaques tentent d'insérer et d'exécuter du code à partir d'emplacements mémoire non exécutables. La prévention de l'exécution des données empêche ces attaques en les interceptant et en déclenchant une exception.La prévention de l'exécution des données par voie matérielle utilise le processeur pour marquer la mémoire avec un attribut indiquant qu'aucun code ne doit être exécuté à partir de cette mémoire. La prévention est appliquée par page de mémoire virtuelle et elle modifie généralement un bit de la table des pages (PTE, Page Table Entry) pour marquer la page de mémoire. L'architecture de processeur détermine la façon dont la fonctionnalité est implémentée dans le matériel et dont elle marque la page de mémoire virtuelle. Toutefois, les processeurs qui prennent en charge la prévention de l'exécution des données par voie matérielle peuvent déclencher une exception lorsque du code est exécuté à partir d'une page marquée avec le jeu d'attributs approprié. Les sociétés Advanced Micro Devices (AMD) et Intel ont défini et commercialisé des architectures compatibles Windows qui prennent en charge la prévention de l'exécution des données. À partir de Windows XP SP2, la version 32 bits de Windows utilise l'un des éléments suivants :
Remarque Étant donné que les noyaux 64 bits prennent en charge la technologie AWE (Address Windowing Extensions), il n'existe pas de noyau PAE distinct dans les versions 64 bits de Windows. Pour plus d'informations sur les technologies PAE et AWE dans Windows Server 2003, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft. 283037
(http://support.microsoft.com/kb/283037/
)
Prise en charge de mémoire volumineuse disponible dans Windows Server 2003 et Windows 2000
Prévention de l'exécution des données par voie logicielleUn jeu supplémentaire de contrôles de sécurité pour la prévention de l'exécution des données a été ajouté dans Windows XP SP2. Ces contrôles de prévention dite par voie logicielle sont conçus pour bloquer le code malveillant qui tire profit des mécanismes de gestion des exceptions dans Windows. La prévention de l'exécution des données par voie logicielle est exécutée sur tous les processeurs qui peuvent fonctionner dans Windows XP SP2. Par défaut, elle protège uniquement certains binaires systèmes, quelles que soient les fonctionnalités de prévention par voie matérielle du processeur.AvantagesL'intérêt principal de la fonctionnalité Prévention de l'exécution des données réside dans le fait qu'elle empêche l'exécution de code à partir de pages de données telles que les pages du segment du processus par défaut, diverses pages de la pile et les pages du pool de mémoire. Normalement, aucun code n'est exécuté à partir de la pile ou du segment du processus par défaut. La prévention de l'exécution des données par voie matérielle détecte le code exécuté à partir de ces emplacements et déclenche une exception lors de l'exécution de ce code. Si l'exception n'est pas gérée, le processus sera arrêté. L'exécution de code à partir de la mémoire protégée en mode noyau provoque une erreur STOP.La prévention de l'exécution des données permet de bloquer certaines intrusions de sécurité. Plus précisément, elle peut bloquer un programme mal intentionné dans lequel un virus ou autre type d'attaque a injecté du code supplémentaire dans un processus et tente d'exécuter ce code injecté. Sur un système protégé par la prévention de l'exécution des données, l'exécution du code injecté provoque une exception. La prévention de l'exécution des données par voie logicielle permet de bloquer les programmes qui tirent profit des mécanismes de gestion des exceptions de Windows. Configuration de la prévention de l'exécution des données à l'échelle du systèmeLa configuration de la prévention de l'exécution des données à l'échelle du système est effectuée par le biais de commutateurs du fichier Boot.ini. Si vous avez ouvert une session en tant qu'administrateur, vous pouvez désormais configurer facilement les paramètres de prévention de l'exécution des données à l'aide de la boîte de dialogue Système du Panneau de configuration.Windows prend en charge quatre configurations à l'échelle du système pour la prévention par voie matérielle et par voie logicielle. Réduire ce tableau
De la même façon, si la stratégie de prévention de l'exécution des données à l'échelle du système est définie sur OptOut, les programmes qui ont été exemptés de la fonctionnalité seront exemptés de la prévention par voie à la fois matérielle et logicielle. Les paramètres du fichier Boot.ini sont les suivants : /noexecute=niveau_stratégie Remarque niveau_stratégie est défini comme AlwaysOn, AlwaysOff, OptIn ou OptOut.Les paramètres /noexecute existants du fichier Boot.ini ne sont pas modifiés lors de l'installation de Windows XP SP2. En outre, ces paramètres ne seront pas modifiés si une image du système d'exploitation Windows est déplacée sur d'autres ordinateurs avec ou sans prise en charge matérielle de la prévention de l'exécution des données. Pendant l'installation de Windows XP SP2 et de Windows Server 2003 SP1 ou versions ultérieures, le niveau de stratégie OptIn est activé par défaut à moins qu'un niveau de stratégie différent soit spécifié dans une installation automatisée. Si le paramètre /noexecute=niveau_stratégie n'est pas présent dans le fichier Boot.ini pour une version de Windows qui prend en charge la prévention de l'exécution des données, le comportement est le même que si le paramètre /noexecute=OptIn avait été précisé. Si vous avez ouvert une session en tant qu'administrateur, vous pouvez configurer manuellement la fonctionnalité pour basculer entre les stratégies OptIn et OptOut à l'aide de l'onglet Prévention de l'exécution des données des Propriétés système. La procédure suivante décrit comment configurer manuellement la prévention de l'exécution des données sur l'ordinateur :
Pour configurer la prévention d'exécution de données pour basculer sur la stratégie AlwaysOn en utilisant le fichier Boot.ini, procédez comme suit :
Configuration de la prévention de l'exécution des données par programmePour raisons de compatibilité des programmes, vous pouvez désactiver de façon ponctuelle la prévention de l'exécution des données pour des programmes 32 bits spécifiques lorsqu'elle est définie sur le niveau de stratégie OptOut. Pour cela, utilisez l'onglet Prévention de l'exécution des données des Propriétés système pour désactiver la fonctionnalité pour un programme spécifique. Pour les professionnels de l'informatique, un nouveau correctif de compatibilité de programme nommé DisableNX est compris dans Windows XP SP2. Le correctif de compatibilité DisableNX désactive la prévention de l'exécution des données pour le programme auquel le correctif est appliqué.Le correctif DisableNX peut être appliqué à un programme à l'aide de la trousse à outils de compatibilité des applications. Pour plus d'informations sur la compatibilité des applications Windows, reportez-vous à Windows Application Compatibility (Compatibilité des applications Windows, en anglais) sur le site Web de Microsoft à l'adresse suivante (en anglais) : http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/default.mspx
(http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/default.mspx)
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
912923
(http://support.microsoft.com/kb/912923/
)
Comment faire pour déterminer que du matériel de prévention d'exécution des données est disponible et configuré sur votre ordinateur
Références
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
899298
(http://support.microsoft.com/kb/899298/
)
La rubrique d'aide « Understanding Data Execution Prevention » (Comprendre la prévention de l'exécution des données) indique un paramètre par défaut erroné de la fonctionnalité dans Windows Server 2003 Service Pack 1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. | Traductions disponibles
|
Retour au début
