Tamper resistance
What this page is
The tamper-resistance module that hardens the EDR sensor against adversarial interference, including PPL configuration, service ACL hardening, watchdog process architecture, ETW/AMSI integrity checks, and filesystem ACL enforcement.
Why it exists this way
EDR sensors are high-value targets for kernel-mode malware and privileged threat actors. Without active tamper resistance, an adversary with SYSTEM privileges can stop the sensor service, unload the minifilter, patch the AMSI provider, or disable ETW trace sessions. The guard module implements defence-in-depth hardening that makes each of these attacks detectable and, in some cases, reversible within 60 seconds.
How it works
The edr_windows::guard module applies hardening in five layers
at sensor startup:
Layer 1: Protected Process Light (PPL)
The sensor process is registered as a PPL with signer type
PsProtectedSignerAntimalware and protection level
PsProtectedSignerAntimalware-Light. This prevents non-PPL
processes (even running as SYSTEM) from opening the sensor process
with PROCESS_VM_WRITE, PROCESS_TERMINATE, or
PROCESS_SUSPEND_RESUME. The PPL configuration is applied via
the ELAM (Early Launch Anti-Malware) registry key under
HKLM\SYSTEM\CurrentControlSet\Control\EarlyLaunch.
If the sensor binary is signed with a certificate trusted by the Windows kernel, PPL is enforced by the kernel. If unsigned (dev builds), PPL is registered but not enforced; the watchdog logs a warning.
Layer 2: Service ACL hardening
The sensor's Windows service (AuroraEDR) is configured with a
custom SDDL security descriptor that grants only SYSTEM and
Administrators the SERVICE_START | SERVICE_STOP | SERVICE_QUERY_STATUS rights. SERVICE_CHANGE_CONFIG and
DELETE are revoked from all principals including
Administrators so even a domain admin cannot alter the service
binary path or delete the service without first changing
ownership.
Layer 3: Watchdog process
A lightweight watchdog process (aurora-guard.exe) runs as a
separate PPL process and monitors the main sensor process via a
named pipe heartbeat. If the main process misses 3 consecutive
heartbeats (15-second interval), the watchdog:
- Logs a critical event to the Windows Event Log (Application channel, Event ID 1000).
- Attempts to restart the main service via
StartServiceW. - If restart fails, sets a kernel-mode WFP filter that blocks all outbound traffic except the Collector management channel (fail-deadly network isolation).
- Writes a tamper-detection alert to the offline buffer.