Implement Exploit Protection – Manage and protect devices

Implement Exploit Protection – Manage and protect devices

Implement Exploit Protection

Exploit Protection helps to protect your users’ devices against malware that uses exploits to spread through your organization. Exploit Protection consists of a number of specific mitigations that you must enable and configure separately.

By default, Exploit Protection already enables several mitigations that apply to the operating system and to specific apps. However, if you want to configure these and other mitigations, use the following procedure:

  1. Open the Windows Security app.
  2. Select the App & Browser Control tab.
  3. Scroll down and select the Exploit Protection Settings link.
  4. On the Exploit protection page, shown in Figure 3-3, configure the required settings. You can configure System settings and also specific Program settings. Review Table 3-2 for an overview of available settings.

Figure 3-3 Configuring exploit protection settings

TABLE 3-2 Exploit Protection mitigations

MitigationExplanation
Control Flow Guard (CFG)Control Flow Guard combats memory corruption vulnerabilities.
Data Execution Prevention (DEP)Helps to prevent executable code from being run from pages that contain data.
Force Randomization For Images (Mandatory ASLR)Helps prevent attacks by putting processes into memory at random locations.
Randomize Memory Allocations (Bottom-Up ASLR)Helps prevent attacks by putting processes into memory at random locations.
High-Entropy ASLRHelps prevent attacks by increasing variability when using Randomize Memory Allocations.
Validate Exception Chains (SEHOP)Helps prevent the use of a structured exception-handler attack.
Validate Heap IntegrityHelps prevent attacks that seek to use memory corruption.
Arbitrary Code Guard (ACG)Prevents the introduction of non-image-backed executable code and prevents code pages from being modified. Can optionally allow thread opt-out and allow remote downgrade (configurable only with PowerShell).
Block Low Integrity ImagesPrevents the loading of images marked with Low Integrity.
Block Remote ImagesPrevents the loading of images from remote devices.
Block Untrusted FontsPrevents loading any Graphics Device Interface (GDI)-based fonts not installed in the system fonts directory, notably fonts from the web.
Code Integrity GuardRestricts loading of images signed by Microsoft, Windows Hardware Quality Labs (WHQL), or higher. Can optionally allow Microsoft Store–signed images.
Disable Extension PointsDisables various extensibility mechanisms that allow dynamic-link library (DLL) injection into all processes, such as AppInit DLLs, window hooks, and Winsock service providers.
Disable Win32k System CallsPrevents an app from using the Win32k system call table.
Do Not Allow Child ProcessesPrevents an app from creating child processes.
Export Address Filtering (EAF)Detects dangerous operations being resolved by malicious code. Can optionally validate access by modules commonly used by exploits.
Import Address Filtering (IAF)Detects dangerous operations being resolved by malicious code.
Simulate Execution (SimExec)Ensures that calls to sensitive APIs return to legitimate callers. Only configurable for 32-bit (x86) applications. Not compatible with ACG.
Validate API Invocation (CallerCheck)Ensures that sensitive APIs are invoked by legitimate callers. Only configurable for 32-bit (x86) applications. Not compatible with ACG.
Validate Handle UsageCauses an exception to be raised on any invalid handle references.
Validate Image Dependency IntegrityEnforces code signing for Windows image dependency loading.
Validate Stack Integrity (StackPivot)Ensures that the stack has not been redirected for sensitive APIs. Not compatible with ACG.
  1. Select the Export settings link to export the settings to an XML file.
  2. Distribute the XML file to other devices by using Group Policy Objects (GPOs).

Exam Tip

You can also enable mitigations in audit mode; doing so allows you to determine the effect of enabling a specific mitigation without affecting the user’s device usage.

In addition to using the Windows Security app to configure Exploit Protection, you can use Windows PowerShell cmdlets. You can use either the Get or Set verb with the ProcessMitigation cmdlet. For example, to enable the Data Execution Prevention (DEP) mitigation for the MyLOB.exe program located in the C:\Apps\LOB folder and to prevent that executable from creating child processes, run the following PowerShell command:

Click here to view code image

Set-ProcessMitigation -Name C:\Apps\LOB\MyLOB.exe -Enable DEP, EmulateAtlThunks,
DisallowChildProcessCreation

Exam Tip

To review further details about enabling and configuring Exploit Protection, refer to the Microsoft website at https://docs.microsoft.com/microsoft-365/security/defender-endpoint/customize-exploit-protection.

To use GPOs to distribute the exported settings, use the following procedure:

  1. On a domain controller, open the appropriate GPO for editing.
  2. In the Group Policy Management Editor, navigate to Computer Configuration > Policies > Administrative Templates > Windows Components > Microsoft Defender Exploit Guard > Exploit Protection.
  3. Select Use a common set of exploit protection settings.
  4. Select Enabled, as displayed in Figure 3-4, and then enter a valid UNC path to the XML file that contains the necessary settings.

Figure 3-4 Configuring a common set of exploit protection settings using GPOs

5. Select OK, and then close the Group Policy Management Editor.

Keiarra Mclemore

Learn More →

Leave a Reply

Your email address will not be published. Required fields are marked *