Data Execution Prevention (DEP) : exclure un logiciel sans risque

Récapitulatif

  • La Data Execution Prevention (DEP, « prévention de l’exécution des données » dans Windows) interdit au processeur d’exécuter du code placé dans une zone de mémoire réservée aux données.
  • Elle bloque une technique d’attaque très ancienne, le dépassement de mémoire tampon, et Microsoft précise qu’elle n’a aucun effet sur les performances.
  • Pour un vieux logiciel qui plante à cause d’elle, on crée une exception pour ce seul programme : Propriétés système, onglet Prévention de l’exécution des données, ou Sécurité Windows, section Protection contre les exploits.
  • Un programme 64 bits ne peut pas être exclu : Windows refuse, la DEP y est toujours active.
  • La commande wmic citée partout pour vérifier l’état de la DEP n’existe plus sur un Windows 11 à jour. PowerShell donne la même information.
  • Couper la DEP pour tout le PC (bcdedit /set nx AlwaysOff) est la seule manipulation que je déconseille franchement.

La Data Execution Prevention, ou DEP, est une protection de la mémoire intégrée à Windows depuis Windows XP SP2. Elle marque certaines zones de la mémoire vive comme « données seulement » et coupe tout programme qui tente d’y faire exécuter des instructions. Vous ne la voyez jamais, sauf le jour où un logiciel ancien se ferme sans prévenir et qu’un forum vous conseille de « désactiver la DEP ».

C’est ce conseil que je veux recadrer. Dans la grande majorité des cas, il suffit d’exclure un seul programme, et la manipulation prend deux minutes. Je vous montre les deux endroits où Windows 11 permet de le faire, la façon de vérifier le réglage actif, et les commandes bcdedit à connaître, y compris celle qu’il vaut mieux ne jamais taper.

Un point manque aux guides qui arrivent en tête de Google : la plupart vérifient l’état de la DEP avec la commande wmic. Microsoft l’a retirée des versions 24H2 et 25H2 de Windows 11 avec la mise à jour d’août 2026. Je donne l’équivalent PowerShell, qui marche sur toutes les versions.

Sommaire

La DEP en clair : ce qu’elle empêche

Un programme range dans la mémoire vive deux sortes de choses : ses instructions, que le processeur exécute, et ses données (le texte que vous tapez, une image, un paquet reçu par le réseau). Certaines zones, comme la pile et le tas, ne devraient contenir que des données.

Une attaque classique consiste à envoyer à un logiciel plus de données qu’il ne l’attend. Le surplus déborde de la zone prévue, c’est le dépassement de mémoire tampon, et l’attaquant y glisse des instructions qu’il espère faire exécuter. Avec la DEP, ces pages de mémoire sont marquées non exécutables. Si le processeur reçoit l’ordre d’y lire du code, il lève une exception et Windows ferme le programme. L’attaque échoue avec lui.

Le marquage est fait par le processeur lui-même. Microsoft l’appelle DEP, AMD parle du bit NX (No eXecute) et Intel du bit XD (eXecute Disable) : c’est le même mécanisme sous trois noms. Il fait partie, comme le Secure Boot activé dans le firmware, de ces protections qui tournent en silence sans jamais demander quoi que ce soit.

Le revers est connu. Quelques logiciels anciens, écrits avant Windows XP SP2, fabriquent leur propre code en mémoire pendant qu’ils tournent. La DEP les prend pour une attaque et les coupe. Quand un vieux jeu ou un logiciel métier se ferme dès son lancement sur une erreur d’accès mémoire, c’est la première piste que je vérifie.

PC de bureau Windows avec sa tour, son moniteur, son clavier et sa souris posés sur un bureau

Les quatre modes de la DEP

Windows applique la DEP selon une politique fixée au démarrage, dans les données de configuration de démarrage. Il en existe quatre, et chacune porte un numéro que vous retrouverez à la vérification :

ValeurModeCe qu’il fait
2OptInDEP appliquée aux composants et services de Windows. C’est le réglage par défaut des Windows grand public.
3OptOutDEP appliquée à tous les processus, sauf ceux que vous mettez dans une liste d’exceptions. Défaut des Windows Server.
1AlwaysOnDEP appliquée à tout, sans exception possible.
0AlwaysOffDEP coupée pour tous les processus.

