跳转至

易受攻击驱动黑名单机制与关闭代价

定位:安全机制说明。本文只解释机制与代价,不提供关闭操作指引

适用场景:遇到"某驱动/工具被 Windows 阻止加载"时,判断是否为该机制所致,以及评估关闭它的后果。

一、它防的是什么

Windows 内核不允许未签名或来源不明的代码进入 Ring 0。攻击者于是转向已经合法签名、但自身存在提权漏洞的第三方内核驱动——把这类老驱动加载进内核,再借漏洞取得内核权限。这条攻击路径在业界称为 BYOVD(Bring Your Own Vulnerable Driver)。

微软的对策是维护一份易受攻击驱动黑名单(Microsoft vulnerable driver blocklist):名单内的驱动在加载阶段即被拒绝,即使它签名合法。名单由微软安全响应中心维护,每季度更新,并通过每月 Windows 更新随系统下发。

二、生效条件

系统版本 默认状态
Windows 10 1809 引入 可选功能,默认关闭
Windows 11 22H2 起 默认对所有设备启用,可在「Windows 安全中心 → 设备安全性 → 内核隔离」中开关
HVCI(内存完整性)、Smart App Control 或 S 模式处于活动状态时 强制生效,不受单独开关影响(Windows Server 2016 除外)

即:只要开启了内存完整性(HVCI),黑名单就是强制执行的;想在 HVCI 开启时绕过它,只能先关掉 HVCI。

三、关闭它的实际做法与代价

社区教程(多为让 RW-Everything 一类直读硬件的工具能运行)通常只给一条命令:

路径:HKLM\SYSTEM\CurrentControlSet\Control\CI\Config
值:  VulnerableDriverBlocklistEnable  (REG_DWORD)
      1 = 启用(默认)
      0 = 关闭

同一位置还有 RevocationListLcuKirValue 等与吊销列表相关的值。

关闭的代价是明确且不对等的:

  • 你用"能运行某个直读内核/硬件寄存器的工具"换来了"整个系统放弃内核级已知漏洞驱动的拦截";
  • 攻击者或恶意软件只要携带一个名单内的老驱动,即可直接进入内核态,普通杀软与 EDR 在这一层基本无效;
  • 该机制与 HVCI 联动,关闭它通常意味着也在弱化 HVCI 体系;
  • 微软官方立场是推荐使用显式白名单(App Control for Business)而非关闭黑名单;若确实需要放行特定驱动,正确做法是把该驱动加入白名单策略,而不是关掉整份黑名单。

📌 判断当前状态(只读,安全):

Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\CI\Config' |
  Select-Object VulnerableDriverBlocklistEnable

也可在事件查看器 应用程序和服务日志 → Microsoft → Windows → CodeIntegrity → Operational 中筛选 事件 ID 3099,确认策略已被刷新并激活。

四、与其他绕过手段的对比

目的 关闭黑名单 更合适的替代
运行需要直读 MSR / 物理内存的工具 放弃整机内核防护 在虚拟机中运行;或仅在明确知道后果时短期开启并立即恢复
让某个被拦的旧驱动加载 同上,且波及所有名单内驱动 使用 App Control for Business 显式白名单放行该驱动;或更新到已修复版本的驱动
缓解"驱动被拦导致外设异常" 不对症 更新厂商驱动;查 CodeIntegrity 日志确认拦截事件后再定向处理

五、与安全中心的对应关系

同一件事在不同入口有不同名字:

  • 设置 → 隐私和安全性 → Windows 安全中心 → 设备安全性 → 内核隔离 → Microsoft 易受攻击的驱动程序阻止列表
  • 与之并列的 内存完整性(HVCI) 开启时,会强制启用该黑名单。

两者的关系与 HVCI 本身的开关方法见 VBS 与系统安全缓解

事实核查记录

声明 核查结果
黑名单用于拦截存在提权漏洞的已签名第三方内核驱动(BYOVD 防护) ✅ 属实:微软官方文档《Microsoft recommended driver block rules》明确列出三类拦截对象(存在已知提权漏洞、恶意行为、绕过 Windows 安全模型的行为)
Windows 10 1809 引入为可选;Windows 11 22H2 起默认对所有设备启用,可在 Windows 安全中心开关 ✅ 属实:微软支持文档 KB5020779 与《Microsoft recommended driver block rules》两处一致
HVCI、Smart App Control 或 S 模式活动时黑名单强制生效(Windows Server 2016 除外) ✅ 属实:微软官方文档原文 "Except on Windows Server 2016, the vulnerable driver blocklist is also enforced when either memory integrity (HVCI), Smart App Control, or S mode is active"
每季度更新,随每月 Windows 更新下发 ✅ 属实:微软官方文档 "The blocklist is updated quarterly. In addition, blocklist updates are delivered through the monthly Windows updates."
注册表位置为 HKLM\SYSTEM\CurrentControlSet\Control\CI\Config 下的 VulnerableDriverBlocklistEnable1=启用、0=关闭 ✅ 属实:微软 Q&A 与 KB5020779 中的排查流程均以该值判断状态;本机实测该键存在且含 VulnerableDriverBlocklistEnableRevocationListLcuKirValue 两个值
微软推荐用 App Control for Business 白名单替代关闭黑名单 ✅ 属实:官方文档建议启用 HVCI 或 S 模式,"If this setting isn't possible, Microsoft recommends blocking this list of drivers within your existing App Control for Business policy"
关闭后内核级防护缺失、常规杀软难以覆盖该层 ✅ 属实:官方文档说明黑名单可阻止已存在于系统中的驱动加载,而 ASR 规则仅阻止写入磁盘、不阻止已存在驱动加载
事件 ID 3099 可用于确认策略激活 ✅ 属实:官方文档给出的验证步骤为在 CodeIntegrity/Operational 日志中筛选 3099 并比对 PolicyNameBuffer / PolicyIdBuffer

参考链接: