Enable Structured Exception Handling Overwrite Protection (SEHOP)
Valide exception handlers during runtime. Empêche SEH-based buffer overflow exploits from hijacking exception handling.
- Chemin de la stratégie
- Computer Configuration > Administrative Templates > System > Exploit Guard
- Supporté sur
- Windows 10, Windows 11, Windows Server 2016 and later
Valide exception handlers during runtime. Empêche SEH-based buffer overflow exploits from hijacking exception handling. Les référentiels de sécurité recommandent de le définir sur 0.
Description
Enable Structured Exception Handling Overwrite Protection (SEHOP) est un paramètre de stratégie de groupe Windows situé sous Computer Configuration > Administrative Templates > System > Exploit Guard. Il s'applique à la branche Configuration ordinateur et est classé comme une stratégie de niveau Avertissement dans la catégorie Exploit Protection.
Valide exception handlers during runtime. Empêche SEH-based buffer overflow exploits from hijacking exception handling.
La valeur par défaut Microsoft est 0 tandis que les référentiels de sécurité (CIS, NIST, DISA STIG) recommandent 0.
Techniquement, cette stratégie est appliquée via le registre Windows dans HKLM\System\CurrentControlSet\Control\Session Manager\kernel via la valeur DisableExceptionChainValidation. 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 a un impact réel sur la posture de sécurité ou la stabilité opérationnelle du système. La valeur par défaut Microsoft reste acceptable pour des postes isolés ou à faible risque, mais la plupart des référentiels (CIS, NIST, DISA STIG) demandent explicitement de le durcir avant toute exposition à des utilisateurs ou des réseaux non maîtrisés.
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 Structured Exception Handling Overwrite Protection (SEHOP)' 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é
Laisser cette stratégie en valeur par défaut n'ouvre pas directement l'accès à un attaquant, mais elle élargit le rayon d'impact une fois l'accès initial obtenu – les mots de passe sont plus faciles à deviner, le verrouillage ne se déclenche pas, les pistes d'audit sont incomplètes ou le mouvement latéral est plus discret. La plupart des régulateurs et assureurs cyber attendent désormais que ce contrôle soit en place au moins au niveau recommandé.
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 > Exploit Guard. - Ouvrez Enable Structured Exception Handling Overwrite Protection (SEHOP) et définissez-le sur
0. - 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\kernel\DisableExceptionChainValidation. Vous pouvez appliquer le même changement en PowerShell :
New-Item -Path 'HKLM\System\CurrentControlSet\Control\Session Manager\kernel' -Force | Out-Null
Set-ItemProperty -Path 'HKLM\System\CurrentControlSet\Control\Session Manager\kernel' -Name 'DisableExceptionChainValidation' -Value <valeur> -Type DWordCorrespondance registre
HKLM\System\CurrentControlSet\Control\Session Manager\kernelDisableExceptionChainValidationREG_DWORD00
