Data |
Descrição da alteração |
---|---|
27 de outubro de 2023 |
Referências adicionadas à Mitigação B |
17 de julho de 2023 |
Informações de MMIO adicionadas |
Resumo
A Microsoft está ciente de novas variantes da classe de ataque conhecidas como vulnerabilidades do canal lateral de execução especulativa. As variantes se chamam L1 Terminal Fault (L1TF) e Microarchitectural Data Sampling (MDS). Um invasor que conseguir explorar a L1TF ou a MDS poderá ler dados privilegiados entre limites de confiança.
ATUALIZADO EM 14 de maio de 2019: Em 14 de maio de 2019, a Intel publicou informações sobre uma nova subclasse de vulnerabilidades de canal lateral de execução especulativa conhecida como Microarchitectural Data Sampling. Elas receberam as seguintes CVEs:
-
CVE-2018-11091 | Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
-
CVE-2018-12126 | Microarchitectural Store Buffer Data Sampling (MSBDS)
-
CVE-2018-12127 | Microarchitectural Fill Buffer Data Sampling (MFBDS)
-
CVE-2018-12130 | Microarchitectural Load Port Data Sampling (MLPDS)
ATUALIZADO EM terça-feira, 12 de novembro de 2019: Em 12 de novembro de 2019, a Intel publicou um comunicado técnico sobre a vulnerabilidade Transaction Asynchronous Abort do Intel® Transactional Synchronization Extensions (Intel® TSX) atribuída à CVE-2019-11135. A Microsoft lançou várias atualizações de segurança para ajudar a aliviar essas vulnerabilidades. Observe o seguinte:
-
As proteções dos sistemas operacionais são habilitadas por padrão para algumas edições do sistema operacional Windows Server. Confira o Artigo 4072698 da Base de Dados de Conhecimento da Microsoft para obter mais informações.
-
As proteções dos sistemas operacionais são habilitadas por padrão para todas as edições do sistema operacional Cliente do Windows. Confira o Artigo 4073119 da Base de Dados de Conhecimento da Microsoft para obter mais informações.
Visão geral da vulnerabilidade
Em ambientes nos quais recursos são compartilhados, como hosts de virtualização, um invasor que puder executar código arbitrário em uma máquina virtual poderá acessar informações de outra máquina virtual ou do próprio host de virtualização.
Cargas de trabalho de servidor, como o RDS (Serviços de Área de Trabalho Remota) do Windows Server e funções mais dedicadas, como controladores de domínio do Active Directory, também correm risco. Os invasores que puderem executar código arbitrário (independentemente do nível de privilégio) poderão acessar o sistema operacional ou os segredos da carga de trabalho, como chaves de criptografia, senhas e outros dados confidenciais.
Os sistemas operacionais Windows Client também correm riscos, especialmente se executam códigos não confiáveis, utilizam recursos de segurança baseados em virtualização, como o Windows Defender Credential Guard, ou usam o Hyper-V para executar máquinas virtuais.
Observação: Essas vulnerabilidades afetam apenas os processadores Intel Core e Intel Xeon.
Visão geral das mitigações
Para resolver esses problemas, a Microsoft está trabalhando em conjunto com a Intel para desenvolver diretrizes e mitigações de software. Atualizações de software para ajudar a mitigar as vulnerabilidades que foram lançadas. Para obter todas as proteções disponíveis, podem ser necessárias atualizações que também podem incluir microcódigo dos OEMs do dispositivo.
Esse artigo descreve como mitigar as seguintes vulnerabilidades:
-
CVE-2018-3620 | L1 Terminal Fault – OS, SMM
-
CVE-2018-3646 | L1 Terminal Fault – VMM
-
CVE-2018-11091 | Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
-
CVE-2018-12126 | Microarchitectural Store Buffer Data Sampling (MSBDS)
-
CVE-2018-12127 | Microarchitectural Load Port Data Sampling (MLPDS)
-
CVE-2018-12130 | Microarchitectural Fill Buffer Data Sampling (MFBDS)
-
CVE-2019-11135 | Vulnerabilidade de Divulgação de Informações do Kernel do Windows
-
CVE-2022-21123 | Shared Buffer Data Read (SBDR)
-
CVE-2022-21125 | Shared Buffer Data Sampling (SBDS)
-
CVE-2022-21127 | Special Register Buffer Data Sampling Update (SRBDS Update)
-
CVE-2022-21166 | Device Register Partial Write (DRPW)
Para saber mais sobre as vulnerabilidades, consulte os seguintes comunicados de segurança:
L1TF: ADV180018 | Diretrizes da Microsoft para mitigar a variante L1TF
Vulnerabilidade de Divulgação de Informações Confidenciais do Kernel do Windows: CVE-2019-11135 | Vulnerabilidade de Divulgação de Informações Confidenciais do Kernel do Windows
Determinando as ações necessárias para mitigar a ameaça
As seções a seguir podem ajudá-lo a identificar os sistemas afetados pelas vulnerabilidades L1TF e/ou MDS e também a entender e mitigar os riscos.
Possível impacto sobre o desempenho
Em testes, a Microsoft percebeu um certo impacto no desempenho dessas mitigações, dependendo da configuração do sistema e de quais mitigações são necessárias.
Alguns clientes podem ter que desabilitar o hyper-threading (também conhecido como multithreading simultâneo ou SMT) para resolver completamente o risco da L1TF e da MDS. Esteja ciente de que a desabilitação do hyper-threading pode causar degradação do desempenho. Essa situação se aplica a clientes que usam o seguinte:
-
Versões do Hyper-V anteriores ao Windows Server 2016 ou ao Windows 10 versão 1607 (Atualização de Aniversário)
-
Segurança baseada em virtualização (VBS) como Credential Guard e Device Guard
-
Softwares que permitem a execução de código não confiável (por exemplo, um servidor de automação de build ou um ambiente de hospedagem compartilhado do IIS)
O impacto pode variar de acordo com o hardware e as cargas de trabalho que estão sendo executadas no sistema. A configuração do sistema mais comum é ter o hyper-threading habilitado. Portanto, o impacto sobre o desempenho é controlado pelo usuário ou administrador que está executando a ação para desabilitar o hyper-threading no sistema.
Observação: Para determinar se o seu sistema está usando recursos de segurança protegidos pelo VBS, siga estas etapas:
-
No menu Iniciar, digite MSINFO32.
Observação: a janela Informações do Sistema se abre. -
Na caixa Localizar, digite segurança.
-
No painel direito, localize as duas linhas selecionadas na captura de tela e verifique a coluna Valor para ver se a Segurança baseada em Virtualização está habilitada e quais serviços de segurança baseados em virtualização estão em execução.
O agendador do Hyper-V core mitiga os vetores de ataque da L1TF e da MDS contra máquinas virtuais Hyper-V, enquanto ainda permite que o hyper-threading permaneça habilitado. Esse agendador disponível no Windows Server 2016 e no Windows 10 versão 1607. Isso proporciona um impacto mínimo no desempenho para as máquinas virtuais.
O agendador básico não mitiga os vetores de ataque L1TF ou MDS contra recursos de segurança protegidos por VBS. Para obter mais informações, confira Mitigação C e o seguinte artigo do Blog de Virtualização:
Para obter informações detalhadas da Intel sobre o impacto no desempenho, visite o seguinte site da Intel:
Identificando sistemas afetados e mitigações necessárias
O fluxograma na figura 1 pode ajudar a identificar os sistemas afetados e determinar o conjunto correto de ações.
Importante: Se estiver usando máquinas virtuais, considere aplicar o fluxograma para hosts Hyper-V e cada convidado de VM afetado individualmente, pois as mitigações podem se aplicar a ambos. Especificamente, para um host Hyper-V, as etapas do fluxograma fornecem proteções inter-VM e proteções dentro do host. No entanto, a aplicação dessas mitigações apenas ao host Hyper-V não é suficiente para fornecer proteção dentro da VM. Para fornecer proteção dentro da VM, você deve aplicar o fluxograma a cada VM do Windows. Na maioria dos casos, isso significa certificar-se de que as chaves do Registro estejam definidas na VM.
Ao navegar pelo fluxograma, você encontrará círculos azuis com letras que mapeiam para uma ação ou uma série de ações necessárias para atenuar os vetores de ataque L1TF específicos das configurações do seu sistema. Cada ação que você encontrar deve ser aplicada. Quando você encontra uma linha verde, ela indica um caminho direto até o final e não há etapas de mitigação adicionais.
Uma explicação resumida de cada mitigação com letras é incluída na legenda à direita. São fornecidas explicações detalhadas para cada mitigação que incluem instalação passo a passo e instruções de configuração na seção "Mitigações".
Mitigações
Importante: A seção a seguir descreve as mitigações que devem ser aplicadas APENAS sob as condições específicas determinadas pelo fluxograma na Figura 1 da seção anterior. NÃO aplique essas mitigações, a menos que o fluxograma indique que a mitigação específica é necessária.
Além das atualizações de software e microcódigo, também podem ser necessárias alterações manuais de configuração para habilitar determinadas proteções. Recomendamos ainda que os Clientes corporativos se registrem no mensageiro de notificações de segurança para serem alertados sobre as alterações de conteúdo. (Confira Notificações de Segurança Técnica da Microsoft.)
Mitigação A
Obtenha e aplique as atualizações mais recentes do Windows
Aplica as atualizações disponíveis do sistema operacional Windows, incluindo as atualizações de segurança do Windows mensais. Você pode ver a tabela de produtos afetados no Aviso de Segurança | ADV 180018 para L1TF, Aviso de Segurança | ADV 190013 para MDS, Aviso de Segurança | ADV220002 para MMIO e Aviso de Segurança| CVE-2019-11135 da Microsoft para a Vulnerabilidade de Divulgação de Informações do Kernel do Windows.
Mitigação B
Obtenha e aplique as atualizações mais recentes de microcódigo ou firmware
Além de instalar as atualizações de segurança mais recentes do Windows, também pode ser necessária uma atualização do microcódigo ou do firmware do processador. Recomendamos que você obtenha e aplique a atualização de microcódigo mais recente conforme apropriado para seu dispositivo no OEM do dispositivo. Para obter mais informações sobre atualizações de microcódigo ou firmware, confira as seguintes referências:
Observação: Se você estiver usando virtualização aninhada (incluindo a execução de contêineres Hyper-V em uma VM convidada), deverá expor os novos esclarecimentos de microcódigo à VM convidada. Isso pode exigir a atualização da configuração da VM para a versão 8. A versão 8 inclui as iluminações de microcódigo por padrão. Para obter mais informações e as etapas necessárias, consulte o seguinte artigo do Microsoft Docs:
Executar o Hyper-V em uma Máquina Virtual com Virtualização Aninhada
Mitigação C
Devo desabilitar o hyper-threading (HT)?
As vulnerabilidades L1TF e MDS apresentam o risco de que a confidencialidade das máquinas virtuais Hyper-V e os segredos mantidos pela Segurança com base em virtualização (VBS) da Microsoft possam ser comprometidos usando um ataque de canal lateral. Quando o hyper-threading (HT) está habilitado, os limites de segurança fornecidos pelo Hyper-V e pela VBS são enfraquecidos.
O agendamento do Hyper-V core (disponível desde o Windows Server 2016 e o Windows 10 versão 1607) atenua os vetores de ataque da L1TF e da MDS contra as máquinas virtuais Hyper-V e ainda permite que o Hyper-Threading permaneça habilitado. Isso garante um impacto mínimo sobre o desempenho.
O agendador do Hyper-V core não atenua os vetores de ataque da L1TF ou da MDS contra recursos de segurança protegidos por VBS. As vulnerabilidades L1TF e MDS apresentam o risco de que a confidencialidade dos segredos do VBS possa ser comprometida por meio de um ataque de temporização quando o HT (Hyper-Threading) está habilitado, enfraquecendo o limite de segurança fornecido pelo VBS. Mesmo com esse risco aumentado, a VBS ainda oferece benefícios de segurança valiosos e reduz uma série de ataques com o HT habilitado. Portanto, recomendamos que a VBS continue a ser usada em sistemas habilitados para HT. Os clientes que desejam eliminar o risco potencial das vulnerabilidades L1TF e MDS sobre a confidencialidade da VBS devem considerar a desativação do HT para mitigar esse risco adicional.
Os clientes que desejam eliminar o risco das vulnerabilidades L1TF e MDS para a confidencialidade das versões do Hyper-V anteriores ao Windows Server 2016 ou o risco para os recursos de segurança da VBS devem ponderar a decisão e considerar desabilitar o HT para mitigar o risco. Em geral, essa decisão pode ser baseada nas seguintes diretrizes:
-
Para sistemas Windows 10 versão 1607, Windows Server 2016 e mais recentes que não estão executando o Hyper-V e não estão usando recursos de segurança protegidos pelo VBS, os clientes não devem desabilitar o HT.
-
Para sistemas Windows 10 versão 1607, Windows Server 2016 e mais recentes que não estão executando o Hyper-V com o Agendador Core, mas que não estão usando recursos de segurança protegidos por VBS, os clientes não devem desabilitar o HT.
-
Para o Windows 10 versão 1511, o Windows Server 2012 R2 e sistemas anteriores que executam o Hyper-V, os clientes devem considerar a desabilitação do HT para reduzir o risco.
As etapas necessárias para desabilitar o HT diferem de OEM para OEM. No entanto, elas normalmente fazem parte das ferramentas de configuração e configuração do BIOS ou firmware.
A Microsoft também introduziu a capacidade de desabilitar a tecnologia Hyper-Threading através de uma configuração de software, caso seja difícil ou impossível desativar o HT em suas ferramentas de configuração e configuração de BIOS ou firmware. A configuração do software para desabilitar o HT é secundária à configuração do seu BIOS ou firmware e está desabilitada por padrão (ou seja, o HT seguirá a configuração do BIOS ou do firmware). Para saber mais sobre essa configuração e como desabilitá-la, consulte o seguinte artigo:
4072698 Orientação do Windows Server para proteção contra as vulnerabilidades de canal paralelo de execução especulativa
Quando possível, convém desabilitar o HT no BIOS ou firmware para a garantia mais forte de que o HT esteja desabilitado.
Observação: A ação de desabilitar o hyperthreading reduzirá os núcleos de CPU. Isso pode afetar os recursos que exigem o mínimo de núcleos de CPU para funcionar. Por exemplo, o Windows Defender Application Guard (WDAG).
Mitigação D
Habilitar o agendador de núcleo do Hyper-V e definir o thread de hardware da VM por núcleo como 2
Observação: Essas etapas de mitigação aplicam-se apenas às versões do Windows Server 2016 e do Windows 10 anteriores à versão 1809. O agendador core está habilitado por padrão no Windows Server 2019 e no Windows 10 versão 1809.
Usar o agendador de núcleo é um processo de dois estágios que requer que você primeiro habilite o agendador no host do Hyper-V e, em seguida, configure cada VM para aproveitá-lo, definindo a contagem de segmentos de hardware por núcleo como dois (2).
O agendador do Hyper-V core que foi introduzido no Windows Server 2016 e mp Windows Server 10 versão 1607 é uma nova alternativa à lógica clássica do agendador. Ele oferece uma variabilidade de desempenho reduzida para cargas de trabalho dentro de VMs que estão sendo executadas em um hostHyper-V habilitado para HT.
Para obter uma explicação detalhada sobre o agendador de núcleo do Hyper-Ve as etapas para habilitá-lo, consulte o seguinte artigo do Windows IT Pro Center:
Entendendo e usando os tipos de agendador de hipervisor do Hyper-V
Para habilitar o agendador de núcleo do Hyper-V no Windows Server 2016 ou Windows 10, insira o seguinte comando:
bcdedit /set HypervisorSchedulerType core
Em seguida, decida se deseja configurar a contagem de threads de hardware de uma determinada VM por núcleo para dois (2). Se você expor o fato de que os processadores virtuais são hiperencadeados para uma máquina virtual convidada, habilite o agendador no sistema operacional da VM e também as cargas de trabalho da VM para usar HT em seu próprio agendamento de trabalho. Para fazer isso, insira o seguinte comando do PowerShell, no qual <VMName> é o nome da máquina virtual:
Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2
Mitigação E
Habilite as mitigações para os comunicados CVE-2017-5715, CVE-2017-5754 e CVE-2019-11135
Observação: Essas mitigações estão habilitadas por padrão no Windows Server 2019 e nos sistemas operacionais Windows Client.
Para habilitar as mitigações para os comunicados CVE-2017-5715, CVE-2017-5754 e CVE-2019-11135, use a orientação no seguinte artigo:
Observação: Essas mitigações incluem e automaticamente habilitam a mitigação de bits de quadro de página segura para o kernel do Windows e também para as mitigações descritas em CVE-2018-3620. Para obter uma explicação detalhada sobre a mitigação de bits de quadro de página segura, consulte o seguinte artigo do Security Research & Defense Blog:
Referências
Diretrizes para mitigar vulnerabilidades de temporização de execução especulativa no Azure
Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. Não oferecemos nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.
Fornecemos 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. Não garantimos a precisão dessas informações para contato com outras empresas.