Enable exploit protection in Windows
In brief
The page now documents configuration through multiple management methods, default mitigations, audit mode, XML export, and staged testing. It also states that EAF and IAF are deprecated and incompatible with .NET Framework 2.0 and 3.5 applications.
What Defender admins need to know
Administrators should account for EAF and IAF deprecation and test mitigation changes for application compatibility before broad deployment.
Summaries are generated from the documentation change itself.
Documentation change
The comparison below shows only the changed extract. Use the full-page view for complete context.
Enable exploit protection
Exploit protection helpsapplies mitigation techniques to the operating system and individual apps to help protect againstWindows devices from malware that uses exploits to infect devicesexploits. Security administrators can configure system-level and spread. Exploit protection consists of manyapp-level mitigations that can be applied to eitherby using Microsoft Intune, mobile device management (MDM), Microsoft Configuration Manager, Group Policy, PowerShell, or the operating system or individual apps.Windows Security app.
Many features from the Enhanced Mitigation Experience Toolkit (EMET) are included in exploit protection.
Prerequisites
The following recommendations can help you successfully deploy exploit protection.
Set up monitoring for application crashes (Event ID 1000 and/or Event ID 1001) and/or hangs (Event ID 1002)
Enable full user mode dump collection
Check to see which applications are already compiled with "Control Flow Guard" (CFG) which primarily focus on mitigating memory corruption vulnerabilities. Use dumpbin tool to see if it's compiled w/ CFG. For applications already compiled with CFG, you could skip enabling enforcement for DEP, ASLR, SEHOP, and ACG.
Use safe deployment practices (SDP) to test and roll outWindows enables several exploit protection changes gradually.
Safe deployment practices
Safe deployment practices (SDP): Safe deployment processes and procedures define how to safely make and deploy changes to your workload. Implementing SDP requires you to think about deployments through the lens of managing risk. You can minimize the risk of end-user productivity outages in your deployments and limit the effects of problematic deployments on your users by implementing SDP.
Start out with a small set (for example, 10 to 50) of Windows devices and use that as your test environment to see which of the 21 mitigations, are incompatible with exploit protection. Remove the mitigations that aren't compatible with the application. Reiterate with the applications that you're targeting. Once the exploit protection policy is ready for production, begin rolling it out more broadly.
Start out by pushing first to User Acceptance Testing (UAT) comprised of the IT administrators, Security administrators and help desk personnel. Then to 1%, 5%, 10%, 25%, 50%, 75%, and finally to 100% of your environment.
Enabling exploit protection mitigations
You can enable each mitigation separately by using any of the following methods:
Exploit protection is configuredmitigations by default in Windows 10 and Windows 11. You can setturn each mitigation to on,on or off, or touse its default value. Some mitigations have more options. also support audit mode, which lets you evaluate compatibility without affecting normal device use.
You can export the exploit protection mitigation settings as an XML file and deploy Before you deploy exploit protection, prepare the following monitoring and testing capabilities:
themthe configuration to other devices.
Prerequisites
dumpbin /headers /loadconfig.Safe deployment practices
Safe deployment practices (SDP) help you manage the risk of app compatibility and user productivity issues. Start with a small group of Windows devices, and test the mitigations with the apps you plan to protect. Disable incompatible mitigations for the affected apps, and then repeat the testing.
After you validate the policy, deploy it to a user acceptance testing (UAT) group that includes IT administrators, security administrators, and help desk personnel. Expand the deployment in stages based on the results from each group.
Enable exploit protection by using Microsoft Intune
[!INCLUDE intune-recommended-separate-product]
To configure exploit protection in Microsoft Intune, use an endpoint security Attack surface reduction policy. For detailed instructions, see Create endpoint security policies or Modify existing policies (links open new tabs in the Intune documentation).
When you create the policy, use these specific settings:
- Policy type: Go to Manage > Attack surface reduction on the Endpoint security | Overview page at https://intune.microsoft.com/#view/Microsoft_Intune_Workflows/SecurityManagementMenu/~/overview.
- Platform: Select Windows.
- Profile: Select Exploit Protection.
When you create or modify the policy, use these specific settings on the Configuration settings tab:
- Exploit protection settings in the Exploit guard section: Slide the toggle to :::image type="icon" source="media/toggle-on.png" border="false"::: Configured.
- Next to the box that appears, select :::image type="icon" source="media/intune-admin-center-icon-open-file-icon.png" border="false"::: Open file and then find and select your exploit protection XML file.
For more information about creating an exploit protection XML file, see Import, export, and deploy exploit protection configurations.
For more information about attack surface reduction policies in Microsoft Intune, see Attack surface reduction policy for endpoint security in Intune.
Enable exploit protection by using an MDM solution
The Policy configuration service provider (CSP) enables organizations to configure policies on Windows devices by using any MDM solution, not just Microsoft Intune. For more information, see Policy CSP.
Configure exploit protection by using the ExploitProtectionSettings CSP with the following settings:
OMA-URI path: ./Device/Vendor/MSFT/Policy/Config/ExploitGuard/ExploitProtectionSettings
Data type: String
Value: The contents of your exploit protection XML file.
System-level settings require a device restart. App-level settings don't require a restart. For information about creating the XML file, see Import, export, and deploy exploit protection configurations.
Enable exploit protection by using Microsoft Configuration Manager
In Microsoft Configuration Manager, configure exploit protection in a Windows Defender Exploit Guard policy. For instructions, see Create and deploy an Exploit Guard policy.
When you create the policy, use these specific settings:
- Exploit Guard components: Select Exploit protection.
- Exploit protection XML: Select Browse, and then select the XML file that contains your system-level and app-level mitigation settings.
Enable exploit protection by using Group Policy
To configure exploit protection through Group Policy, follow these steps:
In a domain environment, open the Group Policy Management Console (GPMC) on your Group Policy management computer.
In the GPMC console tree, expand Group Policy Objects in the forest and domain that contain the Group Policy object (GPO) you want to edit.
Right-click the GPO, and then select Edit.
In the Group Policy Management Editor, go to Computer configuration > Administrative templates > Windows components > Microsoft Defender Exploit Guard > Exploit Protection.
In the Exploit Protection details pane, open the Use a common set of exploit protection settings setting by using one of the following methods:
- Double-click the setting.
- Right-click the setting, and then select Edit.
- Select the setting, and then select Action > Edit.
In the setting window that opens, configure the following options:
- Select Enabled.
- In the Options section, enter the local path, Universal Naming Convention (UNC) path, or URL of the exploit protection XML file.
When you're finished, select OK.
Configure exploit protection by using PowerShell
Use the Get-ProcessMitigation and Set-ProcessMitigation cmdlets to review and configure exploit protection mitigations. The cmdlets require an elevated PowerShell session, which is a PowerShell window opened by selecting Run as administrator.
For guidance about configuring individual mitigations, see Configure and audit exploit protection mitigations.
Process mitigations:
To review the mitigation policy stored in the registry for a specific executable name, use the following syntax:
Get-ProcessMitigation -Name <ProcessPathAndFilename.exe>For example:
Get-ProcessMitigation -Name testing.exeAdd the RunningProcesses parameter to retrieve the current settings from running instances of the executable. Mitigations that haven't been configured have the status value
NOTSET, which means that Windows applies the system-level value.To configure mitigations for a specific process, use the following syntax:
Set-ProcessMitigation -Name <ProcessPathAndFilename.exe> [-Remove] <-Enable | -Disable> Mitigation1,Mitigation2,...MitigationNThis example enables data execution prevention (DEP) with ATL thunk emulation and blocks child-process creation for the specified process:
Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable DEP,EmulateAtlThunks,DisallowChildProcessCreationTo disable the same mitigations for the specified app, use
-Disableinstead of-Enable.This example removes an app-specific DEP override and restores the system-level value:
Set-Processmitigation -Name c:\apps\lob\tests\testing.exe -Remove -Disable DEP
System-level mitigations:
To review the process mitigations configured at the system level, use the following syntax:
Get-ProcessMitigation -SystemThe status value
NOTSETmeans that Windows applies the default value for the mitigation.You can
also setview the default value for each system-level mitigation in the Windows Security app.To enable or disable mitigations
to audit mode. Audit mode allows you to test howat themitigations would work (and review events) without impactingsystem level, use thenormalfollowing syntax:Set-Processmitigation -System [-Remove] <-Enable | -Disable> Mitigation1,Mitigation2,...MitigationNThis example enables DEP at the system level:
Set-Processmitigation -System -Enable DEPTo disable a mitigation, use
-Disableinstead of-Enable.This example removes the
device.system-level DEP override and restores the default value:Set-ProcessMitigation -System -Remove -Disable DEP
Enable exploit protection by using the Windows Security app
OpenYou can use the Windows Security app on individual devices to configure exploit protection mitigations.Use the following steps to configure exploit protection mitigations in the Windows Security app:
- In the Windows securityapp
by either selectingon theshield icon in your task bar, or by searching the Start menu fordevice, go toSecurityApp & browser control. SelectIn the App & browser controltile (orpane, in theapp icon on the left menu bar) and thenExploit protection section, select Exploit protection settings.- The Exploit protection pane that opens has two tabs:
Go toProgram settingsand choosetab: Choose the app you want to apply mitigations to.- If the app you want to configure is already listed, select it, and then select Edit.
- If the app isn't listed, select :::image type="icon" source="media/defender-portal-icon-create.png" border="false"::: Add program to customizeat the top of the
list selectAdd program to customizetab and then choose how you want to add theapp.app: UseSelect Add by program name to have the mitigation applied to any running process with that name. Specify a filename and filewith its extension. You can enterextension (test.exe) or a full path to the file (c:\test\test.exe) to limit the mitigation toonly the app withthatname in that location.specific file. When you're finished, select Add.UseSelect Choose exact file path touse a standard Windows Explorer file picker window tofind and select thefile you want.file.
After selecting the app, you'll see a list of allA Program settings: <app> window opens with the mitigations that can be applied.ChoosingSelectAuditOverride system settingsapplies, and then configure the individual settings available for the mitigation. If the mitigation supports audit mode, select Audit only to evaluate the mitigation without enforcing it.:::image type="content" source="media/windows-security-app-exploit-protection-program-settings.png" alt-text="Screenshot of the Program settings window for the exploit protection settings of an app in
audit mode only.the Windows Security app." lightbox="media/windows-security-app-exploit-protection-program-settings.png":::When you're finished, select Apply. You're notified if you need to restart the process or app, or if you need to restart Windows.
Repeat
steps 3-4the app-level configuration for all the apps and mitigations you want to configure.Under theSystem settingssection, findtab: Find the mitigation you want toconfigureconfigure, and then specify one of the following settings. Appsthat aren't configured individually in theProgram settingssectionwithout an app-specific override for a mitigation use thesettings that are configured here.corresponding system-level setting.- On by default: The mitigation is enabled for apps that don't have
this mitigation set in thean app-specificProgram settingssectionoverride. - Off by default: The mitigation is disabled for apps that don't have
this mitigation set in thean app-specificProgram settingssectionoverride. - Use default (On | Off): The mitigation is either enabled or disabled, depending on the default configuration that
is's setupbyWindows 10 or Windows 11 installation; theWindows. The default value(On or Off)isalwaysspecifiednext toafter the Use default label for eachmitigationmitigation.
- On by default: The mitigation is enabled for apps that don't have
Repeat
step 6the system-level configuration for all thesystem-levelmitigations you want to configure. Select Apply when you'redone setting up your configuration.finished.
- In the Windows securityapp
If you add an app toFor each mitigation, the configuration on the Program settings section and configure individual mitigationtab takes precedence only when Override system settings there, they are honored above is selected. If Override system settings isn't selected, the app uses the configuration for the same mitigations specified inon the System settings section. The following matrix and examples help to illustrate how defaults work:
Example 1: Mikael configures Data Execution Prevention in system settings section to be off by default
Mikael adds the app test.exe to the Program settings section. In the options for that app, under Data Execution Prevention (DEP) (On | Off), Mikael enables the Override system settings option and sets the switch to On. There are no other apps listed in the Program settings section.
The result is that DEP is enabled only for test.exe. All other apps won't have DEP applied.
Example 2: Josie configures Data Execution Prevention in system settings to be off by default
Josie adds the app test.exe to the Program settings section. In the options for that app, under Data Execution Prevention (DEP), Josie enables the Override system settings option and sets the switch to On.
Josie also adds the app miles.exe to the Program settings section and configures Control flow guard (CFG) to On. Josie doesn't enable the Override system settings option for DEP or any other mitigations for that app.
The result is that DEP is enabled for test.exe. DEP won't be enabled for any other app, including miles.exe. CFG will be enabled for miles.exe.
Openthe WindowsSecurity app by selecting the shield icondefault shown inthe task bar or searching the start menu forWindows Security.Select theApp & browser controltile (or the app icon on the left menu bar) and then selectExploit protection.Go toProgram settingsand choose the app you want to apply mitigations to.If the app you want to configure is already listed, select it, and then selectEdit.If the app isn't listed, at the top of the list selectAdd program to customizeand then choose how you want to add the app.UseAdd by program nameto have the mitigation applied to any running process with that name. Specify a file with an extension. You can enter a full path to limit the mitigation to only the app with that name in that location.UseChoose exact file pathto use a standard Windows Explorer file picker window to find and select the file you want.
After selecting the app, you'll see a list of all the mitigations that can be applied. ChoosingAuditapplies the mitigation in audit mode only. You're notified if you need to restart the process or app, or if you need to restart Windows.Repeat steps 3-4 for all the apps and mitigations you want to configure. SelectApplywhen you're done setting up your configuration.
Enable exploit protection by using Microsoft Intune
To configure exploit protection using a Microsoft Intune Endpoint Security Attack surface reduction policy, see Create an endpoint security policy (opens in a new tab in the Intune documentation). When creating the policy, use these settings:
Policy type: Attack surface reductionPlatform: Windows 10, Windows 11, and Windows ServerProfile: Exploit ProtectionConfiguration settings: SetExploit Protection SettingstoConfigured, then browse to and select your exploit protection XML file
For more information about creating an exploit protection XML file, see Import, export, and deploy exploit protection configurations.
For more information about attack surface reduction policies in Microsoft Intune, see Attack surface reduction policy for endpoint security in Intune.parentheses applies.
EnableCustomize exploit protection by using MDM
Use the ./Vendor/MSFT/Policy/Config/ExploitGuard/ExploitProtectionSettings configuration service provider (CSP) to enable or disable exploit protection mitigations or to use audit mode.
Enable exploit protection by using Microsoft Configuration Manager
You can deploy exploit protection through Configuration Manager by using either the Endpoint Security node or the Assets and Compliance workspace.
Enable exploit protection from the Endpoint Security node
Use the following steps to create an exploit protection policy from the Endpoint Security node:
In Microsoft Configuration Manager, go toEndpoint Security>Attack surface reduction.SelectCreate Policy>Platform, and forProfile, chooseExploit Protection. Then selectCreate.Specify a name and a description, and then chooseNext.ChooseSelect XML Fileand browse to the location of the exploit protection XML file. Select the file, and then chooseNext.ConfigureScope tagsandAssignmentsif necessary.UnderReview + create, review your configuration settings, and then chooseCreate.
Enable exploit protection from the Assets and Compliance workspace
Use the following steps to create an exploit protection policy from the Assets and Compliance workspace:
In Microsoft Configuration Manager, go toAssets and Compliance>Endpoint Protection>Windows Defender Exploit Guard.SelectHome>Create Exploit Guard Policy.Specify a name and a description, selectExploit protection, and then chooseNext.Browse to the location of the exploit protection XML file and selectNext.Review the settings, and then chooseNextto create the policy.After the policy is created, selectClose.
Enable exploit protection by using Group Policy
Perform the following steps to configure exploit protection through Group Policy:
On your Group Policy management device, open the Group Policy Management Console. Right-click the Group Policy Object you want to configure and selectEdit.In theGroup Policy Management Editor, go toComputer configurationand selectAdministrative templates.Expand the tree toWindows components>Windows Defender Exploit Guard>Exploit Protection>Use a common set of exploit protection settings.SelectEnabledand type the location of the XML file, and then chooseOK.
Enable exploit protection by using PowerShell
You can use the PowerShell verb Get or Set with the cmdlet ProcessMitigation. Using Get lists the current configuration status of any mitigations that are enabled on the device. To review the exploit protection mitigations currently applied to a specific app, add the -Name parameter and the app executable:
Get-ProcessMitigation -Name processName.exe
Use Set to enable or disable one or more exploit protection mitigations at the system or app level. The general syntax is:
Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>
Where:
- <Scope>:
-Nameto indicate the mitigations should be applied to a specific app. Specify the app's executable after this flag.-Systemto indicate the mitigation should be applied at the system level
- <Action>:
-Enableto enable the mitigation-Disableto disable the mitigation
- <Mitigation>:
- The mitigation's cmdlet along with any suboptions (surrounded with spaces). Each mitigation is separated with a comma.
The following example enables DEP with ATL thunk emulation and blocks child-process creation for a line-of-business application called testing.exe in the folder C:\Apps\LOB\tests:
Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable DEP, EmulateAtlThunks, DisallowChildProcessCreation
To enable DEP as a system-wide mitigation that applies to all processes, use the following command:
Set-Processmitigation -System -Enable DEP
To disable mitigations, you can replace -Enable with -Disable. However, for app-level mitigations, this action forces the mitigation to be disabled only for that app.
To remove an app-specific DEP override and restore the mitigation back to the system default, include the -Remove cmdlet as shown in the following example:
Set-Processmitigation -Name test.exe -Remove -Disable DEP
The following table lists the individual Mitigations (and Audits, when available) to be used with the -Enable or -Disable cmdlet parameters.
| Mitigation type | Applies to | Mitigation cmdlet parameter keyword | Audit mode cmdlet parameter |
|---|---|---|---|
| Control flow guard (CFG) | System and app-level | CFG, StrictCFG, SuppressExports |
Audit not available |
| Data Execution Prevention (DEP) | System and app-level | DEP, EmulateAtlThunks |
Audit not available |
| Force randomization for images (Mandatory ASLR) | System and app-level | ForceRelocateImages |
Audit not available |
| Randomize memory allocations (Bottom-Up ASLR) | System and app-level | BottomUp, HighEntropy |
Audit not available |
| Validate exception chains (SEHOP) | System and app-level | SEHOP, SEHOPTelemetry |
Audit not available |
| Validate heap integrity | System and app-level | TerminateOnError |
Audit not available |
| Arbitrary code guard (ACG) | App-level only | DynamicCode |
AuditDynamicCode |
| Block low integrity images | App-level only | BlockLowLabel |
AuditImageLoad |
| Block remote images | App-level only | BlockRemoteImages |
Audit not available |
| Block untrusted fonts | App-level only | DisableNonSystemFonts |
AuditFont, FontAuditOnly |
| Code integrity guard | App-level only | BlockNonMicrosoftSigned, AllowStoreSigned |
AuditMicrosoftSigned, AuditStoreSigned |
| Disable extension points | App-level only | ExtensionPoint |
Audit not available |
| Disable Win32k system calls | App-level only | DisableWin32kSystemCalls |
AuditSystemCall |
| Don't allow child processes | App-level only | DisallowChildProcessCreation |
AuditChildProcess |
| Export address filtering (EAF) | App-level only | EnableExportAddressFilterPlus, EnableExportAddressFilter [1] | |
| |||
| |||
| |||
| |||
| |||
|
[1]: To enable Export Address Filtering Plus (EAF+) for a specific process and limit monitoring to selected DLLs, use the following format:
Set-ProcessMitigation -Name processName.exe -Enable EnableExportAddressFilterPlus -EAFModules dllName1.dll,dllName2.dll
[2]: Audit for this mitigation isn't available via PowerShell cmdlets.
Customize the notificationnotifications
For information about customizing the notification when a rule is triggered and an app or file is blocked, see Windows SecurityWindows Security.
Removing theRemove exploit protection mitigations
To reset (undo or remove) the exploit protection mitigations, see the Reset or remove exploit protection mitigations.
See alsoRelated content
@@ -1,6 +1,6 @@ ----title: Turn on exploit protection to help mitigate against attacks-description: Learn how to enable exploit protection in Windows. Exploit protection helps protect your device against malware.+title: Enable exploit protection in Windows+description: Learn how to configure exploit protection in Windows by using Microsoft Intune, MDM, Configuration Manager, Group Policy, PowerShell, or the Windows Security app. ms.service: defender-endpoint ms.localizationpriority: medium author: limwainstein@@ -8,302 +8,267 @@ ms.author: lwainstein ms.reviewer: ksarens ms.subservice: asr ms.topic: how-to-ms.collection: +ms.collection: - m365-security - tier3 - mde-asr-ms.date: 06/16/2026+ms.date: 09/02/2026 appliesto: - Microsoft Defender for Endpoint Plan 1 - Microsoft Defender for Endpoint Plan 2 ai-usage: ai-assisted-ms.custom: msecd-doc-authoring-1014+ms.custom: msecd-doc-authoring-1015+#customer intent: As a security administrator, I want to configure exploit protection so that Windows devices use the required mitigations against attacks. ---+ # Enable exploit protection +[Exploit protection](exploit-protection.md) applies mitigation techniques to the operating system and individual apps to help protect Windows devices from malware that uses exploits. Security administrators can configure system-level and app-level mitigations by using Microsoft Intune, mobile device management (MDM), Microsoft Configuration Manager, Group Policy, PowerShell, or the Windows Security app. -[Exploit protection](exploit-protection.md) helps protect against malware that uses exploits to infect devices and spread. Exploit protection consists of many mitigations that can be applied to either the operating system or individual apps.+Windows enables several exploit protection mitigations by default in Windows 10 and Windows 11. You can turn each mitigation on or off, or use its default value. Some mitigations also support [audit mode](evaluate-exploit-protection.md), which lets you evaluate compatibility without affecting normal device use. -> [!IMPORTANT]-> .NET 2.0 is not compatible with some exploit protection capabilities, specifically, Export Address Filtering (EAF) and Import Address Filtering (IAF). If you have enabled .NET 2.0, usage of EAF and IAF are not supported.+You can [export the exploit protection mitigation settings as an XML file](import-export-exploit-protection-emet-xml.md) and deploy the configuration to other devices. -Many features from the Enhanced Mitigation Experience Toolkit (EMET) are included in exploit protection.+> [!IMPORTANT]+> Export address filtering (EAF) and import address filtering (IAF) are deprecated and aren't compatible with .NET Framework 2.0 or 3.5 applications. ## Prerequisites -The following recommendations can help you successfully deploy exploit protection.--- Set up monitoring for application crashes ([Event ID 1000 and/or Event ID 1001](/troubleshoot/windows-server/performance/troubleshoot-application-service-crashing-behavior)) and/or hangs (Event ID 1002)--- Enable [full user mode dump](/windows/win32/wer/collecting-user-mode-dumps) collection+Before you deploy exploit protection, prepare the following monitoring and testing capabilities: -- Check to see which applications are already compiled with "[Control Flow Guard](/windows/win32/secbp/control-flow-guard)" (CFG) which primarily focus on mitigating memory corruption vulnerabilities. Use dumpbin tool to see if it's compiled w/ [CFG](/windows/win32/secbp/control-flow-guard). For applications already compiled with CFG, you could skip enabling enforcement for DEP, ASLR, SEHOP, and ACG.--- Use safe deployment practices (SDP) to test and roll out exploit protection changes gradually.+- Monitoring for application crashes ([Event ID 1000 or Event ID 1001](/troubleshoot/windows-server/performance/troubleshoot-application-service-crashing-behavior)) and hangs (Event ID 1002).+- [Full user-mode dump](/windows/win32/wer/collecting-user-mode-dumps) collection.+- An inventory of apps compiled with [Control Flow Guard (CFG)](/windows/win32/secbp/control-flow-guard). To verify that a binary contains CFG data, use `dumpbin /headers /loadconfig`.+- A device group for testing exploit protection changes before broad deployment. > [!WARNING]-> If you do not test and do not go through safe deployment practices, you could contribute to end-user productivity outages.+> Deploying exploit protection mitigations without testing can cause app compatibility issues and affect user productivity. ### Safe deployment practices -Safe deployment practices (SDP): Safe deployment processes and procedures define how to safely make and deploy changes to your workload. Implementing SDP requires you to think about deployments through the lens of managing risk. You can minimize the risk of end-user productivity outages in your deployments and limit the effects of problematic deployments on your users by implementing SDP.+Safe deployment practices (SDP) help you manage the risk of app compatibility and user productivity issues. Start with a small group of Windows devices, and test the mitigations with the apps you plan to protect. Disable incompatible mitigations for the affected apps, and then repeat the testing. -Start out with a small set (for example, 10 to 50) of Windows devices and use that as your test environment to see which of the 21 mitigations, are incompatible with exploit protection. Remove the mitigations that aren't compatible with the application. Reiterate with the applications that you're targeting. Once the exploit protection policy is ready for production, begin rolling it out more broadly.+After you validate the policy, deploy it to a user acceptance testing (UAT) group that includes IT administrators, security administrators, and help desk personnel. Expand the deployment in stages based on the results from each group. -Start out by pushing first to User Acceptance Testing (UAT) comprised of the IT administrators, Security administrators and help desk personnel. Then to 1%, 5%, 10%, 25%, 50%, 75%, and finally to 100% of your environment.+<a name="enabling-exploit-protection-mitigations"></a> -## Enabling exploit protection mitigations+<a name="microsoft-intune"></a> -You can enable each mitigation separately by using any of the following methods:+## Enable exploit protection by using Microsoft Intune -- [Windows Security app](#windows-security-app)-- [Microsoft Intune](#microsoft-intune)-- [Mobile Device Management (MDM)](#mdm)-- [Microsoft Configuration Manager](#microsoft-configuration-manager)-- [Group Policy](#group-policy)-- [PowerShell](#powershell)+[!INCLUDE [intune-recommended-separate-product](includes/intune-recommended-separate-product.md)] -Exploit protection is configured by default in Windows 10 and Windows 11. You can set each mitigation to on, off, or to its default value. Some mitigations have more options. You can [export these settings as an XML file](import-export-exploit-protection-emet-xml.md) and deploy them to other devices.+To configure exploit protection in Microsoft Intune, use an endpoint security **Attack surface reduction** policy. For detailed instructions, see <a href="/intune/intune-service/protect/endpoint-security-policy#create-endpoint-security-policies" target="_blank">Create endpoint security policies</a> or <a href="/intune/device-configuration/endpoint-security/manage-policies#modify-existing-policies" target="_blank">Modify existing policies</a> (links open new tabs in the Intune documentation). -You can also set mitigations to [audit mode](evaluate-exploit-protection.md). Audit mode allows you to test how the mitigations would work (and review events) without impacting the normal use of the device.+When you create the policy, use these specific settings: -<a name="windows-security-app"></a>-## Enable exploit protection by using the Windows Security app+- **Policy type**: Go to **Manage** \> **Attack surface reduction** on the **Endpoint security \| Overview** page at <https://intune.microsoft.com/#view/Microsoft_Intune_Workflows/SecurityManagementMenu/~/overview>.+- **Platform**: Select **Windows**.+- **Profile**: Select **Exploit Protection**. -1. Open the Windows Security app by either selecting the shield icon in your task bar, or by searching the Start menu for **Security**.+When you create or modify the policy, use these specific settings on the **Configuration settings** tab: -1. Select the **App & browser control** tile (or the app icon on the left menu bar) and then select **Exploit protection settings**.+- **Exploit protection settings** in the **Exploit guard** section: Slide the toggle to :::image type="icon" source="media/toggle-on.png" border="false"::: **Configured**.+- Next to the box that appears, select :::image type="icon" source="media/intune-admin-center-icon-open-file-icon.png" border="false"::: **Open file** and then find and select your exploit protection XML file. -1. Go to **Program settings** and choose the app you want to apply mitigations to.+For more information about creating an exploit protection XML file, see [Import, export, and deploy exploit protection configurations](import-export-exploit-protection-emet-xml.md). - - If the app you want to configure is already listed, select it, and then select **Edit**.- - If the app isn't listed, at the top of the list select **Add program to customize** and then choose how you want to add the app.- - Use **Add by program name** to have the mitigation applied to any running process with that name. Specify a file with its extension. You can enter a full path to limit the mitigation to only the app with that name in that location.- - Use **Choose exact file path** to use a standard Windows Explorer file picker window to find and select the file you want.+For more information about attack surface reduction policies in Microsoft Intune, see [Attack surface reduction policy for endpoint security in Intune](/intune/intune-service/protect/endpoint-security-asr-policy). -1. After selecting the app, you'll see a list of all the mitigations that can be applied. Choosing **Audit** applies the mitigation in audit mode only. You're notified if you need to restart the process or app, or if you need to restart Windows.+<a name="mdm"></a> -1. Repeat steps 3-4 for all the apps and mitigations you want to configure.+<a name="enable-exploit-protection-by-using-mdm"></a> -1. Under the **System settings** section, find the mitigation you want to configure and then specify one of the following settings. Apps that aren't configured individually in the **Program settings** section use the settings that are configured here.- - **On by default**: The mitigation is *enabled* for apps that don't have this mitigation set in the app-specific **Program settings** section- - **Off by default**: The mitigation is *disabled* for apps that don't have this mitigation set in the app-specific **Program settings** section- - **Use default**: The mitigation is either enabled or disabled, depending on the default configuration that is set up by Windows 10 or Windows 11 installation; the default value (**On** or **Off**) is always specified next to the **Use default** label for each mitigation+<a name="enable-exploit-protection-in-any-mdm-solution-using-the-policy-csp"></a> -1. Repeat step 6 for all the system-level mitigations you want to configure. Select **Apply** when you're done setting up your configuration.+## Enable exploit protection by using an MDM solution -If you add an app to the **Program settings** section and configure individual mitigation settings there, they are honored above the configuration for the same mitigations specified in the **System settings** section. The following matrix and examples help to illustrate how defaults work:+The Policy configuration service provider (CSP) enables organizations to configure policies on Windows devices by using any MDM solution, not just Microsoft Intune. For more information, see [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider). -|Enabled in **Program settings**|Enabled in **System settings**|Behavior|-|:---|:---|:---|-|Yes|No|As defined in **Program settings**|-|Yes|Yes|As defined in **Program settings**|-|No|Yes|As defined in **System settings**|-|No|No|Default as defined in **Use default** option|+Configure exploit protection by using the [ExploitProtectionSettings](/windows/client-management/mdm/policy-csp-exploitguard#exploitprotectionsettings) CSP with the following settings: -### Example 1: Mikael configures Data Execution Prevention in system settings section to be off by default+**OMA-URI path**: `./Device/Vendor/MSFT/Policy/Config/ExploitGuard/ExploitProtectionSettings`<br/>+**Data type**: String<br/>+**Value**: The contents of your exploit protection XML file. -Mikael adds the app *test.exe* to the **Program settings** section. In the options for that app, under **Data Execution Prevention (DEP)**, Mikael enables the **Override system settings** option and sets the switch to **On**. There are no other apps listed in the **Program settings** section.+System-level settings require a device restart. App-level settings don't require a restart. For information about creating the XML file, see [Import, export, and deploy exploit protection configurations](import-export-exploit-protection-emet-xml.md). -The result is that DEP is enabled only for *test.exe*. All other apps won't have DEP applied.+<a name="microsoft-configuration-manager"></a> -### Example 2: Josie configures Data Execution Prevention in system settings to be off by default+<a name="endpoint-security"></a> -Josie adds the app *test.exe* to the **Program settings** section. In the options for that app, under **Data Execution Prevention (DEP)**, Josie enables the **Override system settings** option and sets the switch to **On**.+<a name="assets-and-compliance"></a> -Josie also adds the app *miles.exe* to the **Program settings** section and configures **Control flow guard (CFG)** to **On**. Josie doesn't enable the **Override system settings** option for DEP or any other mitigations for that app.+## Enable exploit protection by using Microsoft Configuration Manager -The result is that DEP is enabled for *test.exe*. DEP won't be enabled for any other app, including *miles.exe*. CFG will be enabled for *miles.exe*.+In Microsoft Configuration Manager, configure exploit protection in a Windows Defender Exploit Guard policy. For instructions, see [Create and deploy an Exploit Guard policy](/intune/configmgr/protect/deploy-use/create-deploy-exploit-guard-policy). -1. Open the Windows Security app by selecting the shield icon in the task bar or searching the start menu for **Windows Security**.+When you create the policy, use these specific settings: -1. Select the **App & browser control** tile (or the app icon on the left menu bar) and then select **Exploit protection**.+- **Exploit Guard components**: Select **Exploit protection**.+- **Exploit protection XML**: Select **Browse**, and then select the XML file that contains your system-level and app-level mitigation settings. -1. Go to **Program settings** and choose the app you want to apply mitigations to.+> [!WARNING]+> Keep the exploit protection XML file secure when you transfer it between devices. Delete the file after you import it, or store it in a secure location. - - If the app you want to configure is already listed, select it, and then select **Edit**.- - If the app isn't listed, at the top of the list select **Add program to customize** and then choose how you want to add the app.<br/>- - Use **Add by program name** to have the mitigation applied to any running process with that name. Specify a file with an extension. You can enter a full path to limit the mitigation to only the app with that name in that location.- - Use **Choose exact file path** to use a standard Windows Explorer file picker window to find and select the file you want.+<a name="group-policy"></a> -1. After selecting the app, you'll see a list of all the mitigations that can be applied. Choosing **Audit** applies the mitigation in audit mode only. You're notified if you need to restart the process or app, or if you need to restart Windows.+## Enable exploit protection by using Group Policy -1. Repeat steps 3-4 for all the apps and mitigations you want to configure. Select **Apply** when you're done setting up your configuration.+To configure exploit protection through Group Policy, follow these steps: -<a name="microsoft-intune"></a>-## Enable exploit protection by using Microsoft Intune+1. In a domain environment, open the [Group Policy Management Console (GPMC)](/windows-server/identity/ad-ds/manage/group-policy/group-policy-management-console) on your Group Policy management computer. -To configure exploit protection using a Microsoft Intune Endpoint Security **Attack surface reduction** policy, see <a href="/intune/intune-service/protect/endpoint-security-policy#create-endpoint-security-policies" target="_blank">Create an endpoint security policy</a> (opens in a new tab in the Intune documentation). When creating the policy, use these settings:+1. In the GPMC console tree, expand **Group Policy Objects** in the forest and domain that contain the Group Policy object (GPO) you want to edit. -- **Policy type**: Attack surface reduction-- **Platform**: Windows 10, Windows 11, and Windows Server-- **Profile**: Exploit Protection-- **Configuration settings**: Set **Exploit Protection Settings** to **Configured**, then browse to and select your exploit protection XML file+1. Right-click the GPO, and then select **Edit**. -For more information about creating an exploit protection XML file, see [Import, export, and deploy exploit protection configurations](import-export-exploit-protection-emet-xml.md).+1. In the **Group Policy Management Editor**, go to **Computer configuration** \> **Administrative templates** \> **Windows components** \> **Microsoft Defender Exploit Guard** \> **Exploit Protection**. -For more information about attack surface reduction policies in Microsoft Intune, see [Attack surface reduction policy for endpoint security in Intune](/intune/intune-service/protect/endpoint-security-asr-policy).+ > [!NOTE]+ > Group Policy paths before Windows 10, version 2004 (May 2020) might use _Windows_ Defender Exploit Guard instead of _Microsoft_ Defender Exploit Guard. Both names refer to the same policy location. -<a name="mdm"></a>-## Enable exploit protection by using MDM+1. In the **Exploit Protection** details pane, open the **Use a common set of exploit protection settings** setting by using one of the following methods:+ - Double-click the setting.+ - Right-click the setting, and then select **Edit**.+ - Select the setting, and then select **Action** \> **Edit**. -Use the [./Vendor/MSFT/Policy/Config/ExploitGuard/ExploitProtectionSettings](/windows/client-management/mdm/policy-csp-exploitguard) configuration service provider (CSP) to enable or disable exploit protection mitigations or to use audit mode.+1. In the setting window that opens, configure the following options:+ 1. Select **Enabled**.+ 1. In the **Options** section, enter the local path, Universal Naming Convention (UNC) path, or URL of the [exploit protection XML file](import-export-exploit-protection-emet-xml.md). -<a name="microsoft-configuration-manager"></a>-## Enable exploit protection by using Microsoft Configuration Manager+ When you're finished, select **OK**. -You can deploy exploit protection through Configuration Manager by using either the Endpoint Security node or the Assets and Compliance workspace.+> [!TIP]+> You can also configure Group Policy locally on individual devices by using the Local Group Policy Editor (`gpedit.msc`). Navigate to the same path: **Computer configuration** \> **Administrative templates** \> **Windows components** \> **Microsoft Defender Exploit Guard** \> **Exploit Protection**. -<a name="endpoint-security"></a>-### Enable exploit protection from the Endpoint Security node+<a name="powershell"></a> -Use the following steps to create an exploit protection policy from the Endpoint Security node:+<a name="enable-exploit-protection-by-using-powershell"></a> -1. In Microsoft Configuration Manager, go to **Endpoint Security** \> **Attack surface reduction**.+<a name="configure-exploit-protection-using-powershell"></a> -1. Select **Create Policy** \> **Platform**, and for **Profile**, choose **Exploit Protection**. Then select **Create**.+## Configure exploit protection by using PowerShell -1. Specify a name and a description, and then choose **Next**.+Use the [**Get-ProcessMitigation**](/powershell/module/processmitigations/get-processmitigation) and [**Set-ProcessMitigation**](/powershell/module/processmitigations/set-processmitigation) cmdlets to review and configure exploit protection mitigations. The cmdlets require an elevated PowerShell session, which is a PowerShell window opened by selecting **Run as administrator**. -1. Choose **Select XML File** and browse to the location of the exploit protection XML file. Select the file, and then choose **Next**.+For guidance about configuring individual mitigations, see [Configure and audit exploit protection mitigations](customize-exploit-protection.md). -1. Configure **Scope tags** and **Assignments** if necessary.+- **Process mitigations**:+ - To review the mitigation policy stored in the registry for a specific executable name, use the following syntax: -1. Under **Review + create**, review your configuration settings, and then choose **Create**.+ ```powershell+ Get-ProcessMitigation -Name <ProcessPathAndFilename.exe>+ ``` -<a name="assets-and-compliance"></a>-### Enable exploit protection from the Assets and Compliance workspace+ For example: -Use the following steps to create an exploit protection policy from the Assets and Compliance workspace:+ ```powershell+ Get-ProcessMitigation -Name testing.exe+ ``` -1. In Microsoft Configuration Manager, go to **Assets and Compliance** \> **Endpoint Protection** \> **Windows Defender Exploit Guard**.+ Add the _RunningProcesses_ parameter to retrieve the current settings from running instances of the executable. Mitigations that haven't been configured have the status value `NOTSET`, which means that Windows applies the system-level value. -1. Select **Home** \> **Create Exploit Guard Policy**.+ - To configure mitigations for a specific process, use the following syntax: -1. Specify a name and a description, select **Exploit protection**, and then choose **Next**.+ ```powerShell+ Set-ProcessMitigation -Name <ProcessPathAndFilename.exe> [-Remove] <-Enable | -Disable> Mitigation1,Mitigation2,...MitigationN+ ``` -1. Browse to the location of the exploit protection XML file and select **Next**.+ This example enables data execution prevention (DEP) with ATL thunk emulation and blocks child-process creation for the specified process: -1. Review the settings, and then choose **Next** to create the policy.+ ```powerShell+ Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable DEP,EmulateAtlThunks,DisallowChildProcessCreation+ ``` -1. After the policy is created, select **Close**.+ To disable the same mitigations for the specified app, use `-Disable` instead of `-Enable`. -<a name="group-policy"></a>-## Enable exploit protection by using Group Policy+ - This example removes an app-specific DEP override and restores the system-level value: -Perform the following steps to configure exploit protection through Group Policy:+ ```PowerShell+ Set-Processmitigation -Name c:\apps\lob\tests\testing.exe -Remove -Disable DEP+ ``` -1. On your Group Policy management device, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object you want to configure and select **Edit**.+- **System-level mitigations**:+ - To review the process mitigations configured at the system level, use the following syntax: -1. In the **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**.+ ```powershell+ Get-ProcessMitigation -System+ ``` -1. Expand the tree to **Windows components** \> **Windows Defender Exploit Guard** \> **Exploit Protection** \> **Use a common set of exploit protection settings**.+ The status value `NOTSET` means that Windows applies the default value for the mitigation. -1. Select **Enabled** and type the location of the [XML file](/windows/client-management/mdm/policy-csp-exploitguard), and then choose **OK**.+ You can view the default value for each system-level mitigation in the [Windows Security app](#enable-exploit-protection-by-using-the-windows-security-app). -<a name="powershell"></a>-## Enable exploit protection by using PowerShell+ - To enable or disable mitigations at the system level, use the following syntax: -You can use the PowerShell verb `Get` or `Set` with the cmdlet `ProcessMitigation`. Using `Get` lists the current configuration status of any mitigations that are enabled on the device. To review the exploit protection mitigations currently applied to a specific app, add the `-Name` parameter and the app executable:+ ```powershell+ Set-Processmitigation -System [-Remove] <-Enable | -Disable> Mitigation1,Mitigation2,...MitigationN+ ``` -```PowerShell-Get-ProcessMitigation -Name processName.exe-```+ This example enables DEP at the system level: -> [!IMPORTANT]-> System-level mitigations that have not been configured will show a status of `NOTSET`.-> - For system-level settings, `NOTSET` indicates the default setting for that mitigation has been applied.-> - For app-level settings, `NOTSET` indicates the system-level setting for the mitigation will be applied.-> The default setting for each system-level mitigation can be seen in the Windows Security.+ ```powershell+ Set-Processmitigation -System -Enable DEP+ ``` -Use `Set` to enable or disable one or more exploit protection mitigations at the system or app level. The general syntax is:+ To disable a mitigation, use `-Disable` instead of `-Enable`. -```PowerShell-Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>-```+ - This example removes the system-level DEP override and restores the default value: -Where:+ ```powershell+ Set-ProcessMitigation -System -Remove -Disable DEP+ ``` -- \<Scope\>:- - `-Name` to indicate the mitigations should be applied to a specific app. Specify the app's executable after this flag.- - `-System` to indicate the mitigation should be applied at the system level-- \<Action\>:- - `-Enable` to enable the mitigation- - `-Disable` to disable the mitigation-- \<Mitigation\>:- - The mitigation's cmdlet along with any suboptions (surrounded with spaces). Each mitigation is separated with a comma.+<a name="windows-security-app"></a> -The following example enables DEP with ATL thunk emulation and blocks child-process creation for a line-of-business application called *testing.exe* in the folder *C:\Apps\LOB\tests*:+## Enable exploit protection by using the Windows Security app -```PowerShell-Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable DEP, EmulateAtlThunks, DisallowChildProcessCreation-```+You can use the [Windows Security app](https://support.microsoft.com/Windows/Security/Windows-Security/stay-protected-with-the-windows-security-app) on individual devices to configure exploit protection mitigations. -> [!IMPORTANT]-> Separate each mitigation option with commas.+Use the following steps to configure exploit protection mitigations in the Windows Security app: -To enable DEP as a system-wide mitigation that applies to all processes, use the following command:+1. In the **Windows security** app on the device, go to **App & browser control**.+1. In the **App & browser control** pane, in the **Exploit protection** section, select **Exploit protection settings**.+1. The **Exploit protection** pane that opens has two tabs:+ - **Program settings** tab: Choose the app you want to apply mitigations to.+ - If the app you want to configure is already listed, select it, and then select **Edit**.+ - If the app isn't listed, select :::image type="icon" source="media/defender-portal-icon-create.png" border="false"::: **Add program to customize** at the top of the tab and then choose how you want to add the app:+ - Select **Add by program name** to have the mitigation applied to any running process with that name. Specify a filename and file extension (`test.exe`) or a full path to the file (`c:\test\test.exe`) to limit the mitigation to that specific file. When you're finished, select **Add**.+ - Select **Choose exact file path** to find and select the file. -```PowerShell-Set-Processmitigation -System -Enable DEP-```+ A **Program settings: \<app\>** window opens with the mitigations that can be applied. Select **Override system settings**, and then configure the individual settings available for the mitigation. If the mitigation supports audit mode, select **Audit only** to evaluate the mitigation without enforcing it. -To disable mitigations, you can replace `-Enable` with `-Disable`. However, for app-level mitigations, this action forces the mitigation to be disabled only for that app.+ :::image type="content" source="media/windows-security-app-exploit-protection-program-settings.png" alt-text="Screenshot of the Program settings window for the exploit protection settings of an app in the Windows Security app." lightbox="media/windows-security-app-exploit-protection-program-settings.png"::: -To remove an app-specific DEP override and restore the mitigation back to the system default, include the `-Remove` cmdlet as shown in the following example:+ When you're finished, select **Apply**. You're notified if you need to restart the process or app, or if you need to restart Windows. -```PowerShell-Set-Processmitigation -Name test.exe -Remove -Disable DEP-```+ Repeat the app-level configuration for all the apps and mitigations you want to configure. -The following table lists the individual **Mitigations** (and **Audits**, when available) to be used with the `-Enable` or `-Disable` cmdlet parameters.<br/><br/>+ - **System settings** tab: Find the mitigation you want to configure, and then specify one of the following settings. Apps without an app-specific override for a mitigation use the corresponding system-level setting.+ - **On by default**: The mitigation is _enabled_ for apps that don't have an app-specific override.+ - **Off by default**: The mitigation is _disabled_ for apps that don't have an app-specific override.+ - **Use default (On \| Off)**: The mitigation is either enabled or disabled, depending on the default configuration that's set by Windows. The default value **On** or **Off** is specified after the **Use default** label for each mitigation. -|Mitigation type|Applies to|Mitigation cmdlet parameter keyword|Audit mode cmdlet parameter|-|---|---|---|---|-|Control flow guard (CFG)|System and app-level|`CFG`, `StrictCFG`, `SuppressExports`|Audit not available|-|Data Execution Prevention (DEP)|System and app-level|`DEP`, `EmulateAtlThunks`|Audit not available|-|Force randomization for images (Mandatory ASLR)|System and app-level|`ForceRelocateImages`|Audit not available|-|Randomize memory allocations (Bottom-Up ASLR)|System and app-level|`BottomUp`, `HighEntropy`|Audit not available-|Validate exception chains (SEHOP)|System and app-level|`SEHOP`, `SEHOPTelemetry`|Audit not available|-|Validate heap integrity|System and app-level|`TerminateOnError`|Audit not available|-|Arbitrary code guard (ACG)|App-level only|`DynamicCode`|`AuditDynamicCode`|-|Block low integrity images|App-level only|`BlockLowLabel`|`AuditImageLoad`|-|Block remote images|App-level only|`BlockRemoteImages`|Audit not available|-|Block untrusted fonts|App-level only|`DisableNonSystemFonts`|`AuditFont`, `FontAuditOnly`|-|Code integrity guard|App-level only|`BlockNonMicrosoftSigned`, `AllowStoreSigned`|AuditMicrosoftSigned, AuditStoreSigned|-|Disable extension points|App-level only|`ExtensionPoint`|Audit not available|-|Disable Win32k system calls|App-level only|`DisableWin32kSystemCalls`|`AuditSystemCall`|-|Don't allow child processes|App-level only|`DisallowChildProcessCreation`|`AuditChildProcess`|-|Export address filtering (EAF)|App-level only|`EnableExportAddressFilterPlus`, `EnableExportAddressFilter` <a href="#r1" id="t1">[1]</a>|Audit not available <a href="#r2" id="t2">[2]</a>|-|Import address filtering (IAF)|App-level only|`EnableImportAddressFilter`|Audit not available <a href="#r2" id="t2">[2]</a>|-|Simulate execution (SimExec)|App-level only|`EnableRopSimExec`|Audit not available <a href="#r2" id="t2">[2]</a>|-|Validate API invocation (CallerCheck)|App-level only|`EnableRopCallerCheck`|Audit not available <a href="#r2" id="t2">[2]</a>|-|Validate handle usage|App-level only|`StrictHandle`|Audit not available|-|Validate image dependency integrity|App-level only|`EnforceModuleDepencySigning`|Audit not available|-|Validate stack integrity (StackPivot)|App-level only|`EnableRopStackPivot`|Audit not available <a href="#r2" id="t2">[2]</a>|+ Repeat the system-level configuration for all the mitigations you want to configure. Select **Apply** when you're finished. -<a href="#t1" id="r1">[1]</a>: To enable Export Address Filtering Plus (EAF+) for a specific process and limit monitoring to selected DLLs, use the following format:+For each mitigation, the configuration on the **Program settings** tab takes precedence only when **Override system settings** is selected. If **Override system settings** isn't selected, the app uses the configuration on the **System settings** tab. If the system-level configuration is **Use default (On | Off)**, the Windows default shown in parentheses applies. -```PowerShell-Set-ProcessMitigation -Name processName.exe -Enable EnableExportAddressFilterPlus -EAFModules dllName1.dll,dllName2.dll-```+<a name="customize-the-notification"></a> -<a href="#t2" id="r2">[2]</a>: Audit for this mitigation isn't available via PowerShell cmdlets.+## Customize exploit protection notifications -## Customize the notification+For information about customizing the notification when a rule is triggered and an app or file is blocked, see [Windows Security](/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center). -For information about customizing the notification when a rule is triggered and an app or file is blocked, see [Windows Security](/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).+<a name="removing-the-exploit-protection-mitigations"></a> -## Removing the exploit protection mitigations+## Remove exploit protection mitigations -To reset (undo or remove) the exploit protection mitigations, see the [Exploit protection reference](exploit-protection-reference.md).+To reset (undo or remove) exploit protection mitigations, see [Reset or remove exploit protection mitigations](exploit-protection-reference.md). -## See also+## Related content - [Evaluate exploit protection](evaluate-exploit-protection.md) - [Configure and audit exploit protection mitigations](customize-exploit-protection.md) - [Import, export, and deploy exploit protection configurations](import-export-exploit-protection-emet-xml.md)--- 