How to Verify Shadow Stacks in Regedit
Hardware-enforced Stack Protection, also known as shadow stacks, is
an advanced security feature that protects programs from control-flow
hijacking techniques like Return-Oriented Programming (ROP). In Windows,
you can verify whether shadow stacks are explicitly configured for
critical processes by examining the Image File Execution Options inside
the Registry Editor (regedit). This guide outlines the
exact registry paths and values required to confirm that this mitigation
is active.
Step 1: Open the Registry Editor
- Press
Win + Ron your keyboard to open the Run dialog. - Type
regeditand press Enter (or click OK). - Confirm the User Account Control (UAC) prompt to grant administrative privileges.
Step 2: Navigate to Image File Execution Options (IFEO)
Per-process exploit mitigations—including Hardware-enforced Stack Protection—are defined under the IFEO key. Paste the following path into the address bar at the top of the Registry Editor:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
Step 3: Locate the Target Process
- Expand the
Image File Execution Optionsfolder. - Scroll through the subkeys to find the executable name of the
critical process you want to check (for example,
lsass.exe,svchost.exe,msedge.exe, or custom business-critical binaries). - Click on the target process subkey.
Step 4: Check the Mitigation Values
Within the selected process key, look at the right-hand pane for specific mitigation entries:
MitigationOptions:- This
REG_QWORDorREG_BINARYvalue stores bitmasks representing various exploit mitigations. - If User-Mode Hardware-enforced Stack Protection (UserShadowStack) is
enabled, specific bits within this mask are set to
1(enabled) rather than0or2(disabled).
- This
MitigationAuditOptions:- If present, this entry indicates that the mitigation is running in audit-only mode to log potential violations without terminating the process.
(Note: If a process has no custom MitigationOptions
entry, it defaults to the system-wide baseline configured via Windows
Security / Exploit Protection settings).
Step 5: Verify Kernel-Mode Shadow Stack Support
To ensure the underlying operating system environment supports and enforces shadow stacks at the kernel level, navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel
Look for: * MitigationOptions: Contains
the global kernel mitigation bitmask. *
KernelShadowStacks (or related CET
policies managed via Group Policy / MDM under
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\MitigationOptions).
Summary Checklist
| Registry Key Component | Expected Value / State |
|---|---|
| Path | HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<ProcessName.exe> |
| Value Name | MitigationOptions |
| Type | REG_QWORD /
REG_BINARY |
| Status | Non-zero bitmask containing the Hardware-enforced Stack Protection flag. |