Attack surface reduction rules: GUIDs and safe rollout
A practical reference to Microsoft Defender ASR rules: what each rule blocks, its GUID, which to enforce first, audit-mode rollout, event IDs and exclusions that don't gut protection.
Attack surface reduction (ASR) rules are behaviour blocks built into Microsoft Defender Antivirus. Instead of recognising a malicious file, they stop a behaviour that malware needs and legitimate software rarely does: Word spawning PowerShell, a script launching a freshly downloaded executable, an unknown process reading LSASS memory. Because they don't depend on signatures, they stop new malware as well as old.
They are also free with Windows, configurable by Group Policy, and have an audit mode. The main reason they are not enabled everywhere is fear of breaking a business application. This guide gives you the full rule list and a rollout that manages that risk.
Requirements
- Microsoft Defender Antivirus as the primary antivirus, with real-time protection on (not passive mode).
- Cloud-delivered protection on, since some rules depend on it (notably the prevalence rule).
- Windows 10 / Windows Server 2019 or later for the full set; a few rules have narrower support (the webshell rule is for servers).
The rules
| Rule | GUID | Notes |
|---|---|---|
| Block abuse of exploited vulnerable signed drivers | 56a863a9-875e-4185-98a7-b882c64b5ce5 | Standard protection. Stops known-vulnerable drivers being written to disk. |
| Block credential stealing from the Windows local security authority subsystem (lsass.exe) | 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 | Standard protection. Redundant if LSA protection is on, harmless to add. |
| Block persistence through WMI event subscription | e6db77e5-3df2-4cf1-b95a-636979351e5b | Standard protection. |
| Block all Office applications from creating child processes | d4f940ab-401b-4efc-aadc-ad5f3c50688a | High value; some add-ins trip it. |
| Block Office applications from creating executable content | 3b576869-a4ec-4529-8536-b80a7769e899 | |
| Block Office applications from injecting code into other processes | 75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84 | |
| Block Office communication application from creating child processes | 26190899-1602-49e8-8b27-eb1d0a1ce869 | Outlook. |
| Block Win32 API calls from Office macros | 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b | Can affect legacy VBA tools. |
| Block Adobe Reader from creating child processes | 7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c | |
| Block executable content from email client and webmail | be9ba2d9-53ea-4cdc-84e5-9b1eeee46550 | |
| Block JavaScript or VBScript from launching downloaded executable content | d3e037e1-3eb8-44c8-a917-57927947596d | |
| Block execution of potentially obfuscated scripts | 5beb7efe-fd9a-4556-801d-275e5ffc04cc | Occasional false positives with minified admin scripts. |
| Block untrusted and unsigned processes that run from USB | b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 | |
| Block executable files from running unless they meet a prevalence, age, or trusted list criterion | 01443614-cd74-433a-b99e-2ecdc07bfc25 | Needs cloud protection. Noisy for developers and in-house tools. |
| Block process creations originating from PSExec and WMI commands | d1e49aac-8f56-4280-b9ba-993a6d77406c | Not compatible with Configuration Manager, which uses WMI. Great on unmanaged or Intune-only fleets. |
| Use advanced protection against ransomware | c1db55ab-c21a-4637-bb3f-a12568109d35 | Cloud heuristics. |
| Block Webshell creation for Servers | a8f5898e-1dc8-49a9-9878-85004b8a61e6 | Exchange servers. |
| Block rebooting machine in Safe Mode | 33ddedf1-c6e0-47cb-833e-de6133960387 | Stops bcdedit/bootcfg forcing a Safe Mode reboot. |
| Block use of copied or impersonated system tools | c0033c00-d16d-4114-a5a0-dc9b3a7d2ceb | Blocks copies of System32/SysWOW64 binaries run from elsewhere; can flag legitimate tools in custom paths. |
Microsoft keeps adding rules; the two most recent are the Safe Mode and copied-system-tools rules at the end of the table. Keep your Defender platform current (Microsoft requires it to be no more than two versions behind for ASR) and check the ASR rules reference when new rules appear.
Each rule takes one of these states: 0 Disabled, 1 Block, 2 Audit, 5 Not configured, 6 Warn. Warn lets the user click through a block for 24 hours, which is useful for the noisier rules on workstations. It is not supported by the LSASS and Office code-injection rules, and not through Configuration Manager.
Rollout
1. Standard protection straight to block
The three standard protection rules rarely collide with legitimate software. Put them in block mode everywhere, with one exception: on devices managed by Configuration Manager, whose client relies heavily on WMI, Microsoft asks you to test the WMI persistence rule in audit mode first.
$std = "56a863a9-875e-4185-98a7-b882c64b5ce5",
"9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2",
"e6db77e5-3df2-4cf1-b95a-636979351e5b"
Add-MpPreference -AttackSurfaceReductionRules_Ids $std `
-AttackSurfaceReductionRules_Actions Enabled,Enabled,Enabled2. Everything else in audit for two to four weeks
In Group Policy: Computer Configuration > Administrative Templates > Windows Components > Microsoft Defender Antivirus > Microsoft Defender Exploit Guard > Attack Surface Reduction > Configure Attack Surface Reduction rules. Enable it and add one line per rule, GUID in Value name, state in Value. In Intune use an Attack surface reduction rules profile under Endpoint security. For a lab:
Add-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a `
-AttackSurfaceReductionRules_Actions AuditModeUse Add-MpPreference rather than Set-MpPreference when you add rules one at a time: Set- replaces the whole list.
3. Read the events
ASR events are in Applications and Services Logs > Microsoft > Windows > Windows Defender > Operational:
| Event ID | Meaning |
|---|---|
| 1121 | Rule fired in block mode |
| 1122 | Rule fired in audit mode (would have blocked) |
| 5007 | Defender configuration changed (watch for someone disabling rules) |
Each event gives the rule GUID, the process path and the target. Group by rule and process across the fleet. You will typically find a short list of real collisions: a document management add-in spawning a helper, a line-of-business app that writes executables from a VBA macro, a management agent launched through WMI.
Get-WinEvent -LogName "Microsoft-Windows-Windows Defender/Operational" |
Where-Object Id -in 1121,1122 |
Select-Object TimeCreated, Id, Message -First 504. Exclude narrowly, then block
Fix what you can (update the add-in, sign the script, replace the macro). For the rest, prefer per-rule exclusions, which exist on current Defender platform versions, over global ASR exclusions:
# Global ASR exclusion (applies to all rules): use sparingly and with full paths
Add-MpPreference -AttackSurfaceReductionOnlyExclusions "C:\Program Files\Contoso\DocHelper.exe"Never exclude powershell.exe, cmd.exe, wscript.exe, whole user-writable folders like %TEMP% or %APPDATA%, or the Office binaries themselves. That doesn't narrow the rule, it turns it off.
Then move rules to block ring by ring (IT, pilot users, then everyone), keeping a watch on 1121 volume after each step.
5. Verify on the endpoint
$p = Get-MpPreference
for ($i = 0; $i -lt $p.AttackSurfaceReductionRules_Ids.Count; $i++) {
"{0} {1}" -f $p.AttackSurfaceReductionRules_Ids[$i], $p.AttackSurfaceReductionRules_Actions[$i]
}If rules configured by GPO or Intune don't appear, check that Defender is the active antivirus (Get-MpComputerStatus | Select AMRunningMode should be Normal) and that no conflicting local and managed policies exist.
Exploit protection
ASR's sibling is exploit protection (the successor to EMET), configured under Windows Security > App & browser control > Exploit protection or via an exported XML applied by the Use a common set of exploit protection settings policy. System-wide defaults (DEP, bottom-up ASLR, CFG, SEHOP) should stay on. Per-application mitigations are worth adding for exposed legacy apps, but test them: forcing mandatory ASLR on an old binary can crash it.
Get-ProcessMitigation -SystemChecklist
- Defender AV is primary, real-time and cloud protection on
- Three standard protection rules in block mode everywhere
- Remaining rules audited for 2 to 4 weeks, events 1122 reviewed
- PSExec/WMI rule only where Configuration Manager is not used
- Exclusions narrow, per-rule where possible, documented with an owner
- Rules in block mode by ring; event 5007 monitored for tampering
ASR rules are among the highest-return settings on Windows. For the antivirus they depend on, see the Microsoft Defender hardening guide; for stopping unknown executables altogether, application control.
Frequently asked questions
Do ASR rules work with a third-party antivirus?
No. ASR rules are part of Microsoft Defender Antivirus and require it to be the active antivirus with real-time protection on. If another product is primary and Defender is in passive mode, ASR rules do not enforce.
Do I need Microsoft Defender for Endpoint to use ASR rules?
No. The rules are configurable on any supported Windows edition that runs Defender Antivirus, through Group Policy, Intune, Configuration Manager or PowerShell. Defender for Endpoint adds centralised reporting and advanced hunting on the events.
Which ASR rules should every organisation enable?
Microsoft calls three rules standard protection and recommends enabling them in block mode almost everywhere: block abuse of exploited vulnerable signed drivers, block credential stealing from LSASS, and block persistence through WMI event subscription.
Attack surface reduction rules: GUIDs and safe rollout