Ce tableau trompe un peu sur le mode OptIn. Microsoft indique que tous les programmes 64 bits ont la DEP activée en permanence, sans possibilité de la retirer, et que les programmes 32 bits l’ont par défaut mais peuvent en être exclus un par un. Sur un PC récent, où presque tout tourne en 64 bits, la protection couvre donc bien plus que les seuls composants de Windows.

Vérifier si la DEP est activée

La plupart des tutoriels donnent la même commande : wmic OS Get DataExecutionPrevention_SupportPolicy. Elle est toujours dans la documentation de Microsoft, mais l’outil wmic, lui, a disparu. Il était désactivé par défaut sur Windows 11 depuis 2024, et la mise à jour d’août 2026 l’a supprimé des versions 24H2 et 25H2, sans possibilité de le rajouter. Sur un PC à jour, la commande répond qu’elle n’est pas reconnue.

La même information se lit dans une fenêtre PowerShell, sans droits d’administrateur :

Get-CimInstance Win32_OperatingSystem | Select-Object DataExecutionPrevention_Available, DataExecutionPrevention_SupportPolicy

La première colonne dit si le processeur gère la DEP matérielle (True). La seconde rend le chiffre du tableau plus haut : 2 sur un PC laissé tel quel. Si vous lisez 0, quelqu’un a coupé la DEP sur cette machine, et je vous conseille de revenir au mode 2 avec la commande de la section bcdedit.

Autre méthode, depuis une invite de commandes ouverte en administrateur : bcdedit /enum {current}. Dans la liste qui s’affiche, la ligne nx donne le mode en toutes lettres (OptIn, OptOut, AlwaysOn ou AlwaysOff).

Exclure un programme depuis les Propriétés système

C’est la méthode historique, présente depuis Windows XP. Il faut un compte administrateur.

  1. Appuyez sur Windows + R, tapez sysdm.cpl et validez. La fenêtre Propriétés système s’ouvre.
  2. Allez dans l’onglet Paramètres système avancés.
  3. Dans le cadre Performances, cliquez sur Paramètres.
  4. Ouvrez l’onglet Prévention de l’exécution des données.
  5. Cochez « Activer la prévention d’exécution des données pour tous les programmes et les services, sauf ceux que je sélectionne ».
  6. Cliquez sur Ajouter, puis allez chercher le fichier .exe du programme qui plante, dans son dossier d’installation.
  7. Validez avec Appliquer puis OK, et redémarrez le PC.

Vous êtes déjà passé par là si vous avez réglé la taille de la mémoire virtuelle : c’est la même fenêtre Options de performances, un onglet plus loin.

Un détail que peu de guides relèvent : l’étape 5 fait passer la machine du mode OptIn au mode OptOut. Vous ne baissez donc pas la protection, vous l’étendez à tous les programmes 32 bits, sauf celui que vous avez ajouté. Et si ce programme est en 64 bits, Windows refuse l’ajout avec un message expliquant qu’on ne peut pas définir les attributs DEP sur un exécutable 64 bits. Dans ce cas, aucune exception n’est possible : la solution passe par une mise à jour du logiciel ou par son éditeur.

Main sur la souris devant un écran Windows où une fenêtre de réglages système est ouverte

Exclure un programme depuis Sécurité Windows

Windows 10 et 11 ont un second réglage, plus fin, rangé dans l’application Sécurité Windows. Il touche la DEP d’un seul programme sans changer le mode du reste de la machine, c’est celui que j’utilise.

  1. Ouvrez Sécurité Windows (tapez son nom dans le menu Démarrer).
  2. Cliquez sur Contrôle des applications et du navigateur.
  3. Dans la section Protection contre les exploits, cliquez sur Paramètres de protection contre les exploits.
  4. Passez sur l’onglet Paramètres du programme, puis sur Ajouter un programme à personnaliser.
  5. Choisissez Ajouter par nom de programme (vous tapez par exemple jeu.exe) ou Choisir le chemin exact du fichier (vous désignez le fichier dans l’explorateur).
  6. Dans la liste qui s’ouvre, descendez jusqu’à Prévention de l’exécution des données (PED), cochez la case qui remplace les paramètres système, puis basculez l’interrupteur sur Désactivé.
  7. Cliquez sur Appliquer et relancez le programme.

