CVE-2017-5715(분기 대상 주입)에서 게스트 가상 머신 보호

이 페이지에서는 CVE-2017-5715(분기 대상 삽입)에서 Hyper-V 호스트의 가상 머신을 보호하는 방법에 대한 추가 세부 정보를 제공합니다. 일반적인 Windows Server 지침은 이 페이지를 참조하세요.

가상 머신이 보호되도록 하려면 다음 단계가 필요합니다.

  1. 호스트 운영 체제를 업데이트합니다.
  2. 가상화 호스트가 CVE-2017-5715에 대한 업데이트가 포함된 펌웨어로 업데이트되었는지 확인합니다.
  3. Hyper-V가 게스트 가상 컴퓨터에 새 프로세서 기능을 제공하도록 구성되어 있는지 확인합니다.
  4. 필요에 따라 게스트 운영 체제를 업데이트합니다.
  5. 게스트 가상 머신의 콜드 부팅을 수행합니다.

호스트 운영 체제 업데이트

가상화 호스트에 Windows 운영 체제 업데이트를 적용합니다. 이 업데이트를 사용하도록 설정하는 방법에 대한 자세한 내용은 Microsoft 기술 자료 문서 4072699 참조하세요.

가상화 호스트가 CVE-2017-5715에 대한 업데이트가 포함된 펌웨어로 업데이트되었는지 확인합니다.

OEM의 펌웨어 업데이트에는 CVE-2017-5715(IBRS, STIBP, IBPB)로부터 보호하는 데 사용할 수 있는 새로운 프로세서 기능이 포함될 수 있습니다. 가상화 호스트의 펌웨어가 업데이트되면 하이퍼바이저는 다음 단계를 수행한 후 게스트 가상 머신에서 이러한 추가 기능을 사용할 수 있도록 할 수 있습니다.

Hyper-V가 게스트 가상 머신에 새 프로세서 기능을 노출하도록 구성되어 있는지 확인합니다.

Hyper-V가 게스트 가상 머신에 새 프로세서 기능을 노출하도록 구성되어 있는지 확인합니다. 이 구성은 게스트 가상 머신의 VM 버전을 기반으로 합니다.

호스트의 모든 가상 머신이 VM 버전 8.0 이상인 경우 구성이 필요하지 않습니다. 이러한 가상 머신은 콜드 부팅 후 새 프로세서 기능을 볼 수 있습니다.

VM 버전이 8.0 미만인 가상 머신이 있는 경우 호스트 운영 체제에서 특정 레지스트리 값을 설정해야 합니다. 그러면 하위 VM 버전이 있는 게스트 가상 머신에 새 프로세서 기능을 노출하도록 Hyper-V가 구성됩니다.

해당 레지스트리 값은 아래에 있습니다 MinVmVersionForCpuBasedMitigationsHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization. 값은 업데이트된 펌웨어 기능에 액세스해야 하는 최소 VM 버전("Major.Minor" 형식)으로 설정해야 합니다. 호스트의 모든 가상 머신(예: 버전 1.0 이상)에 펌웨어를 노출하려면 호스트에서 다음 명령을 실행합니다.

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f

VM 버전 8.0은 Windows Server 2016 및 Windows 10 1주년 업데이트와 함께 도입되었습니다. Windows Server 2012 R2 이하를 실행하는 호스트는 레지스트리 값을 설정해야 합니다*

업데이트된 펌웨어가 있는 호스트와 업데이트된 펌웨어가 없는 호스트 간에 실시간 마이그레이션이 실패합니다. 저장된 상태에서 시작 작업이 실패합니다. 자세한 내용은 이 문서의 맨 아래에 있는 FAQ를 참조하세요.

선택 사항: Retpoline 을 사용하도록 Skylake 이전 Intel 시스템 구성

Retpoline에 대한 Skylake Intel 이전 호스트에서 VM을 구성하면 최신 호스트(예: Skylake 이상)로의 실시간 마이그레이션이 차단됩니다.

기본적으로 Skylake 이전 시스템에서 실행되는 가상 머신은 리포지토리를 사용할 수 없습니다. 이러한 시스템이 리포지토리 기반 완화를 활용할 수 있도록 하려면 에서 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization1설정합니다RetsPredictedFromRsbOnly.

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v RetsPredictedFromRsbOnly /t REG_DWORD /d 1 /f

이 구성을 반대로 되돌리려면(즉, 가상 머신이 리포지토리를 활용하지 못하도록 방지) 를 로 0설정합니다RetsPredictedFromRsbOnly.

게스트 운영 체제 업데이트

이러한 가상 머신 내에서 CVE-2017-5715에 대한 보호를 완료하려면 게스트 운영 체제를 업데이트하고 이러한 새로운 기능을 활용하도록 구성해야 합니다. Microsoft 운영 체제의 경우 업데이트할 때 이 문서의 지침을 따르세요.

