Introduction¶
What is Windows Defender Application Control?¶
Application control is crucial for protecting computer systems in today's threat landscape and offers a distinct advantage over traditional antivirus solutions. Specifically, application control uses tailored access, shifting from a model where all applications are assumed trustworthy to one where applications must earn trust before they can run.
Devices where Application Control policies are deployed on can either be centrally managed via MDM, Intune etc. or they can be home devices, devices that are private and don't belong to any organization, the computer of someone that you want to keep very much safe and secure so that even the device's owner can't willingly or forcefully compromise themselves, the possibilities are endless.
Important
This repository provides 2 main methods that allows you to manage App Control in Windows. The primary method is the AppControl Manager app, and the other one is the WDACConfig PowerShell module. They are one-stop shops for all your Application Control (WDAC) needs. they are scalable, easy to use, enterprise-ready, Azure VM ready and more importantly, they are free and always will be that way. Check it out here
App Control for Business wiki posts¶
- Introduction
- WDAC for Lightly managed device
- WDAC for Fully managed device - Variant 1
- WDAC for Fully managed device - Variant 2
- WDAC for Fully managed device - Variant 3
- WDAC for Fully managed device - Variant 4
- WDAC Notes
- How to Create and Deploy a Signed WDAC Policy
- Fast and Automatic Microsoft Recommended Driver Block Rules updates
- WDAC policy for BYOVD Kernel mode only protection
- EKUs in WDAC, App Control for Business, Policies
- WDAC Rule Levels Comparison and Guide
- Script Enforcement and PowerShell Constrained Language Mode in WDAC App Control Policies
- How to Use Microsoft Defender for Endpoint Advanced Hunting With WDAC App Control
- Application Control (WDAC) Frequently Asked Questions (FAQs)
WDACConfig Module¶
WDACConfig is an advanced PowerShell module designed with the aim of automating Application and File whitelisting in Windows using App Control for Business. It is available in PowerShell gallery.
Application Control Usage Levels¶
There are many ways you can utilize Application Control features and here they are sorted by the level of restriction and protection they provide; From top (having the least restriction and protection) to bottom (having the most restriction and protection).
-
Use Microsoft recommended driver block rules.
- No user action required; The vulnerable driver blocklist is enabled by default for all devices using HVCI or Memory Integrity.
- The built-in driver blocklist is updated with each new major release of Windows, typically 1-2 times per year.
-
Update Microsoft recommended driver block rules outside of the twice a year schedule.
- The drivers block list itself is updated more frequently than twice a year schedule, use the WDACConfig Module to setup a scheduled task that keeps the list up-to-date.
- Use Microsoft recommended block rules + Recommended driver block rules
- Use the WDACConfig Module to easily deploy the User-Mode Microsoft recommended block rules on your system.
- Create WDAC policy for Lightly managed devices
- Use Smart App Control
- It's just a toggle in Windows Security under App & Browser control. It uses a special kind of WDAC policy that provides more protection than a lightly managed workstation but less protection than a fully managed workstation.
- It uses both of Microsoft's recommended block rules.
- Use Smart App Control + Strict Kernel-Mode WDAC Policy
- Create WDAC policy for Fully managed devices
- The following scenarios provide the highest protection against any threats from any sources when cryptographically signed and deployed and properly configured.
- WDAC for Fully managed device - Variant 1
- WDAC for Fully managed device - Variant 2
- WDAC for Fully managed device - Variant 3
- WDAC for Fully managed device - Variant 4
- Microsoft's guide: Create a WDAC policy for fully managed devices
- Microsoft's guide: Create a WDAC policy for fixed-workload devices (reference computer)
- Microsoft's guide: Use audit events to create WDAC policy rules
Methods we can use to create an Application Control policy (WDAC)¶
- Using PowerShell cmdlets
- Using WDACConfig PowerShell module - Recommended
- Using WDAC Policy Wizard
Plan for App Control for Business lifecycle policy management¶
Microsoft provides the following official document to understand the decisions you need to make to establish the processes for managing and maintaining Application Control policies. The rest of them are mentioned below at the Resources section.
Resources¶
There are a lot more WDAC resources and cmdlets available on Microsoft's websites.
Cmdlets¶
Documents¶
- Application Control for Windows
- Understand App Control for Business policy design decisions
- Deploying App Control for Business policies
- Use multiple App Control for Business Policies
- Use audit events to create WDAC policy rules
- Merge App Control for Business policies
- Understand App Control for Business policy rules and file rules
- Testing and Debugging AppId Tagging Policies
- Editing existing base and supplemental WDAC policies with the Wizard
- Creating a new Supplemental Policy with the Wizard
- App Control for Business example base policies
- Configure the Application Identity service
- Microsoft recommended driver block rules
- Microsoft recommended block rules
- Create a WDAC policy using a reference computer (for fixed-workload devices)
- Create a WDAC policy for fully managed devices
- Create a WDAC policy for lightly managed devices
- Guidance on Creating WDAC Deny Policies
- Hypervisor-protected Code Integrity enablement