Threat Protection and Confidential VMs
Lock down session hosts with WDAC application control and Controlled Folder Access, then protect against boot-level and memory-level attacks with Trusted Launch and Azure confidential VMs.
Application control and VM hardening
Think of session hosts like vending machines in an office.
- WDAC is the inventory list inside the vending machine. Only approved items (applications) are stocked. If someone tries to put an unapproved snack in, the machine rejects it. No exceptions.
- Controlled Folder Access is a lock on the office filing cabinet. Even if a thief gets inside the building (malware gets onto the VM), they cannot open the cabinet to steal or encrypt your documents.
- Trusted Launch is like tamper-proof seals on the vending machine. When the machine starts up, it checks that nobody has tampered with its internals. If the seals are broken, it refuses to operate.
- Confidential VMs are like putting the vending machine inside a locked, soundproof room. Even the building manager (the cloud provider) cannot see or tamper with what is inside while it is running.
Windows Defender Application Control (WDAC)
What WDAC does
WDAC is an allowlist-based application control technology. Instead of trying to block known malware (blocklist approach), WDAC only allows applications that are explicitly trusted. Everything else is blocked.
WDAC enforces code integrity policies at the kernel level. This means:
- Only signed, trusted drivers can load
- Only approved applications can execute
- Unsigned scripts and executables are blocked by default
- Policies survive reboots because they are enforced before user-mode code runs
WDAC vs AppLocker
Both control which applications can run, but they operate very differently.
| Capability | WDAC | AppLocker |
|---|---|---|
| Enforcement level | Kernel mode β enforced before user code runs | User mode β enforced by a Windows service |
| Bypass resistance | Very hard to bypass (kernel-level) | Easier to bypass (service can be stopped by admin) |
| Policy scope | Per-device (applies to all users) | Per-user or per-group via GPO |
| Driver control | Yes β controls which drivers can load | No β cannot control drivers |
| Management | WDAC policies (XML/binary), Intune, or MECM | Group Policy or Intune AppLocker CSP |
| Audit mode | Yes β log without blocking | Yes β audit only mode |
| Recommended by Microsoft | Yes β preferred for new deployments | Legacy β still supported but WDAC preferred |
| Best for AVD | Pooled hosts with a defined app set | Quick rules when WDAC is too complex |
WDAC for AVD session hosts
On pooled session hosts, WDAC is particularly effective because:
- The application set is well-defined (golden image has all approved apps)
- Users cannot install software (no admin rights)
- New apps are added through image updates, not user installs
- The policy can be baked into the golden image
Implementation approach:
- Deploy a session host with all required applications
- Run the WDAC policy wizard in audit mode to generate a baseline policy
- Review the audit logs to ensure all legitimate applications are allowed
- Switch to enforce mode and test with pilot users
- Bake the WDAC policy into the golden image
π’ Raj at TerraStack rolled out WDAC in phases: βWe started with audit mode for two weeks. The logs showed us every application that would have been blocked. We found three legitimate tools we had missed β added them to the policy, then enforced. Our pooled hosts now only run exactly what we approved. Any random executable a user tries to download? Blocked.β
Exam tip: WDAC audit mode before enforce
The exam often presents a scenario where WDAC is blocking a legitimate application after being deployed. The recommended approach is ALWAYS to start with audit mode, review logs, refine the policy, then switch to enforce mode. If a question asks about deploying WDAC with minimal disruption, the answer involves audit mode first.
Controlled Folder Access
What it does
Controlled Folder Access is a ransomware protection feature in Defender Antivirus. It protects specific folders from unauthorised changes β even if malware is running on the system.
Protected folders by default:
- Documents, Desktop, Pictures, Videos, Music, Favourites
- Public folders
How it works:
- Only trusted applications can write to protected folders
- Microsoft-signed apps are trusted automatically
- You can add custom trusted applications
- Untrusted applications that try to modify protected files are blocked and logged
Controlled Folder Access on AVD
For AVD session hosts, Controlled Folder Access protects user data in redirected folders. This is especially important when:
- Users save files to their Desktop or Documents (which may be in the FSLogix profile container)
- The session host has internet access (potential malware vector)
- The organisation must comply with data protection regulations
Configuration via Intune or Group Policy:
- Enable Controlled Folder Access
- Add FSLogix processes to the allowed applications list (frxsvc.exe, frxccds.exe)
- Add any line-of-business applications that need to write to protected folders
π§ Mia at Horizons Health enables Controlled Folder Access on all clinical session hosts: βOur radiology department saves DICOM images to the Documents folder. If ransomware got onto a session host, it could encrypt patient imaging data. Controlled Folder Access means only our approved PACS viewer and FSLogix can write to those folders.β
Deep dive: Controlled Folder Access and FSLogix interaction
FSLogix processes MUST be added to the Controlled Folder Access allowed list. Without this, FSLogix cannot write to protected folders inside the profile container, causing profile load failures. This is similar to the antivirus exclusion requirement but applies to folder access specifically.
The processes to allow are the same as the antivirus exclusions: frxsvc.exe, frxccds.exe, and frxccd.exe. If users report that their Desktop or Documents folder is read-only after enabling Controlled Folder Access, check that FSLogix processes are on the allowed list.
Trusted Launch for AVD
What Trusted Launch protects against
Trusted Launch protects session hosts from boot-level attacks β malware that infects the boot process before the OS or antivirus loads. These attacks include:
- Rootkits β malware that hides in the boot loader and is invisible to the running OS
- Bootkits β malware that replaces the boot loader entirely
- Firmware attacks β malware that persists in VM firmware
Trusted Launch components
| Component | What It Does |
|---|---|
| Secure Boot | Ensures only signed, trusted boot loaders and OS kernels can load. Blocks unsigned or tampered boot code. |
| vTPM (virtual Trusted Platform Module) | A virtualised TPM 2.0 chip that stores cryptographic keys and measurements. Used for BitLocker, measured boot, and attestation. |
| Measured Boot | Records every component loaded during boot into the vTPM. Azure can verify these measurements to detect tampering (boot integrity monitoring). |
Enabling Trusted Launch
Trusted Launch is a VM creation setting β you enable it when creating the session host VM. It cannot be added to an existing VM without redeployment.
Requirements:
- Supported VM sizes (most general-purpose and compute-optimised sizes support it)
- Generation 2 VM (not Generation 1)
- Supported OS images (Windows 11, Windows Server 2022, and most current images)
- Must be selected at VM creation time
ποΈ JC requires Trusted Launch on all government session hosts: βDirector Walsh mandates that every VM in our environment uses Trusted Launch. Measured boot gives us attestation evidence that no session host has been tampered with. Our security auditor Aisha reviews the boot integrity reports monthly.β
Azure Confidential VMs
Beyond Trusted Launch
While Trusted Launch protects the boot process, confidential VMs protect the entire VM while it is running β including the data in memory.
How confidential VMs work
Confidential VMs use AMD SEV-SNP (Secure Encrypted Virtualisation - Secure Nested Paging) technology:
- Memory encryption β the VMβs memory is encrypted with a key that only the VM has access to. Even the hypervisor cannot read the VMβs memory.
- Hardware-based isolation β the CPU enforces isolation between the VM and the host, preventing side-channel attacks
- Attestation β the VM can cryptographically prove to remote parties that it is running in a genuine confidential environment
When to use confidential VMs for AVD
Confidential VMs are for scenarios where even the cloud provider should not be able to access the data:
- Processing classified government data
- Healthcare data that requires the highest isolation
- Financial data subject to strict regulatory requirements
- Intellectual property that must be protected from all parties
| Aspect | Trusted Launch | Confidential VMs |
|---|---|---|
| Protection scope | Boot process (secure boot, measured boot) | Boot process + runtime (memory encryption) |
| Memory encryption | No | Yes β AMD SEV-SNP encrypts VM memory |
| Hypervisor access | Hypervisor can access VM memory | Hypervisor CANNOT access VM memory |
| Attestation | Boot integrity only | Full runtime attestation |
| vTPM | Yes (virtualised) | Yes (hardware-backed) |
| Cost | No additional cost over standard VMs | Premium pricing (10-30 percent more) |
| VM size availability | Broad β most sizes supported | Limited β specific DCas_v5 and ECas_v5 sizes |
| Performance impact | Minimal | Slight overhead from memory encryption |
| OS disk encryption | Standard Azure disk encryption | Confidential OS disk encryption (encrypted by VM, not platform) |
| Best for | General security hardening (recommended for all VMs) | Highly sensitive workloads requiring maximum isolation |
Cost and performance considerations
| Factor | Impact |
|---|---|
| VM pricing | Confidential VM sizes (DCas_v5, ECas_v5) cost 10-30 percent more than equivalent standard sizes |
| Size availability | Limited to specific SKUs β fewer size options than standard VMs |
| Region availability | Not available in all Azure regions |
| Performance | Memory encryption adds slight CPU overhead (typically 2-5 percent) |
| Compatibility | Some extensions and features may not be supported on confidential VMs |
ποΈ JC uses confidential VMs for the classified workload: βMost of our 3,000 session hosts use Trusted Launch β it is free and covers boot protection. But our 50 classified workstations use confidential VMs. The data those analysts process cannot be visible to anyone β not even Azure infrastructure. The cost premium is justified for that tier.β
Exam tip: Trusted Launch is the default recommendation
Unless the scenario explicitly mentions requirements like βdata must be protected from the cloud providerβ or βmemory-level encryption required,β the answer is Trusted Launch, not confidential VMs. Trusted Launch is free, widely supported, and recommended for all AVD session hosts. Confidential VMs are the answer only when the scenario demands protection beyond boot integrity β specifically runtime memory isolation.
Layered threat protection summary
| Layer | Technology | Protects Against |
|---|---|---|
| Application | WDAC | Unauthorised applications, unsigned code |
| Application | Controlled Folder Access | Ransomware writing to protected folders |
| Boot | Trusted Launch (Secure Boot + vTPM) | Rootkits, bootkits, firmware attacks |
| Runtime | Confidential VMs (SEV-SNP) | Memory-level attacks, hypervisor access |
Raj is deploying WDAC on TerraStack's pooled AVD session hosts. After switching from audit mode to enforce mode, several users report that a legitimate accounting application is blocked. What is the best course of action?
JC needs session hosts that protect classified data from all parties, including the Azure hypervisor. The VMs must encrypt data in memory during processing. Which technology should JC use?
Mia wants to protect patient data folders on clinical session hosts from ransomware. The session hosts use FSLogix for profile management. After enabling Controlled Folder Access, users report they cannot save files to their Documents folder. What is the fix?
π¬ Video coming soon
Threat Protection and Confidential VMs
Next up: FSLogix Profile Containers β moving into Domain 3, we explore how FSLogix attaches user profiles as virtual disks, configuration options, and storage backend choices.