
Windows Update를 통한 Intel NUC WinRing0 취약 드라이버(CVE-2020-14979) 재설치에 대한 영구 수정
Windows Defender는 OpenHardwareMonitorLib.sys(WinRing0 드라이버)를 CVE-2020-14979로 인해 VulnerableDriver:WinNT/Winring0로 플래그합니다. 이 드라이버는 Intel의 NUC Software Studio 서비스에 번들로 제공되며 Windows Update를 통해 다시 설치됩니다.
이 저장소는 영구적인 해결책을 제공합니다.
performancedriverextension.inf가 NucSoftwareStudioService를 설치합니다.OpenHardwareMonitorLib.sys(WinRing0 커널 드라이버)를 배포합니다.Intel Corporation - Extension - 1.0.0.38이 계속해서 재설치합니다.Intel NUC 성능 드라이버(ACPI\INTC1036)는 NUC 특정 기능을 노출하는 ACPI 장치입니다:
취약한 확장 기능이 이 기본 드라이버에 연결됩니다. Windows Update는 장치를 보고 드라이버 업데이트를 제공합니다.
그룹 정책을 통해 ACPI 장치를 완전히 비활성화하여 드라이버 로드를 방지합니다.
관리자 권한으로 scripts/disable-device-gpo.ps1을 실행하거나 수동으로 수행하십시오:
# Run as Administrator
.\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 |
솔루션 적용 후 확인:
# Check service is gone
sc.exe query NucSoftwareStudioService
# Check no pending Intel extension updates
# (Run scripts/diagnose.ps1 for full status)
시나리오: 그룹 정책 장치 차단(옵션 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 성능 드라이버 장치(ACPI\INTC1036)가 비활성화되면:
더 이상 사용할 수 없음:
여전히 정상 작동:
대부분의 사용자에게 이것이 수용 가능한 이유: NUC 성능 드라이버는 주로 팬/LED 동작의 소프트웨어 사용자 지정을 가능하게 합니다. BIOS는 Windows 드라이버 없이 작동하는 기본 프로필을 제공합니다. 대부분의 사용자는 BIOS에서 팬 곡선을 한 번 설정하고 다시는 건드리지 않습니다. 동적인 Windows 기반 팬 제어(예: 자동 전환 게임 프로필)가 필요한 경우 옵션 A는 적합하지 않을 수 있습니다. 대신 옵션 B를 고려하십시오.
# Remove the Group Policy block
Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" -Recurse -Force
# Re-enable the device
$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
추가 발견 사항이나 개선 사항이 있으면 이슈 또는 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 성능 드라이버 장치 | 비활성화됨 ✓ |
| 그룹 정책 장치 차단 | 활성 (INTC1036 차단됨) ✓ |
| Intel 확장 업데이트 | 숨겨짐 ✓ |