Windows Defender 将 OpenHardwareMonitorLib.sys(WinRing0 驱动)标记为 VulnerableDriver:WinNT/Winring0,原因是 CVE-2020-14979。该驱动与 Intel 的 NUC Software Studio 服务捆绑,并通过 Windows Update 重新安装。
本仓库提供永久解决方案。
performancedriverextension.inf 安装 NucSoftwareStudioServiceOpenHardwareMonitorLib.sys(WinRing0 内核驱动)Intel Corporation - Extension - 1.0.0.38 不断重新安装Intel NUC Performance Driver(ACPI\INTC1036)是一个 ACPI 设备,负责暴露 NUC 特定功能:
易受攻击的扩展挂载到此基础驱动上。Windows Update 检测到该设备后,会为其提供驱动更新。
此方案通过组策略完全禁用 ACPI 设备,阻止任何驱动加载。
以管理员身份运行 scripts/disable-device-gpo.ps1,或手动执行:
# 以管理员身份运行
.\scripts\disable-device-gpo.ps1
保留基础驱动,但阻止所有针对该设备的 Windows Update 驱动安装。
权衡取舍:
以管理员身份运行 scripts/block-driver-updates.ps1。
持久性较弱 - 如果 Intel 发布新版本,需要重新隐藏。
以管理员身份运行 scripts/remove-and-hide.ps1。
检查当前状态:
.\scripts\diagnose.ps1
| 组件 | 路径 |
|---|---|
| 服务可执行文件 | C:\WINDOWS\System32\DriverStore\FileRepository\performancedriverextension.inf_amd64_*\Service\NucSoftwareStudioService.exe |
应用任何解决方案后,请验证:
# 检查服务是否消失
sc.exe query NucSoftwareStudioService
# 检查是否有未决的 Intel 扩展更新
# (运行 scripts/diagnose.ps1 查看完整状态)
场景: 验证组策略设备阻止(选项 A)能否在 Windows Update 尝试安装易受攻击驱动后仍然生效。
测试步骤:
ACPI\INTC1036 应用 GPO 阻止(设备已禁用)Windows Update 安装该包后的结果:
关键发现: GPO 设备阻止是有效的保护层。Windows Update 可以将驱动包暂存至驱动存储,但无法激活,因为硬件 ID 已被阻止。易受攻击的 .sys 文件从未被提取或加载。
确认 GPO 阻止生效后,完成完整清理:
pnputil /delete-driver oem17.infwushowhide.diagcab 隐藏 Intel 扩展更新最终验证状态:
仅硬件 ID 阻止就足以提供充分保护。
测试证明,通过组策略阻止 ACPI\INTC1036 可以防止易受攻击驱动加载,即使 Windows Update 成功下载并暂存了驱动包。由于目标设备已被禁用,服务可执行文件和 .sys 文件永远不会被提取。
推荐最小配置:
ACPI\INTC1036 的 GPO 设备阻止 —— 这是唯一必需的防护措施此方法的简洁性正是其优势:一个基于注册表的设备阻止就能提供完整保护,而不会干扰其他设备的正常 Windows Update 功能。
当 Intel NUC Performance Driver 设备(ACPI\INTC1036)被禁用时:
不再可用:
仍然正常工作:
为什么这对大多数用户是可接受的: NUC Performance Driver 主要实现风扇/LED 行为的软件定制。BIOS 提供了无需任何 Windows 驱动即可正常工作的默认配置。大多数用户会在 BIOS 中设置一次风扇曲线,之后再也不碰。如果你需要基于 Windows 的动态风扇控制(例如,自动切换的游戏配置),选项 A 可能不合适——考虑选项 B。
# 移除组策略阻止
Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" -Recurse -Force
# 重新启用设备
$device = Get-PnpDevice | Where-Object { $_.InstanceId -like '*INTC1036*' }
Enable-PnpDevice -InstanceId $device.InstanceId -Confirm:$false
Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" -Recurse -Force
如果您有其他发现或改进建议,请提交 Issue 或 PR。
MIT 许可证 - 使用风险自负。始终在运行前验证脚本,并以管理员身份执行。
| 易受攻击驱动 | ...\Service\OpenHardwareMonitorLib.sys |
| 基础驱动 inf | oem*.inf (PerformanceDriver) |
| 扩展 inf | performancedriverextension.inf |
| 检查项 | 结果 |
|---|
| NucSoftwareStudioService | 未找到(良好) |
| 驱动存储 | performancedriverextension.inf 暂存为 oem17.inf |
| OpenHardwareMonitorLib.sys | 未提取(良好) |
| 设备 INTC1036 | 已禁用 - GPO 维持 |
| GPO 阻止注册表项 | 生效 |
| 组件 | 状态 |
|---|
| NucSoftwareStudioService | 未找到 ✓ |
| 驱动存储(performancedriverextension.inf) | 已清除 ✓ |
| OpenHardwareMonitorLib.sys | 不存在 ✓ |
| Intel NUC Performance Driver 设备 | 已禁用 ✓ |
| 组策略设备阻止 | 生效(INTC1036 已阻止) ✓ |
| Intel 扩展更新 | 已隐藏 ✓ |