Même limite qu’avant : Microsoft précise que ce réglage ne s’applique qu’aux applications 32 bits (x86). Son intérêt sur la méthode des Propriétés système : le mode global reste celui de départ, et l’exception se retire d’un clic dans la même liste le jour où le logiciel est mis à jour.

Cette page est voisine de celle de l’antivirus intégré. J’ai détaillé ce que fait Windows Defender au quotidien dans un guide séparé, et je le montre aussi en vidéo :

Windows Defender : ce qu’il fait vraiment et comment le régler, sur ma chaîne.

Changer le mode avec bcdedit

Le mode global de la DEP se règle avec bcdedit, l’outil qui modifie la configuration de démarrage. Ouvrez une invite de commandes en administrateur (clic droit sur Invite de commandes, Exécuter en tant qu’administrateur), tapez une seule des lignes suivantes, puis redémarrez :

CommandeEffet
bcdedit /set {current} nx OptInRetour au réglage d’origine de Windows
bcdedit /set {current} nx OptOutDEP pour tous, avec la liste d’exceptions des Propriétés système
bcdedit /set {current} nx AlwaysOnDEP pour tous, exceptions ignorées
bcdedit /set {current} nx AlwaysOffDEP coupée partout (à éviter)

Le mode AlwaysOn est le plus strict : Microsoft précise que toute tentative de désactiver la DEP y est ignorée. Je le réserve à un PC qui ne fait tourner aucun vieux logiciel, car une application incompatible ne pourra plus être exclue.

Si vous avez tapé AlwaysOff sur le conseil d’un forum, la commande OptIn remet tout en ordre au redémarrage suivant. Contrôlez ensuite avec la commande PowerShell plus haut : la valeur doit repasser à 2.

PC de bureau Windows avec sa tour et un écran au bureau sombre, clavier et souris posés devant, lampe allumée

Pourquoi ne jamais couper la DEP pour tout le PC

Couper la DEP pour faire marcher un seul logiciel revient à retirer la serrure de toutes les portes parce qu’une clef coince. L’exception par programme règle le même problème, et le reste de la machine garde sa protection.

L’argument qu’on lit parfois, « la DEP ralentit le PC », ne tient pas. Microsoft l’écrit noir sur blanc dans sa documentation destinée aux éditeurs : la technologie DEP/NX/XD n’a aucun impact sur les performances. La couper ne fait rien gagner, ni en jeu ni ailleurs.

Et le risque est réel. Sans DEP, une faille de dépassement de mémoire tampon dans un navigateur, un lecteur de PDF ou un jeu en ligne redevient exploitable par la méthode la plus simple, celle que la DEP bloque depuis plus de vingt ans. L’antivirus ne compense pas : il cherche des fichiers malveillants, il ne surveille pas ce que le processeur exécute dans chaque page de mémoire.

Ma règle tient en une ligne. Un programme 32 bits plante à cause de la DEP : exception pour lui seul. Un programme 64 bits plante : aucune exception n’existe, la piste passe par une mise à jour, les pilotes ou une réinstallation.

Les questions qu’on me pose le plus

Faut-il désactiver la DEP ?

Non, pas pour tout le PC. Si un logiciel précis plante à cause d’elle, excluez ce seul programme depuis l’onglet Prévention de l’exécution des données ou depuis la Protection contre les exploits, et laissez la DEP active pour le reste.

Comment activer la DEP sur Windows 11 ?

Elle est déjà active par défaut, en mode OptIn. Si elle a été coupée, tapez bcdedit /set {current} nx OptIn dans une invite de commandes en administrateur et redémarrez. Pour l’étendre à tous les programmes, utilisez OptOut ou AlwaysOn à la place.

Comment savoir si la DEP est activée ou désactivée ?

Lancez dans PowerShell Get-CimInstance Win32_OperatingSystem | Select-Object DataExecutionPrevention_SupportPolicy. La valeur 2 correspond au réglage d’origine, 3 et 1 à une protection plus large, 0 à une DEP coupée.

Que faire si un programme exige que la DEP soit activée ?

Rétablissez la DEP avec bcdedit /set {current} nx OptIn puis redémarrez. Ce type de message, souvent en anglais (« This program must run with Data Execution Prevention enabled »), apparaît quand la DEP a été coupée pour tout le système et qu’un logiciel refuse de démarrer sans elle.

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *