Protegendo máquinas virtuais convidadas contra CVE-2017-5715 (injeção de destino de ramificação)Protecting guest virtual machines from CVE-2017-5715 (branch target injection)

Esta página fornece detalhes adicionais sobre a proteção de máquinas virtuais em hosts Hyper-V contra CVE-2017-5715 (injeção de destino de ramificação).This page provides additional detail about protecting virtual machines on Hyper-V hosts from CVE-2017-5715 (branch target injection). Para obter orientações gerais do Windows Server, consulte esta página.For general Windows Server guidance, please refer to this page.

As seguintes etapas são necessárias para garantir que as máquinas virtuais estejam protegidas:The following steps are required to ensure that your virtual machines are protected:

  1. Atualizar o sistema operacional do host.Update the host operating system.
  2. Garantir que o host de virtualização tenha sido atualizado para o firmware que contenha atualizações para CVE-2017-5715.Ensure the virtualization host has been updated to firmware which contains updates for CVE-2017-5715.
  3. Garantir que o Hyper-V esteja configurado para expor novos recursos de processador a máquinas virtuais convidadas.Ensure Hyper-V is configured to expose new processor capabilities to guest virtual machines.
  4. Atualizar o sistema operacional convidado conforme necessário.Update the guest operating system as required.
  5. Realizar uma inicialização a frio de máquinas virtuais convidadas.Perform a cold boot of guest virtual machines.

Atualizar o sistema operacional do hostUpdate the host operating system

Aplique a atualização do sistema operacional Windows ao host de virtualização.Apply the Windows operating system update to the virtualization host. Para obter detalhes sobre como habilitar essa atualização, consulte o artigo 4072699 da Base de Dados de Conhecimento Microsoft.For details about how to enable this update, see Microsoft Knowledge Base article 4072699.

Garantir que o host de virtualização tenha sido atualizado para o firmware que contenha atualizações para CVE-2017-5715Ensure the virtualization host has been updated to firmware which contains updates for CVE-2017-5715

Atualizações de firmware de seu OEM podem conter novos recursos de processador que podem ser usados para proteger contra CVE-2017-5715 (IBRS, STIBP, IBPB).Firmware updates from your OEM may contain new processor capabilities that can be used to protect against CVE-2017-5715 (IBRS, STIBP, IBPB). Depois que o firmware do host de virtualização for atualizado, o hipervisor poderá disponibilizar esses recursos adicionais a máquinas virtuais convidadas após seguir estas etapas.Once the virtualization host's firmware has been updated, the hypervisor can make these additional capabilities available to guest virtual machines after taking the following steps.

Garantir que o Hyper-V esteja configurado para expor novos recursos de processador a máquinas virtuais convidadasEnsure Hyper-V is configured to expose new processor capabilities to guest virtual machines

Verifique se o Hyper-V está configurado para expor os novos recursos de processador em máquinas virtuais convidadas.Ensure that Hyper-V is configured to expose the new processor capabilities into guest virtual machines. Essa configuração baseia-se na versão de VM das máquinas virtuais convidadas.This configuration is based on the VM version of the guest virtual machines.

Se todas as máquinas virtuais no host tiverem a versão de VM 8.0 ou superior, nenhuma configuração será necessária.If all of the virtual machines on the host are VM version 8.0 or higher, then no configuration is required. Essas máquinas virtuais verão os novos recursos de processador após uma inicialização a frio.These virtual machines will see the new processor capabilities after a cold boot.

Se houver alguma máquina virtual com versão de VM inferior a 8.0, você deverá definir um valor do Registro específico no sistema operacional do host.If there are any virtual machines with VM version below 8.0, you must set a specific registry value on the host operating system. Isso configurará o Hyper-V para expor os novos recursos de processador a máquinas virtuais convidadas com versões de VM inferiores.This will configure Hyper-V to expose the new processor capabilities into guest virtual machines with lower VM versions.

Esse valor do Registro é MinVmVersionForCpuBasedMitigations em HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization.That registry value is MinVmVersionForCpuBasedMitigations under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization. O valor deve ser definido para a versão mínima de VM que precisa de acesso aos recursos do firmware atualizado, no formato “Principal.Secundária”.The value should be set to the minimum VM version that needs access to the updated firmware capabilities, in the format “Major.Minor”. Para expor o firmware a todas as máquinas virtuais no host (isto é, versão 1.0 e superiores), execute o seguinte comando no host:To expose the firmware to all virtual machines on the host (i.e. version 1.0 and above), run the following command on the host:

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

