Data |
Descrição da alteração |
---|---|
27 de outubro de 2023 |
Foram adicionadas referências à Mitigação B |
17 de julho de 2023 |
Informações de MMIO adicionadas |
Resumo
A Microsoft tem conhecimento de novas variantes da classe de ataque conhecidas como vulnerabilidades do canal lateral de execução especulativa. As variantes designam-se L1 Terminal Fault (L1TF) e Microarchitectural Data Sampling (MDS). Um atacante que possa explorar l1TF ou MDS com êxito pode conseguir ler dados privilegiados através dos limites de confiança.
ATUALIZADO A 14 DE MAIO DE 2019: Em 14 de maio de 2019, a Intel publicou informações sobre uma nova subclasse de vulnerabilidades do canal lateral de execução especulativa conhecida como Amostragem de Dados Microarchitectural. Foram-lhes atribuídos os seguintes CVEs:
-
CVE-2018-11091 | Memória Incacheável de Amostragem de Dados Microarquiteturais (MDSUM)
-
CVE-2018-12126 | Amostragem de Dados da Memória Intermédia do Arquivo Microarchitectural (MSBDS)
-
CVE-2018-12130 | Amostragem de Dados da Porta de Carregamento Microarchitectural (MLPDS)
ATUALIZADO A 12 DE NOVEMBRO DE 2019: Em 12 de novembro de 2019, a Intel publicou um aviso técnico sobre® a vulnerabilidade Intel Transactional Synchronization Extensions (Intel® TSX) Transaction Asynchronous Abort, atribuída à CVE-2019-11135. A Microsoft lançou atualizações para ajudar a mitigar esta vulnerabilidade. Tenha em atenção o seguinte:
-
Por predefinição, as proteções dos sistemas operativos estão ativadas para algumas Edições do SO do Windows Server. Consulte o Artigo da Base de Dados de Conhecimento Microsoft 4072698 para obter mais informações.
-
Por predefinição, as proteções dos sistemas operativos estão ativadas para todas as Edições do SO cliente do Windows. Consulte o Artigo da Base de Dados de Conhecimento Microsoft 4073119 para obter mais informações.
Descrição geral da vulnerabilidade
Em ambientes em que os recursos são partilhados, como anfitriões de virtualização, um atacante que pode executar código arbitrário numa máquina virtual pode conseguir aceder a informações de outra máquina virtual ou do próprio anfitrião de virtualização.
As cargas de trabalho do servidor, como os Serviços de Ambiente de Trabalho Remoto (RDS) do Windows Server e funções mais dedicadas, como controladores de domínio do Active Directory, também estão em risco. Os atacantes que podem executar código arbitrário (independentemente do seu nível de privilégio) podem aceder aos segredos do sistema operativo ou da carga de trabalho, como chaves de encriptação, palavras-passe e outros dados confidenciais.
Os sistemas operativos cliente Windows também estão em risco, especialmente se executarem código não fidedigno, tirar partido das funcionalidades de Segurança Baseada em Virtualização, como Windows Defender Credential Guard ou utilizar o Hyper-V para executar máquinas virtuais.
Nota: Estas vulnerabilidades afetam apenas os processadores Intel Core e processadores Intel Xeon.
Descrição geral da mitigação
Para resolver estes problemas, a Microsoft está a trabalhar em conjunto com a Intel para desenvolver mitigações e orientações de software. Foram lançadas atualizações de software para ajudar a mitigar as vulnerabilidades. Para obter todas as proteções disponíveis, podem ser necessárias atualizações que também podem incluir microcódigo de OEMs de dispositivos.
Este artigo descreve como mitigar as seguintes vulnerabilidades:
-
CVE-2018-3620 | Falha do Terminal L1 – SO, SMM
-
CVE-2018-3646 | Falha do Terminal L1 – VMM
-
CVE-2018-11091 | Memória Incacheável de Amostragem de Dados Microarquiteturais (MDSUM)
-
CVE-2018-12126 | Amostragem de Dados da Memória Intermédia do Arquivo Microarchitectural (MSBDS)
-
CVE-2018-12127 | Amostragem de Dados da Porta de Carregamento Microarchitectural (MLPDS)
-
CVE-2018-12130 | Amostragem de Dados da Memória Intermédia de Preenchimento Microarchitectural (MFBDS)
-
CVE-2019-11135 | Vulnerabilidade de Divulgação de Informações do Kernel do Windows
-
CVE-2022-21123 | Leitura de Dados da Memória Intermédia Partilhada (SBDR)
-
CVE-2022-21125 | Amostragem de Dados de Memória Intermédia Partilhada (SBDS)
-
CVE-2022-21127 | Atualização especial da Amostragem de Dados da Memória Intermédia de Registos (Atualização SRBDS)
-
CVE-2022-21166 | Registo de Dispositivos de Escrita Parcial (DRPW)
Para saber mais sobre as vulnerabilidades, veja os seguintes avisos de segurança:
L1TF: ADV180018 | Orientação da Microsoft para mitigar a variante L1TF
Vulnerabilidade de Divulgação de Informações do Kernel do Windows: CVE-2019-11135 | Vulnerabilidade de Divulgação de Informações do Kernel do Windows
Determinar as ações necessárias para mitigar a ameaça
As secções seguintes podem ajudá-lo a identificar os sistemas afetados pelas vulnerabilidades L1TF e/ou MDS e também o ajudam a compreender e mitigar os riscos.
Impacto potencial no desempenho
Nos testes, a Microsoft tem tido algum impacto no desempenho destas mitigações, dependendo da configuração do sistema e das mitigações necessárias.
Alguns clientes podem ter de desativar o hyper-threading (também conhecido como multithreading ou SMT simultâneo) para resolver totalmente o risco de L1TF e MDS. Tenha em atenção que desativar o hyper-threading pode causar degradação do desempenho. Esta situação aplica-se aos clientes que utilizam o seguinte:
-
Versões do Hyper-V anteriores a Windows Server 2016 ou Windows 10 versão 1607 (Atualização de Aniversário)
-
Funcionalidades de segurança baseada em virtualização (VBS), como Credential Guard e Device Guard
-
Software que permite a execução de código não fidedigno (por exemplo, um servidor de automatização de compilação ou um ambiente de alojamento IIS partilhado)
O impacto pode variar consoante o hardware e as cargas de trabalho em execução no sistema. A configuração de sistema mais comum é ter o hyper-threading ativado. Por conseguinte, o impacto no desempenho é controlado pelo utilizador ou administrador que está a tomar medidas para desativar o hyper-threading no sistema.
Nota: Para determinar se o seu sistema está a utilizar funcionalidades de segurança protegidas por VBS, siga estes passos:
-
No menu Iniciar , escreva MSINFO32.
Nota: A janela Informações do Sistema é aberta. -
Na caixa Localizar , escreva segurança.
-
No painel direito, localize as duas linhas selecionadas na captura de ecrã e verifique a coluna Valor para ver se a Segurança baseada em Virtualização está ativada e que serviços de segurança baseados em virtualização estão em execução.
O agendador de núcleos do Hyper-V mitiga os vetores de ataque L1TF e MDS em máquinas virtuais hyper-V, ao mesmo tempo que permite que o hyper-threading permaneça ativado. O agendador principal está disponível a partir do Windows Server 2016 e Windows 10 versão 1607. Isto proporciona um impacto mínimo no desempenho das máquinas virtuais.
O agendador principal não mitiga os vetores de ataque L1TF ou MDS contra funcionalidades de segurança protegidas por VBS. Para obter mais informações, veja Mitigação C e o seguinte artigo do Blogue de Virtualização:
Para obter informações detalhadas da Intel sobre o impacto no desempenho, aceda ao seguinte site da Intel:
Identificar os sistemas afetados e as mitigações necessárias
O fluxograma na figura 1 pode ajudá-lo a identificar os sistemas afetados e a determinar o conjunto correto de ações.
Importante: Se estiver a utilizar máquinas virtuais, tem de considerar e aplicar o fluxograma a anfitriões Hyper-V e a cada convidado de VM afetado individualmente, uma vez que as mitigações podem aplicar-se a ambos. Especificamente, para um anfitrião Hyper-V, os passos do fluxograma fornecem proteções entre VMs e proteções intraalojárias. No entanto, a aplicação destas mitigações apenas ao anfitrião Hyper-V não é suficiente para fornecer proteção intra-VM. Para fornecer proteção intra-VM, tem de aplicar o fluxograma a cada VM do Windows. Na maioria dos casos, isto significa garantir que as chaves do registo estão definidas na VM.
À medida que navega no fluxograma, encontrará círculos azuis com letras que mapeiam para uma ação ou uma série de ações necessárias para mitigar vetores de ataque L1TF específicos das configurações do sistema. Cada ação que encontrar tem de ser aplicada. Quando encontra uma linha verde, indica um caminho direto para o fim e não existem passos de mitigação adicionais.
Uma explicação de forma curta de cada mitigação com letras está incluída na legenda à direita. As explicações detalhadas para cada mitigação que incluem instruções passo a passo de instalação e configuração são fornecidas na secção "Mitigações".
Mitigações
Importante: A secção seguinte descreve as mitigações que devem ser aplicadas APENAS nas condições específicas determinadas pelo fluxograma na Figura 1 na secção anterior. NÃO aplique estas 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 de configuração manual para ativar determinadas proteções. Recomendamos ainda que os clientes Enterprise se registem no mailer de notificações de segurança para serem alertados sobre as alterações de conteúdo. (Consulte Notificações de Segurança Técnica da Microsoft.)
Mitigação A
Obter e aplicar as atualizações mais recentes do Windows
Aplique todas as atualizações do sistema operativo Windows disponíveis, incluindo as atualizações de segurança mensais do Windows. Pode ver a tabela de produtos afetados no Aviso de Segurança da Microsoft | ADV 180018 para L1TF, Aviso de Segurança | ADV 190013 para MDS, Aconselhamento de Segurança | ADV220002 para MMIO e Vulnerabilidade de Segurança | CVE-2019-11135 para a Vulnerabilidade de Divulgação de Informações do Kernel do Windows.
Mitigação B
Obter e aplicar as atualizações de microcódigo ou firmware mais recentes
Além de instalar as atualizações de segurança mais recentes do Windows, também poderá ser necessária uma atualização de microcódigo ou firmware do processador. Recomendamos que obtenha e aplique a atualização de microcódigo mais recente conforme adequado para o seu dispositivo a partir do OEM do dispositivo. Para obter mais informações sobre atualizações de microcódigo ou firmware, veja as seguintes referências:
Nota: Se estiver a utilizar a virtualização aninhada (incluindo a execução de contentores Hyper-V numa VM convidada), tem de expor as novas otimizações de microcódigo à VM convidada. Isto pode exigir a atualização da configuração da VM para a versão 8. A versão 8 inclui as otimizações de microcódigo por predefinição. Para obter mais informações e os passos necessários, consulte o seguinte artigo Microsoft Docs artigo:
Executar o Hyper-V numa Máquina Virtual com Virtualização Aninhada
Mitigação C
Devo desativar o hyper-threading (HT)?
As vulnerabilidades L1TF e MDS apresentam riscos de que a confidencialidade das máquinas virtuais hyper-V e os segredos mantidos pelo Microsoft Virtualization Based Security (VBS) possam ser comprometidos através de um ataque de canal lateral. Quando Hyper-Threading (HT) está ativado, os limites de segurança fornecidos pelo Hyper-V e pelo VBS são enfraquecidos.
O agendador de núcleos do Hyper-V (disponível a partir do Windows Server 2016 e Windows 10 versão 1607) mitiga os vetores de ataque L1TF e MDS em máquinas virtuais Hyper-V, ao mesmo tempo que permite que Hyper-Threading permaneçam ativados. Isto proporciona um impacto mínimo no desempenho.
O agendador de núcleos do Hyper-V não mitiga os vetores de ataque L1TF ou MDS contra funcionalidades de segurança protegidas por VBS. As vulnerabilidades L1TF e MDS apresentam riscos de que a confidencialidade dos segredos do VBS possa ser comprometida através de um ataque de canal lateral quando Hyper-Threading (HT) está ativada, enfraquecendo o limite de segurança fornecido pela VBS. Mesmo com este risco acrescido, o VBS ainda fornece benefícios de segurança valiosos e mitiga uma série de ataques com HT ativado. Assim, recomendamos que os VBS continuem a ser utilizados em sistemas compatíveis com HT. Os clientes que pretendam eliminar o risco potencial das vulnerabilidades L1TF e MDS na confidencialidade do VBS devem considerar desativar o HT para mitigar este risco adicional.
Os clientes que pretendam eliminar o risco que as vulnerabilidades L1TF e MDS representam, seja para a confidencialidade das versões do Hyper-V anteriores às capacidades de segurança Windows Server 2016 ou VBS, têm de ponderar a decisão e considerar desativar o HT para mitigar o risco. Em geral, esta decisão pode basear-se nas seguintes diretrizes:
-
Para Windows 10 versão 1607, Windows Server 2016 e sistemas mais recentes que não estão a executar o Hyper-V e não estão a utilizar funcionalidades de segurança protegidas por VBS, os clientes não devem desativar o HT.
-
Para Windows 10 versão 1607, Windows Server 2016 e sistemas mais recentes que executam o Hyper-V com o Core Scheduler, mas não estão a utilizar funcionalidades de segurança protegidas por VBS, os clientes não devem desativar o HT.
-
Para Windows 10 versão 1511, Windows Server 2012 R2 e sistemas anteriores que executem o Hyper-V, os clientes têm de considerar desativar o HT para mitigar o risco.
Os passos necessários para desativar o HT diferem do OEM para o OEM. No entanto, normalmente fazem parte do BIOS ou das ferramentas de configuração e configuração de firmware.
A Microsoft também introduziu a capacidade de desativar Hyper-Threading tecnologia através de uma definição de software se for difícil ou impossível desativar o HT no seu BIOS ou ferramentas de configuração e configuração de firmware. A definição de software para desativar o HT é secundária à definição de BIOS ou firmware e está desativada por predefinição (ou seja, o HT seguirá a definição de BIOS ou firmware). Para saber mais sobre esta definição e como desativar o HT ao utilizá-la, consulte o seguinte artigo:
4072698 Orientação do Windows Server para proteger contra vulnerabilidades do canal lateral de execução especulativa
Sempre que possível, é recomendado desativar o HT no seu BIOS ou firmware para garantir que o HT está desativado.
Nota: Desativar a hiperthreading reduzirá os núcleos de CPU. Isto pode ter um efeito nas funcionalidades que requerem núcleos de CPU mínimos para funcionar. Por exemplo, Windows Defender Application Guard (WDAG).
Mitigação D
Ativar o agendador de núcleos do Hyper-V e definir a contagem de threads de hardware da VM por núcleo como 2
Nota: Estes passos de mitigação aplicam-se apenas a versões Windows Server 2016 e Windows 10 anteriores à versão 1809. O agendador principal está ativado por predefinição no Windows Server 2019 e Windows 10 versão 1809.
A utilização do agendador principal é um processo de duas fases que requer que ative primeiro o agendador no anfitrião Hyper-V e, em seguida, configure cada VM para tirar partido da mesma ao definir a contagem de threads de hardware por núcleo para dois (2).
O agendador principal do Hyper-V que foi introduzido no Windows Server 2016 e Windows 10 versão 1607 é uma nova alternativa à lógica clássica do scheduler. O agendador principal oferece uma menor variabilidade de desempenho para cargas de trabalho dentro de VMs que estão em execução num anfitrião Hyper-V compatível com HT.
Para obter uma explicação detalhada do agendador principal do Hyper-V e os passos para o ativar, consulte o seguinte artigo do Windows IT Pro Center:
Compreender e utilizar tipos de agendador de hipervisores do Hyper-V
Para ativar o agendador principal do Hyper-V no Windows Server 2016 ou Windows 10, introduza o seguinte comando:
bcdedit /set HypervisorSchedulerType core
Em seguida, decida se pretende configurar a contagem de threads de hardware de uma determinada VM por núcleo para dois (2). Se expor o facto de os processadores virtuais estarem hiper-threaded numa máquina virtual convidada, ative o agendador no sistema operativo da VM, bem como as cargas de trabalho da VM, para utilizar o HT no seu próprio agendamento de trabalho. Para tal, introduza o seguinte comando do PowerShell, no qual <VMName> é o nome da máquina virtual:
Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2
Mitigação E
Ativar mitigações para os avisos CVE-2017-5715, CVE-2017-5754 e CVE-2019-11135
Nota: Estas mitigações estão ativadas por predefinição nos sistemas operativos cliente Windows Server 2019 e Windows.
Para ativar mitigações para os avisos CVE-2017-5715, CVE-2017-5754 e CVE-2019-11135, utilize a documentação de orientação nos seguintes artigos:
Nota: Estas mitigações incluem e ativam automaticamente a mitigação de bits de frame de página segura para o kernel do Windows e também para as mitigações descritas no CVE-2018-3620. Para obter uma explicação detalhada da mitigação de bits de frames de página segura, veja o seguinte artigo do Blogue de Pesquisa de Segurança & Defesa:
Referências
Os produtos de terceiros que este artigo aborda são fabricados por empresas que são independentes da Microsoft. Não estabelecemos qualquer garantia, implícita ou não, sobre o desempenho ou fiabilidade destes produtos.
Fornecemos informações de contacto de terceiros para o ajudar a encontrar suporte técnico. Estas informações de contacto poderão ser alteradas sem aviso prévio. Não garantimos a exatidão destas informações de contacto de terceiros.