Orientação do Windows Server para proteção contra as vulnerabilidades de canal paralelo de execução especulativa

Aplica-se a: Windows Server 2016 Version 1709Windows Server 2012 R2 StandardWindows Server 2012 Standard Mais

Resumo


A Microsoft está ciente de uma nova classe de vulnerabilidades publicamente divulgada chamada de “ataques de canal paralelo de execução especulativa” e que afetam  muitos processadores modernos, entre eles o Intel, o AMD e o ARM.

Observação Esse problema também afeta outros sistemas operacionais, como o Android, o Chrome, o iOS e o macOS. Portanto, recomendamos que os clientes busquem a orientação desses fornecedores.

A Microsoft lançou várias atualizações para ajudar a aliviar essas vulnerabilidades. Também tomamos medidas para proteger nossos serviços de nuvem. Consulte as seguintes seções para obter mais detalhes.

Até agora, a Microsoft não recebeu nenhuma informação que indicasse que essas vulnerabilidades foram usadas para atacar clientes. A Microsoft está trabalhando em estreita colaboração com parceiros da indústria, incluindo fabricantes de chips, OEMs de hardware e fornecedores de aplicativos, para proteger os clientes. Para obter todas as proteções disponíveis, são necessárias atualizações de firmware (microcódigo) e software. Isso inclui microcódigo de OEMs de dispositivos e, em alguns casos, atualizações de software antivírus.

Este artigo resolve as seguintes vulnerabilidades:

Para saber mais sobre essa classe de vulnerabilidades, consulte ADV180002 e ADV180012.

A Microsoft fornece informações de contato de terceiros para ajudá-lo a encontrar suporte técnico. Essas informações de contato podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão dessas informações para contato com outras empresas.

Ações recomendadas


Os clientes devem tomar as seguintes medidas para se protegerem contra essas vulnerabilidades:

  1. Aplica as atualizações disponíveis do sistema operacional Windows, incluindo as atualizações de segurança do Windows mensais. Para obter detalhes sobre como habilitar essas atualizaçóes, consulte o Artigo 4072699 da Base de Dados de Conhecimento Microsoft.
  2. Instale atualizações de firmware (microcódigo) aplicáveis do fabricante do dispositivo (OEM).
  3. Avalie o risco para o seu ambiente com base nas informações nos Comunicados de Segurança da Microsoft ADV180002 e ADV180012 e neste artigo da base de dados de conhecimento.
  4. Tome as medidas necessárias usando os avisos e as informações da chave do Registro fornecidas neste artigo da base de conhecimento.

Habilitando proteções no Windows Server


As atenuações da CVE-2017-5753 estão habilitadas por padrão no Windows Server, e não há nenhuma opção de administrador disponível para desabilitá-las. As atenuações para as outras três vulnerabilidades descritas neste artigo estão desabilitadas por padrão. Os clientes que desejam obter todas as proteções disponíveis contra essas vulnerabilidades devem fazer  alterações nas chaves do Registro  para permitir essas  atenuações.

A habilitação desses mitigações pode afetar o desempenho. A escala dos efeitos sobre o desempenho depende de vários fatores, como o chipset específico no seu host físico e as cargas de trabalho que estão sendo executadas. Recomendamos que os clientes avaliem o impacto sobre o desempenho do ambiente e façam os ajustes necessários.

Seu servidor correrá maior risco se estiver em uma das seguintes categorias:

  • Hosts Hyper-V– Requer proteção para ataques de VM para VM e de VM para host.
  • Hosts de Serviços de Área de Trabalho Remota (RDSH) – Requer a proteção contra ataques de uma sessão a outra ou contra de uma sessão a hosts.
  • Para hosts físicos ou máquinas virtuais que estejam executando código não confiável, como contêineres ou extensões não confiáveis para banco de dados, conteúdo da Web não confiável ou cargas de trabalho que executam código proveniente de fontes externas. Eles exigem proteção contra ataques de processo não confiável a outro processo ou de processo não confiável ao kernel.

Use as seguintes configurações de chaves do Registro para habilitar as mitigações no servidor e reinicie o sistema para que as alterações entrem em vigor.

Habilite mitigações para a CVE-2017-5715 (Spectre Variant 2) e CVE-2017-5754 (Meltdown)


Importante Esta seção, método ou tarefa contém etapas que informam como modificar o Registro. Entretanto, sérios problemas poderão ocorrer caso você modifique o registro incorretamente. Portanto, siga essas etapas cuidadosamente. Para obter mais proteção, faça backup do Registro antes de modificá-lo. Dessa forma, você poderá restaurar o Registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o Registro, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

322756 Como fazer o backup e a restauração do Registro no Windows

Para habilitar mitigações para a CVE-2017-5715 (Spectre Variant 2) e CVE-2017-5754 (Meltdown)

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

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

Se este for um host Hyper-V, e as atualizações de firmware tiverem sido aplicadas: Desligue completamente todas as máquinas virtuais. Isso permite que a mitigação relacionada ao firmware seja aplicada no host antes que as VMs sejam iniciadas. Portanto, as VMs também são atualizadas ao serem reiniciadas.