Observação: a versão 8,0 da VM foi introduzida com o Windows Server 2016 e a atualização de aniversário do Windows 10. Hosts que executam o Windows Server 2012 R2 e abaixo devem definir o valor do registroNote: VM Version 8.0 was introduced with Windows Server 2016 and the Windows 10 Anniversary Update. Hosts running Windows Server 2012 R2 and below must set the registry value

Aviso: a migração ao vivo falhará entre os hosts com o firmware e os hosts atualizados sem o firmware atualizado. Para obter mais detalhes, consulte as perguntas frequentes na parte inferior deste documento.Warning: live migration will fail between hosts with the updated firmware and hosts without the updated firmware. For more details, see the FAQ at the bottom of this document.

Opcional: configurar os sistemas Intel Skylake para usar o RetpolineOptional: Configure pre-Skylake Intel systems to use Retpoline

Aviso: a configuração de VMs em hosts Skylake da Intel para Retpoline bloqueará a migração ao vivo para hosts mais recentes (ou seja, Skylake e superiores).Warning: configuring VMs on pre-Skylake Intel hosts for Retpoline will block live migration to newer hosts (i.e. Skylake and beyond).

Por padrão, as máquinas virtuais em execução em sistemas Skylake são impedidas de usar o retpoline.By default, virtual machines running on pre-Skylake systems are prevented from using retpoline. Para permitir que esses sistemas aproveitem as atenuações baseadas em retpoline, defina RetsPredictedFromRsbOnly em HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization para 1.To allow these systems to leverage retpoline based mitigations, set RetsPredictedFromRsbOnly under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization to 1.

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

Para reverter essa configuração (ou seja, impedir que máquinas virtuais aproveitem retpoline), defina RetsPredictedFromRsbOnly como 0.To reverse this configuration (i.e. prevent virtual machines from leveraging retpoline), set RetsPredictedFromRsbOnly to 0.

Atualizar o sistema operacional convidadoUpdate the guest operating system

Para concluir a proteção contra CVE-2017-5715 nessas máquinas virtuais, o sistema operacional convidado deve ser atualizado e configurado para tirar proveito desses novos recursos.To complete protection against CVE-2017-5715 within these virtual machines, the guest operating system must be updated and configured to take advantage of these new capabilities. Para sistemas operacionais Microsoft, siga as orientações neste artigo durante a atualização.For Microsoft operating systems, please follow the guidance in this article when updating.

Observação: a atualização do sistema operacional convidado pode ocorrer a qualquer momento nesse processo. Isso pode ocorrer antes da atualização do firmware do host ou após a inicialização a frio da máquina virtual convidada.Note: updating the guest operating system can occur at any time in this process. It can occur before updating the host firmware or after cold booting the guest virtual machine.

Realizar uma inicialização a frio da máquina virtual convidadaPerform a cold boot of the guest

Depois da conclusão das três primeiras etapas, as máquinas virtuais devem passar por uma inicialização a frio para ver os novos recursos de processador.After completing the first three steps, virtual machines must go through a cold boot to see the new processor capabilities. Isso significa que as VMs em execução devem ser desligadas completamente antes de serem iniciadas novamente.This means the running VMs must completely power off before starting again. A reinicialização de dentro do sistema operacional convidado não é suficiente.Rebooting from inside the guest operating system is not sufficient.

Perguntas frequentesFrequently Asked Questions

Como isso afeta a migração dinâmica?How does this impact live migration?

A migração dinâmica de uma máquina virtual com os novos recursos de processador falhará ao mudar para hosts Hyper-V sem o firmware atualizado.Live migration of a virtual machine with the new processor capabilities will fail when moving to Hyper-V hosts without updated firmware. Para habilitar a migração dinâmica para um host sem o firmware atualizado, interrompa a exposição dos recursos do processador atualizado nessa máquina virtual convidada.To enable live migration to a host without updated firmware, stop exposing the updated processor capabilities within that guest virtual machine. A maneira mais fácil de fazer isso é modificando MinVmVersionForCpuBasedMitigations para uma versão de VM superior à da máquina virtual que precisa ser migrada e realizando uma inicialização a frio dessa máquina virtual.The easiest way to do this is to modify MinVmVersionForCpuBasedMitigations to a VM version above that of the virtual machine that needs to migrate, and perform a cold boot of that virtual machine.