참고: 게스트 운영 체제 업데이트는 이 프로세스에서 언제든지 발생할 수 있습니다. 호스트 펌웨어를 업데이트하기 전에 또는 게스트 가상 머신을 콜드 부팅한 후에 발생할 수 있습니다.

게스트의 콜드 부팅 수행

처음 세 단계를 완료한 후 가상 머신은 콜드 부팅을 통해 새 프로세서 기능을 확인해야 합니다. 즉, 다시 시작하기 전에 실행 중인 VM의 전원이 완전히 꺼져야 합니다. 게스트 운영 체제 내에서 다시 부팅하는 것으로는 충분하지 않습니다.

FAQ

이는 실시간 마이그레이션에 어떤 영향을 미치나요?

업데이트된 펌웨어 없이 Hyper-V 호스트로 이동할 때 새 프로세서 기능이 있는 가상 머신의 실시간 마이그레이션이 실패합니다. 업데이트된 펌웨어가 없는 호스트로 실시간 마이그레이션을 수행하려면 해당 게스트 가상 컴퓨터에서 업데이트된 프로세서 기능 제공을 중지하세요. 이 작업을 수행하는 가장 쉬운 방법은 마이그레이션해야 하는 가상 머신보다 높은 VM 버전으로 수정 MinVmVersionForCpuBasedMitigations 하고 해당 가상 머신의 콜드 부팅을 수행하는 것입니다.

업데이트된 펌웨어를 사용하여 Hyper-V 호스트로 이동할 때 새 프로세서 기능이 없는 가상 머신 마이그레이션이 성공합니다. 그러나 이러한 게스트가 업데이트된 펌웨어 기능을 보려면 콜드 부팅이 필요합니다.

Skylake Intel 이전 시스템에서 리포지토리를 사용하도록 구성된 가상 머신은 최신 프로세서 제품군(예: Skylake 이상)으로 마이그레이션하지 못합니다.

Windows Server 2012R2와 Windows Server 2016 간에 버전 5.0 가상 머신의 실시간 마이그레이션은 어떻습니까?

이 시나리오에서 성공하려면 레지스트리 값이 Windows Server 2012R2 시스템과 Windows Server 2016 시스템 모두에서 설정되어야 합니다. Windows Server 2016 마이그레이션한 후 VM 버전은 5.0으로 유지되므로 새 프로세서 기능을 가상 머신에 노출하려면 레지스트리 키가 필요합니다.

이 지침은 VMWare에서 실행되는 가상 머신에 적용됩니까?

아니요, 이 지침은 Hyper-V 호스트에서 실행되는 가상 머신에만 적용됩니다.

이 지침은 Windows 10 Hyper-V에 적용됩니까?

예, Windows Server와 클라이언트 모두에서 실행되는 가상 머신에도 동일한 단계가 적용됩니다.

가상 머신의 콜드 부팅을 수행하기 전에 펌웨어 업데이트를 설치해야 하나요?

예, 가상 머신을 콜드 부팅하기 전에 호스트 운영 체제 및 펌웨어를 업데이트해야 합니다.

OEM이 아직 업데이트된 펌웨어를 제공하지 않는 경우 어떻게 해야 하나요?

투기적 실행 사이드 채널 취약성에 대해 Windows Server 2016 Hyper-V 호스트에 대한 대체 보호를 검사.

내 가상 머신에 대한 VM 버전을 어떻게 할까요? 검사?

Hyper-V 호스트에서 다음 PowerShell을 실행합니다.

Get-VM * | Format-Table Name, Version  

"프로세서 호환 모드"에서 실행되는 가상 머신을 보호하기 위해 다른 작업을 수행해야 하나요?

아니요. 이 페이지의 지침에 따라 새 프로세서 기능도 프로세서 호환 모드에서 시작된 가상 머신에 노출됩니다.

클러스터에 있는 컴퓨터의 절반만 펌웨어 업데이트를 받은 경우 어떻게 해야 할까요?

이는 클러스터 내의 실시간 마이그레이션에 영향을 미칩니다. 새 프로세서 기능이 있는 가상 머신은 펌웨어 업데이트 없이 호스트로 실시간 마이그레이션할 수 없습니다.

게스트 가상 머신이 새 프로세서 기능에 액세스할 수 있는지 확인하려면 어떻게 해야 하나요?

"추측 컨트롤" PowerShell 모듈/스크립트를 사용합니다. 자세한 지침은 이 페이지를 참조하세요.

이렇게 하면 저장 상태가 있는 VM의 시작 작업에 어떤 영향을 주나요?

시작 작업이 실패합니다. 이 작업을 수행하는 가장 쉬운 방법은 마이그레이션해야 하는 가상 머신보다 높은 VM 버전으로 수정 MinVmVersionForCpuBasedMitigations 하고 해당 가상 머신의 콜드 부팅을 수행하는 것입니다.