Reinicie o servidor para que alterações entraem em vigor.

Para desabilitar mitigações para a CVE-2017-5715 (Spectre Variant 2) e CVE-2017-5754 (Meltdown)

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Reinicie o servidor para que as alterações tenham efeito.

(Você não precisa alterar MinVmVersionForCpuBasedMitigations.)


Observações

Desabilite a mitigação para a CVE-2017-5715 (Spectre Variant 2)


Enquanto a Intel testa, atualiza e implementa o novo microcódigo, oferecemos uma nova opção para usuários avançados em dispositivos afetados para desabilitar e habilitar manualmente a mitigação contra a Spectre Variante 2 (CVE-2017-5715 – "Branch Target Injection") de forma independente por meio de alterações na configuração do Registro.

Se você tiver instalado o microcódigo, mas  quiser desabilitar a mitigação da CVE-2017-5715 devido reinicializações inesperadas ou problemas de estabilidade do sistema, use as instruções a seguir.

Para desabilitar a Variante 2: Mitigação para a (CVE-2017-5715 – "Branch Target Injection") :

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Para habilitar a Variante 2: Mitigação para (CVE-2017-5715 – "Branch Target Injection") :

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

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


Observação
 Desabilitar e habilitar a mitigação da Variante 2 através de alterações de configuração do Registro exige direitos administrativos e uma reinicialização.

Habilitar a IBPB (Indirect Branch Prediction Barrier) para a vulnerabilidade Spectre Variant 2 em processadores (CPUs) AMD


Alguns processadores (CPUs) AMD oferecem um recurso de controle de ramificação indireto para mitigar injeções de alvo de ramificação indireto por meio de um mecanismo IBPB (Indirect Branch Prediction Barrier). (Para obter mais informações,consulte a pergunta frequente 15 no ADV180002 e as Diretrizes de arquitetura da AMD para controle de ramificação indireto e as Atualizações de segurança da AMD.)

Siga estas instruções para controlar a IBPB ao alternar do contexto do usuário para o contexto do kernel:

Para habilitar o uso da IBPB (Indirect Branch Prediction Barrier) ao alternar do contexto do usuário para o contexto do kernel:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 64 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f


Observação
 Habilitar o uso da  Indirect Branch Prediction Barrier (IBPB) por meio de alterações nas configurações do Registro requer direitos administrativos e uma reinicialização.

Habilite mitigações para a CVE-2018-3639 (Speculative Store Bypass), a CVE-2017-5715 (Spectre Variant 2) e CVE-2017-5754 (Meltdown)



Para habilitar mitigações para a CVE-2018-3639 (Speculative Store Bypass), a CVE-2017-5715 (Spectre Variant 2) e CVE-2017-5754 (Meltdown):

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

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

Para desabilitar mitigações para a CVE-2018-3639 (Speculative Store Bypass) E mitigações para a CVE-2017-5715 (Spectre Variant 2)  e CVE-2017-5754 (Meltdown)

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f


Observação
Essas alterações no Registro exigem direitos administrativos e uma reinicialização.

Verificando se as proteções estão habilitadas


Para ajudar os clientes a confirmar se as proteções apropriadas foram habilitadas, a Microsoft publicou um script PowerShell que os clientes podem executar em seus sistemas. Instale e execute o script executando os seguintes comandos.

Verificação do PowerShell usando a Galeria do PowerShell (Windows Server 2016 ou WMF 5.0/5.1)

Instale o módulo PowerShell:

PS> Install-Module SpeculationControl

Execute o módulo PowerShell para verificar se as proteções estão habilitadas:

PS> # Save the current execution policy so it can be reset

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> Import-Module SpeculationControl

PS> Get-SpeculationControlSettings

PS> # Reset the execution policy to the original state

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

Verificação do PowerShell usando um download do Technet (versões anteriores do SO/versões anteriores do WMF)

Instale o módulo PowerShell do Technet ScriptCenter:

  1. Acesse https://aka.ms/SpeculationControlPS.
  2. Baixe SpeculationControl.zip em uma pasta local.
  3. Extraia o conteúdo em uma pasta local. Por exemplo: C:\ADV180002

Execute o módulo PowerShell para verificar se as proteções estão habilitadas:

Inicie o PowerShell e use o exemplo anterior para copiar e executar os seguintes comandos:

PS> # Save the current execution policy so it can be reset

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> CD C:\ADV180002\SpeculationControl

PS> Import-Module .\SpeculationControl.psd1

PS> Get-SpeculationControlSettings

PS> # Reset the execution policy to the original state

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser


Para uma explicação detalhada sobre a saída do script do PowerShell, consulte o
artigo da Base de Dados de Conhecimento 4074629

Perguntas frequentes


Não recebi a opção de instalar as atualizações de segurança do Windows que foram lançadas em janeiro e fevereiro de 2018. O que devo fazer?

Para ajudar a evitar danos aos dispositivos dos clientes, as atualizações de segurança do Windows que foram lançadas em janeiro e fevereiro de 2018 não foram oferecidas a todos os clientes. Para obter detalhes, consulte o Artigo 4072699 da Base de Dados de Conhecimento Microsoft.

Referências