A migração de máquinas virtuais sem os novos recursos de processador terá êxito ao mudar para hosts Hyper-V com o firmware atualizado.Migration of virtual machines without the new processor capabilities will succeed when moving to Hyper-V hosts with updated firmware. No entanto, uma inicialização a frio é necessária para essas convidadas verem os recursos do firmware atualizado.However, a cold boot is required for these guests to see the updated firmware capabilities.

As máquinas virtuais configuradas para usar o Retpoline nos sistemas Intel Skylake não serão migradas para famílias de processadores mais novas (ou seja, Skylake e mais recentes).Virtual machines configured to use Retpoline on pre-Skylake Intel systems will fail to migrate to newer processor families (i.e. Skylake and newer).

E a migração dinâmica de máquinas virtuais de versão 5.0 entre o Windows Server 2012R2 e o Windows Server 2016?What about live migration of version 5.0 virtual machines between Windows Server 2012R2 and Windows Server 2016?

Para garantir o êxito nesse cenário, defina o valor do Registro no sistema do Windows Server 2012R2 e do Windows Server 2016.To ensure success in this scenario, the registry value must set on both the Windows Server 2012R2 system and the Windows Server 2016 system. Depois da migração para o Windows Server 2016, a versão de VM permanecerá sendo 5.0 e, portanto, a chave do Registro será necessária para expor os novos recursos de processador à máquina virtual.After migrating onto Windows Server 2016, the VM version will remain 5.0, and thus the registry key is required to expose the new processor capabilities to the virtual machine.

Essa orientação se aplica a máquinas virtuais em execução no VMware?Does this guidance apply to virtual machines running on VMWare?

Não, essa orientação é específica para máquinas virtuais em execução em hosts Hyper-V.No, this guidance is specific to virtual machines running on Hyper-V hosts.

Essa orientação se aplica ao Hyper-V no Windows 10?Does this guidance apply to Hyper-V on Windows 10?

Sim, as mesmas etapas se aplicam a máquinas virtuais em execução no Windows Server e Client.Yes, the same steps apply for virtual machines running on both Windows Server and Client.

É necessário instalar as atualizações de firmware antes de realizar uma inicialização a frio das máquinas virtuais?Do I need to install the firmware updates before performing a cold boot of the virtual machines?

Sim, você precisa atualizar o sistema operacional e o firmware do host antes de realizar uma inicialização a frio de suas máquinas virtuais.Yes, you need to update the host operating system and firmware before cold booting your virtual machines.

O que posso fazer se meu OEM ainda não fornecer um firmware atualizado?What can I do if my OEM does not yet provide an updated firmware?

Confira a Proteção alternativa para hosts Hyper-V do Windows Server 2016 contra as vulnerabilidades de canal de execução especulativaPlease check out the Alternative protections for Windows Server 2016 Hyper-V Hosts against the speculative execution side-channel vulnerabilities

Como verificar a versão de VM das minhas máquinas virtuais?How do I check the VM version for my virtual machines?

Execute o seguinte PowerShell no host Hyper-V:Run the following PowerShell on the Hyper-V host:

Get-VM * | Format-Table Name, Version  

Preciso fazer algo diferente para proteger máquinas virtuais em execução no "Modo de compatibilidade de processador"?Do I need to do something different to protect virtual machines running under "Processor Compatibility Mode"?

Não.No. Depois que você seguir as instruções nesta página, os novos recursos de processador também serão expostos a máquinas virtuais iniciadas no modo de compatibilidade de processador.After following the instructions on this page, the new processor capabilities will also be exposed to virtual machines started in processor compatibility mode.

E se apenas metade das máquinas no meu cluster tiver recebido uma atualização de firmware?What if only half of the machines in my cluster have received a firmware update?

Isso afetará a migração dinâmica no seu cluster.This will impact live migration within your cluster. As máquinas virtuais com os novos recursos de processador não poderão realizar a migração dinâmica para hosts sem a atualização de firmware.Virtual machines with the new processor capabilities will not be able to live migrate to hosts without the firmware update.

Como validar se a máquina virtual convidada tem acesso aos novos recursos de processador?How can I validate that the guest virtual machine has access to the new processor features?

Use o módulo/script do PowerShell "controle de especulação".Use the "speculation control" PowerShell module/script. Consulte esta página para obter instruções detalhadas.See this page for detailed instructions.