맬웨어 방지 조기 실행 테스트 필수 구성 요소
이 섹션에서는 Windows HLK(Windows 하드웨어 랩 키트)를 사용하여 ELAM(맬웨어 방지 조기 실행) 드라이버를 테스트하기 전에 완료해야 하는 작업에 대해 설명합니다.
ELAM 소프트웨어 기능은 맬웨어 방지 소프트웨어가 다른 모든 타사 구성 요소보다 먼저 시작될 수 있도록 하는 Microsoft 지원 메커니즘을 제공합니다. 시스템은 먼저 맬웨어 방지 드라이버를 초기화하고 이러한 드라이버가 부팅 드라이버의 초기화를 제어하여 시스템에서 알 수 없는 부팅 드라이버를 초기화하지 않도록 합니다. 부팅 프로세스가 부팅 드라이버를 초기화하고 영구 스토리지에 대한 액세스를 효율적으로 사용할 수 있게 된 후에는 기존 맬웨어 방지 소프트웨어가 맬웨어 실행을 계속 차단할 수 있습니다.
자세한 내용은 펌웨어 및 부팅 환경을 참조하세요.
하드웨어 요구 사항
테스트하려면 다음 하드웨어가 필요합니다.
- 두 대의 테스트 컴퓨터. 이러한 테스트 컴퓨터는 Windows HLK 필수 구성 요소를 충족해야 하며 동일한 컴퓨터 풀에 포함되어야 합니다. 자세한 내용은 Windows HLK 필수 구성 요소를 참조하세요.
참고
서버에서 사용할 제품을 인증하려면 테스트 컴퓨터에서 4개의 프로세서와 최소 1GB의 RAM을 지원해야 합니다. 이러한 시스템 기능은 디바이스 및 드라이버의 리밸런스, D3 상태 및 여러 프로세서 그룹 기능을 테스트하는 데 필요합니다. 실제로 64개 이상의 프로세서가 있는 컴퓨터는 디바이스를 테스트하는 데 필요하지 않습니다. 또한 디바이스 또는 드라이버를 테스트하는 데 사용되는 서버 시스템에는 테스트 전에 Server Core가 설치되어 있어야 합니다. 자세한 내용은 Windows Server 설치 옵션을 참조하세요.
테스트 컴퓨터 풀을 사용하여 제품을 테스트하는 경우 풀에 있는 하나 이상의 컴퓨터에는 4개의 프로세서와 최소 1GB의 RAM이 있어야 합니다. 또한 해당 컴퓨터에 테스트하려는 제품이 포함되어야 합니다. 드라이버가 풀의 모든 컴퓨터에서 동일한 경우 시스템에서 모든 테스트 컴퓨터에 대해 실행할 일정을 만듭니다.
하드 디스크 드라이브 테스트와 같이 테스트할 드라이버가 포함되지 않은 테스트의 경우 Windows HLK 스케줄러는 기본 테스트 컴퓨터에서 실행할 디바이스 및 드라이버의 리밸런스, D3 상태, 여러 프로세서 그룹 기능의 유효성을 검사하는 테스트를 제한합니다. 이 컴퓨터는 여러 프로세서 그룹을 갖도록 수동으로 구성해야 합니다. 기본 컴퓨터는 목록의 첫 번째 테스트 컴퓨터입니다. 테스트 담당자는 목록의 첫 번째 테스트 컴퓨터에서 최소 하드웨어 요구 사항을 충족하는지 확인해야 합니다.
참고
반가상화 드라이버를 제외하고(WHCP 정책 및 프로세스 문서에 정의된 대로) 서버 인증 또는 서명에 대해 물리적 디바이스 및 관련 드라이버를 테스트하는 경우 어떤 형태의 가상화도 사용할 수 없습니다. 모든 가상화 제품은 여러 프로세서 그룹, 디바이스 전원 관리, 디바이스 PCI 기능 및 기타 테스트와 관련된 테스트를 통과하는 데 필요한 기본 기능을 지원하지 않습니다.
참고
여러 프로세서 그룹 설정의 경우 인증을 위해 Windows Server 2008 R2 이상 장치 드라이버의 Hardware Lab Kit 테스트에 대한 프로세서 그룹 크기 값을 설정해야 합니다. 이 작업은 /set 옵션을 사용하여 관리자 권한 명령 프롬프트 창에서 bcdedit를 실행하여 수행됩니다.
그룹 설정을 추가하고 다시 시작하는 명령은 다음과 같습니다.
bcdedit.exe /set groupsize 2
bcdedit.exe /set groupaware on
shutdown.exe -r -t 0 -f
그룹 설정을 제거하고 다시 부팅하는 명령은 다음과 같습니다.
bcdedit.exe /deletevalue groupsize
bcdedit.exe /deletevalue groupaware
shutdown.exe -r -t 0 -f
참고
코드 무결성 설정
Windows Server 2016의 VBS(가상화 기반 보안) 기능은 먼저 서버 관리자를 통해 사용하도록 설정해야 합니다.
이 작업이 수행되면 다음 레지스트리 키를 만들고 설정해야 합니다.
HKLM\System\CurrentControlSet\Control\DeviceGuard
HypervisorEnforcedCodeIntegrity:REG_DWORD
0 or 1 (disabled, enabled)
소프트웨어 요구 사항
테스트하려면 다음 소프트웨어가 필요합니다.
테스트 중인 드라이버
경고
Windows HLK 클라이언트를 설치하기 전에 테스트 컴퓨터에 제품을 설치해야 합니다.
최신 Windows HLK 필터 또는 업데이트
테스트 컴퓨터 구성
서명되지 않은 커널 모드 드라이버를 테스트하는 경우 다음 옵션 중 하나를 선택합니다.
커널 디버거를 연결합니다. 이 경우 시스템은 드라이버 서명을 확인하거나 적용하지 않습니다. 따라서 드라이버에 확인된 인증서가 없거나 드라이버가 서명되지 않은 경우에도 모든 드라이버를 로드할 수 있습니다.
makecert.exe 파일을 사용하여 자체 서명된 인증서를 만듭니다. 인증서에는 1.3.6.1.5.5.7.3.3(코드 서명) 및 1.3.6.1.4.1.311.61.4.1(조기 실행) EKU가 포함되어야 합니다. 그런 다음, 보안 부팅을 사용하지 않도록 설정하거나(사용하도록 설정된 경우) 보안 부팅 디버깅을 사용하도록 설정하고 bcdedit /set testsigning on 명령을 사용하여 컴퓨터를 테스트 모드로 전환합니다. 테스트 모드에서 시스템은 서명의 유효성을 검사하고 EKU를 확인하지만 인증서 체인은 확인하지 않습니다.
테스트를 시작하기 전에 테스트 컴퓨터가 준비 상태인지 확인합니다. 테스트를 실행하기 전에 매개변수를 설정해야 하는 경우 해당 테스트에 대한 대화 상자가 표시됩니다. 자세한 내용은 특정 테스트 항목을 검토하세요.
일부 Windows HLK 테스트에는 사용자 개입이 필요합니다. 제출을 위해 테스트를 실행하는 경우 수동 테스트와 별도로 블록에서 자동화된 테스트를 실행하는 것이 가장 좋습니다. 이렇게 하면 수동 테스트가 자동화된 테스트의 완료를 방해하지 않도록 할 수 있습니다.