Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update wdac.md #11938

Closed
wants to merge 1 commit into from
Closed

Update wdac.md #11938

wants to merge 1 commit into from

Conversation

NikTilton
Copy link

WDAC documentation incorrectly states that you can disable Smart Application Control by setting the REG_DWORD VerifiedAndReputablePolicyState to a value of 0 and using CiTool.exe -r OR rebooting the device.

This is unfortunately not correct, on reboot WDAC/CI DOES NOT notify Defender of the CI policy change (Smart App Control/SmartLocker disabled) so the Defender registry key Smartlockermode never gets updated, leading to Defender never being disabled when 3rd party AV is installed.

CSS has multiple cases that span across Windows Devices and Deployment, Escalations to the Windows EEs, Windows Defender for Endpoint, and several ICMs to their PG teams as well.

Why

  • Closes #[Issue Number]

Changes

WDAC documentation incorrectly states that you can disable Smart Application Control by setting the REG_DWORD VerifiedAndReputablePolicyState to a value of 0 and using CiTool.exe -r OR rebooting the device. 

This is unfortunately not correct, on reboot WDAC/CI DOES NOT notify Defender of the CI policy change (Smart App Control/SmartLocker disabled) so the Defender registry key Smartlockermode never gets updated, leading to Defender never being disabled when 3rd party AV is installed. 

CSS has multiple cases that span across Windows Devices and Deployment, Escalations to the Windows EEs, Windows Defender for Endpoint, and several ICMs to their PG teams as well.
Copy link
Contributor

Learn Build status updates of commit 230b699:

✅ Validation status: passed

File Status Preview URL Details
windows/security/application-security/application-control/windows-defender-application-control/wdac.md ✅Succeeded

For more details, please refer to the build report.

For any questions, please:

@@ -33,7 +33,7 @@ Windows 10 and Windows 11 include two technologies that can be used for applicat

Starting in Windows 11 version 22H2, [Smart App Control](https://support.microsoft.com/topic/what-is-smart-app-control-285ea03d-fa88-4d56-882e-6698afdb7003) provides application control for consumers. Smart App Control is based on WDAC, allowing enterprise customers to create a policy that offers the same security and compatibility with the ability to customize it to run line-of-business (LOB) apps. To make it easier to implement this policy, an [example policy](design/example-wdac-base-policies.md) is provided. The example policy includes **Enabled:Conditional Windows Lockdown Policy** option that isn't supported for WDAC enterprise policies. This rule must be removed before you use the example policy. To use this example policy as a starting point for creating your own policy, see [Create a custom base policy using an example WDAC base policy](design/create-wdac-policy-for-lightly-managed-devices.md#create-a-custom-base-policy-using-an-example-wdac-base-policy).

Smart App Control is only available on clean installation of Windows 11 version 22H2 or later, and starts in evaluation mode. Smart App Control is automatically turned off for enterprise managed devices unless the user has turned it on first. To turn off Smart App Control across your organization's endpoints, you can set the **VerifiedAndReputablePolicyState** (DWORD) registry value under `HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy` as shown in the following table. After you change the registry value, you must either restart the device or use [CiTool.exe -r](/windows/security/threat-protection/windows-defender-application-control/operations/citool-commands#refresh-the-wdac-policies-on-the-system) for the change to take effect.
Smart App Control is only available on clean installation of Windows 11 version 22H2 or later, and starts in evaluation mode. Smart App Control is automatically turned off for enterprise managed devices unless the user has turned it on first. To turn off Smart App Control across your organization's endpoints, you can set the **VerifiedAndReputablePolicyState** (DWORD) registry value under `HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy` as shown in the following table. After you change the registry value, you must use [CiTool.exe -r](/windows/security/threat-protection/windows-defender-application-control/operations/citool-commands#refresh-the-wdac-policies-on-the-system) for the change to take effect.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer to add a NOTE disclaimer that rebooting will leave Windows Defender in passive mode when a 3P AV product installed and a link to the Defender article describing passive mode.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer to add a NOTE disclaimer that rebooting will leave Windows Defender in passive mode when a 3P AV product installed and a link to the Defender article describing passive mode.

This works too however, once they come out of sync, there is no-way to get them back in-sync without making changes to the policy, forcing an update, then setting the original policy back and forcing an update.

If the customer follows the guidance to set the regkey and reboot, on reboot, calling 'CiTool.exe -r' alone in the future will not change this behavior.

Is this something else we want to give guidance on and support?

Example of how this would be done:

$Workfolder = "C:\temp"
mkdir $Workfolder -Force
$ActiveFolder = "C:\Windows\System32\CodeIntegrity\CiPolicies\Active"
$ExampleFolder = "C:\Windows\schemas\CodeIntegrity\ExamplePolicies"
$ExamplePolicy = "AllowAll.xml"
$XMLFile = $Workfolder + "" + $ExamplePolicy
Copy-Item $ExampleFolder$ExamplePolicy $XMLFile
Set-CIPolicyIdInfo -ResetPolicyID -FilePath $XMLFile
[xml]$tempXML = Get-Content $XMLFile
$PolicyGUID = $tempXML.SiPolicy.PolicyID
Set-RuleOption -Option 3 -FilePath $XMLFile
Set-RuleOption -Option 14 -FilePath $XMLFile
$ActiveFullPath = $ActiveFolder + "" + $PolicyGUID + ".cip"
ConvertFrom-CIPolicy -XmlFilePath $XMLFile -BinaryFilePath $ActiveFullPath
citool -r -json
Set-RuleOption -Option 14 -FilePath $XMLFile -Delete
ConvertFrom-CIPolicy -XmlFilePath $XMLFile -BinaryFilePath $ActiveFullPath
citool -r -json
Remove-Item $ActiveFullPath -Force
citool -r -json

@vinaypamnani-msft
Copy link
Contributor

I've implemented the changes and resolved the merge conflict in a PR in the private repo. The changes will be live later today. Closing this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants