Implement Microsoft Defender Exploit Guard – Manage, maintain, and protect devices

You can use Microsoft Defender Exploit Guard to help to reduce the attack surface of your users’ apps. Microsoft Defender Exploit Guard consists of four components:

  • Exploit protection Uses Microsoft Defender Antivirus or, if installed, third-party antivirus software to help mitigate exploit techniques used against your organization’s apps.
  • Attack surface reduction rules Uses rules to help prevent attack vectors implemented by scripts, email, and Office-based malware. Based on Microsoft Defender Antivirus.
  • Network protection Extends Microsoft Defender SmartScreen protection in Microsoft Edge to other applications to prevent access to Internet domains that might host phishing scams, exploits, and other malicious content. Requires Microsoft Defender Antivirus and cloud-delivered protection enabled.
  • Controlled folder access Helps protect against ransomware and malware by preventing changes to files in protected folders if the app attempting to make changes is malicious or exhibits suspicious behavior. It also requires Microsoft Defender Antivirus.

Note that different features are available in different Windows 11 edition, as shown in Table 3-15.

TABLE 3-15 Windows Defender Exploit Guard features

Edition of Windows 11Features supported
Windows 11 HomeExploit protectionControlled folder access
Windows 11 ProExploit protectionControlled folder access
Windows 11 Enterprise E3 Windows 11 Education E3Exploit protectionControlled folder accessNetwork protection
Windows 11 Enterprise E5 Windows 11 Education E5Exploit protectionControlled folder accessNetwork protectionAttack surface reduction rules

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 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. Configure the required settings on the Exploit protection page, shown in Figure 3-56. You can configure System settings and also specific Program settings. Review Table 3-16 for an overview of available settings.

FIGURE 3-56 Configuring exploit protection settings

TABLE 3-16 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 to 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. Optionally, it can allow thread opt-out and remote downgrade (configurable only with PowerShell).
Block low integrity imagesPrevents the loading of images marked with Low Integrity.
Block remote imagesPrevents loading of images from remote devices.
Block untrusted fontsPrevents loading any GDI-based fonts not installed in the system fonts directory, notably fonts from the web.
Code integrity guardRestricts loading of images signed by Microsoft, WHQL, or higher. Can optionally allow Microsoft Store signed images.
Disable extension pointsDisables various extensibility mechanisms that allow 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 legitimate callers invoke sensitive APIs. 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 Microsoft Intune.

You can also enable mitigations in audit mode; this allows you to determine the effect of enabling a specific mitigation without affecting the user’s device usage.
Need More Review? Enable Exploit Protection
To review further details about enabling and configuring Exploit Protection, refer to the Microsoft website at https://learn.microsoft.com/en-gb/microsoft-365/security/defender-endpoint/customize-exploit-protection?view=o365-worldwide.

Understand BitLocker Authentication Options – Manage, maintain, and protect devices

It’s important to consider the available authentication options. You can use the following methods:

  • TPM + startup PIN + startup key This is the most secure combination. The encryption key is stored on the TPM chip. The user might find this option cumbersome because this requires multiple authentication tasks.
  • TPM + startup key The encryption key is stored on the TPM chip. The user must insert a USB flash drive containing a startup key.
  • TPM + startup PIN The encryption key is stored on the TPM chip. The user needs to enter a PIN to unlock the device.
  • Startup key only The user needs to insert a USB flash drive with the startup key on it. The device doesn’t need to have a TPM chip. The BIOS must support access to the USB flash drive before the operating system loads.
  • TPM only The encryption key is stored on the TPM chip, and no user action is required.

With all the BitLocker authentication methods, the drive is encrypted until unlocked. When the BitLocker encrypted drive is in recovery mode, you can also unlock the drive by using either the recovery password or recovery key:

  • Recovery password This is a 48-digit number typed on a regular keyboard or by using the function keys (F1-F10) to input the numbers.
  • Recovery key This is an encryption key created when the BitLocker is first employed and is for recovering data encrypted on a BitLocker volume. Often the encryption key is stored on removable media.

Because the TPM chip and BitLocker protect the hard drive, administrators can also configure BitLocker to operate without additional unlock steps, so long as the device (and TPM) recognize the drive, it will be unlocked.

Configure BitLocker with Intune

If you have many devices on which you want to enable and manage BitLocker, you can use Microsoft Intune. To configure BitLocker, use the following procedure:

  1. Open Microsoft Intune admin center.
  2. Navigate to Endpoint security and select Disk encryption.
  3. In the details pane, select Create Policy.
  4. On the Create a profile page, displayed in Figure 3-53, in Platform, select Windows 10 and later.

FIGURE 3-53 Creating a BitLocker profile in Intune

  1. In the Profile, select BitLocker, and then select Create.
  2. On the Create profile page, on the Basics tab, enter a Name and Description, and then select Next.
  3. On the Configuration settings tab, shown in Figure 3-54, configure the following settings, and then select Next:
    • BitLocker – Base Settings Including whether to enable full disk encryption for OS and fixed data drives.
    • BitLocker – Fixed Drive Settings Including drive recovery settings and encryption methods for fixed data drives.
    • BitLocker – OS Drive Settings Including whether Startup authentication is required, such as TPM startup options as discussed earlier. You can also define the system drive recovery options.
    • BitLocker – OS Drive Settings Including blocking write access to removable data drives not protected by BitLocker.

FIGURE 3-54 Configuring BitLocker – OS Drive Settings in an Intune profile

  1. Optionally, configure scope tags, and then, in the Assignments tab, assign the profile to the required groups.
  2. Finally, on the Review + create tab, select Create.

You can also configure BitLocker settings in Intune by using Configuration Profiles in the Devices node. Use the following procedure:

  1. Select Devices, select Windows, and then select Configuration profiles.
  2. Select Create profile, and in the Platform list, select Windows 10 and later.
  3. In the Profile type list, select Templates. You can now choose either:
    • Administrative templates Choose this option to use an interface that’s broadly similar to that used when configuring GPO settings. Create the profile as usual, and on the Configuration Settings tab, expand Computer Configuration > Windows Components > BitLocker Drive Encryption > Operating System Drives and configure the required values. Then complete the process of configuring and assigning the profile. The advantage of configuring BitLocker this way is that you can combine settings with others which are also configurable in the Administrative Template profile.
    • Endpoint protection You can use Endpoint Protection profiles to configure a range of security settings, including those for BitLocker. Create the profile in the usual way, and on the Configuration settings tab, in addition to any other settings, make sure to expand Windows Encryption. You can then require BitLocker encryption and go on to configure BitLocker base settings, OS drive settings, and fixed data-drive settings. Complete the process of configuring and assigning the profile.