开启Windows Defender Application Control(WDAC)白名单可拦截未签名恶意程序,仅限Win10专业版/企业版/教育版,需管理员权限、关闭内存完整性并执行三步策略部署及验证。

Win10系统被勒索病毒加密前,往往先运行一个未经签名的恶意可执行文件,比如伪装成PDF、Excel或从钓鱼邮件附件释放的exe程序;开启应用程序白名单模式后,这类未经授权的程序双击即被拦截,连进程都无法创建。
确认系统版本与权限前提
白名单功能依赖Windows Defender Application Control(WDAC),仅在Win10专业版、企业版或教育版中可用,家庭版不支持。请先按Win+R输入winver回车,确认版本号末尾含Pro、Enterprise或Education字样。
必须使用管理员账户登录,并以管理员身份运行PowerShell——右键“开始”按钮→选择“Windows PowerShell(管理员)”,否则后续所有策略部署都会失败。
【未启用设备防护中的“内核隔离”会导致WDAC策略无法加载】请进入“设置→更新和安全→Windows安全中心→设备安全性→内核隔离”,关闭“内存完整性”开关,重启后再操作。
生成并部署基础白名单策略
第一步:在PowerShell(管理员)中执行以下命令,生成默认允许Microsoft签名应用的策略模板:
New-CIPolicy -Level Publisher -Fallback Hash -FilePath C:\Temp\BaselinePolicy.xml -UserPEs
第二步:将XML策略转换为二进制格式,这是系统唯一能加载的格式:
ConvertFrom-CIPolicy C:\Temp\BaselinePolicy.xml C:\Temp\BaselinePolicy.bin
第三步:启用策略并立即生效:
Set-RuleOption -FilePath C:\Temp\BaselinePolicy.bin -Option 3→CiTool --install C:\Temp\BaselinePolicy.bin
这一步完成后,所有未被微软数字签名的.exe、.scr、.ps1等可执行文件将被直接拒绝运行,包括勒索病毒释放的dropper。注意:该策略不影响已安装的Office、Chrome、微信等主流软件,它们均有有效签名。
添加自定义可信程序(如内部ERP或旧版财务软件)
方法一:通过文件路径添加单个程序
在PowerShell(管理员)中运行:Add-CIPolicyRule -FilePath C:\Temp\BaselinePolicy.xml -DriverFilePath "D:\ERP\client.exe",再重新转换并安装bin文件。
方法二:批量导入已知安全程序的签名
把你要放行的全部程序复制到一个空文件夹(如C:\TrustedApps),然后执行:New-CIPolicy -Level FilePublisher -FilePath C:\Temp\CustomPolicy.xml -ScanPath C:\TrustedApps,合并进主策略再部署。
注意:不要把整个Program Files目录设为可信源,这会绕过白名单效果。只添加真正必需且无法更新签名的遗留程序。
验证白名单是否生效
新建一个测试用的空文本文件,重命名为test.exe,双击运行。如果弹出“此应用无法在你的电脑上运行”的提示,说明WDAC已起作用。
查看当前策略状态:在PowerShell(管理员)中输入Get-CIPolicyInfo -FilePath C:\Temp\BaselinePolicy.bin,输出中应显示Enabled: True和PolicyID值。
若需临时禁用策略排查问题,运行:CiTool --remove,但切勿长期关闭。

















