Enable Data Execution Prevention (DEP)
Active DEP which marks memory regions as non-executable. Empêche code injection attaques from executing arbitrary code in data regions.
- Chemin de la stratégie
- Computer Configuration > Administrative Templates > System > Data Execution Prevention
- Supporté sur
- Windows 10, Windows 11, Windows Server 2016 and later
Active DEP which marks memory regions as non-executable. Empêche code injection attaques from executing arbitrary code in data regions. Les référentiels de sécurité recommandent de le définir sur 1.
Description
Enable Data Execution Prevention (DEP) est un paramètre de stratégie de groupe Windows situé sous Computer Configuration > Administrative Templates > System > Data Execution Prevention. Il s'applique à la branche Configuration ordinateur et est classé comme une stratégie de niveau Critique dans la catégorie Exploit Protection.
Active DEP which marks memory regions as non-executable. Empêche code injection attaques from executing arbitrary code in data regions.
La valeur par défaut Microsoft est 0 tandis que les référentiels de sécurité (CIS, NIST, DISA STIG) recommandent 1.
Techniquement, cette stratégie est appliquée via le registre Windows dans HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management via la valeur NullPageProtection. Modifier directement la valeur avec regedit.exe ou PowerShell produit le même résultat que la configuration GPO, mais passer par les stratégies de groupe est préférable pour bénéficier d'une gestion centralisée et d'une persistance lors des redémarrages, reconstructions d'images et cycles de rafraîchissement.
Explication détaillée
Ce paramètre est un contrôle de sécurité critique. Une mauvaise configuration ouvre un chemin d'attaque exploité activement par les attaquants, et un seul endpoint oublié peut compromettre la totalité du parc. À traiter comme une exigence de base non négociable, pas comme un réglage optionnel.
Cette stratégie est regroupée dans la catégorie Exploit Protection, ce qui signifie qu'elle est généralement appliquée via une GPO de domaine liée au niveau d'une OU. Dans un contexte MSP multi-tenant, ciblez-la via des filtres WMI ou des groupes de sécurité plutôt qu'en l'attachant à la racine du domaine, pour pouvoir déployer progressivement (OU pilote → anneaux plus larges → production complète).
Le paramètre prend effet après le prochain rafraîchissement des stratégies de groupe (gpupdate /force pour un test immédiat, ou par défaut sous 90 minutes environ sur un poste et ~5 minutes sur un contrôleur de domaine). Pour une stratégie ordinateur, un redémarrage peut être nécessaire ; pour une stratégie utilisateur, une déconnexion/reconnexion suffit.
Cas d'usage
- Durcir à l'échelle de l'organisation la catégorie exploit protection sur tous les postes Windows joints au domaine.
- Déployer un baseline aligné CIS Benchmark visant 'Enable Data Execution Prevention (DEP)' via une GPO dédiée.
- Réduire la surface d'attaque des comptes manipulant des identifiants privilégiés ou des données sensibles.
- Standardiser la configuration sur plusieurs tenants clients dans un parc géré en MSP.
Implications sécurité
Ne pas appliquer cette stratégie crée un chemin d'attaque documenté que les attaquants sondent activement – Pass-the-Hash, Kerberoasting, NTLM relay, brute-force RDP, dump LSASS ou usurpation de token selon le contrôle concerné. Un seul endpoint mal configuré peut suffire à pivoter vers une compromission Domain Admin.
Si la valeur par défaut doit être conservée pour une raison de compatibilité légitime, compensez par une règle de détection forte dans l'EDR/SIEM, isolez l'endpoint dans son propre VLAN et documentez l'exception avec une date cible de remédiation.
Comment configurer
- Ouvrez la Console de gestion des stratégies de groupe (
gpmc.msc) sur un contrôleur de domaine ou un poste disposant des outils RSAT. - Créez ou éditez une GPO liée à l'OU contenant les configuration ordinateurs cibles. Nous recommandons une GPO de baseline dédiée (ex. SEC – Exploit Protection) plutôt que de modifier la Default Domain Policy.
- Naviguez vers
Computer Configuration > Administrative Templates > System > Data Execution Prevention. - Ouvrez Enable Data Execution Prevention (DEP) et définissez-le sur
1. - Cliquez sur OK et fermez l'éditeur.
- Sur le poste cible, exécutez
gpupdate /force(ou attendez le prochain cycle), puis vérifiez avecrsop.mscougpresult /h rapport.html.
Chemin direct registre : HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management\NullPageProtection. Vous pouvez appliquer le même changement en PowerShell :
New-Item -Path 'HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management' -Force | Out-Null
Set-ItemProperty -Path 'HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management' -Name 'NullPageProtection' -Value <valeur> -Type DWordCorrespondance registre
HKLM\System\CurrentControlSet\Control\Session Manager\Memory ManagementNullPageProtectionREG_DWORD10
