Neste artigo

Resumo

A Microsoft foi informada de uma vulnerabilidade no Windows que permite que um invasor com privilégios de administrador substitua arquivos atualizados do sistema Windows que têm versões mais antigas, abrindo a porta para um invasor reintroduzir vulnerabilidades à VBS (segurança baseada em virtualização).  A reversão desses binários pode permitir que um invasor contorne os recursos de segurança da VBS e exfiltre dados protegidos pela VBS. Esse problema é descrito no CVE-2024-21302 | Vulnerabilidade de elevação de privilégio do modo kernel seguro do Windows.

Para resolver esse problema, revogaremos os arquivos vulneráveis do sistema VBS que não forem atualizados. Devido ao grande número de arquivos relacionados à VBS que devem ser bloqueados, usamos uma abordagem alternativa para bloquear versões de arquivo que não são atualizadas.

Escopo do Impacto

Todos os dispositivos Windows que dão suporte a VBS são afetados por esse problema. Isso inclui dispositivos físicos locais e VMs (máquinas virtuais). A VBS é compatível com o Windows 10 e versões posteriores do Windows, e com o Windows Server 2016 e versões posteriores do Windows Server.

O estado da VBS pode ser verificado por meio da ferramenta Informações do Sistema da Microsoft (Msinfo32.exe). Essa ferramenta coleta informações sobre seu dispositivo. Depois de iniciar o Msinfo32.exe, role para baixo até a linha de Segurança baseada em virtualização. Se o valor dessa linha estiver Em execução, a VBS estará habilitada e em execução.

Caixa de diálogo de Informações do Sistema com a linha "Segurança baseada em virtualização" realçada

O estado da VBS também pode ser verificado com o Windows PowerShell usando a classe WMI Win32_DeviceGuard. Para consultar o estado da VBS do PowerShell, abra uma sessão do Windows PowerShell elevada e execute o seguinte comando:

Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard

Depois de executar o comando do PowerShell acima, o status de estado da VBS deve ser um dos seguintes.

Nome de campo

Status

VirtualizationBasedSecurityStatus

  • Se o campo for igual a 0, a VBS não está habilitada.

  • Se o campo for igual a 1, a VBS está habilitada, mas não está em execução.

  • Se o campo for igual a 2, a VBS está habilitada e em execução.

Mitigações disponíveis

Para todas as versões com suporte do Windows 10, versão 1809 e versões posteriores do Windows, Windows Server 2019 e versões posteriores do Windows Server, os administradores podem implantar uma política de revogação assinada pela Microsoft (SkuSiPolicy.p7b). Isso impedirá que versões vulneráveis de arquivos do sistema VBS que não são atualizados sejam carregadas pelo sistema operacional.

Observação Mitigações adicionais e suporte à mitigação para todas as versões com suporte do Windows 10, versão 1507 e versões anteriores do Windows, do Windows Server 2016 e versões anteriores do Windows Server estão planejadas para atualizações futuras.

Quando essa política for aplicada a um dispositivo Windows, a política também será bloqueada ao dispositivo adicionando uma variável ao firmware UEFI. Durante a inicialização, a política é carregada e o Windows bloqueia o carregamento de binários que violam a política. Se o bloqueio UEFI for aplicado e a política for removida ou substituída por uma versão mais antiga, o gerenciador de inicialização do Windows não será iniciado e o dispositivo também não. Essa falha de inicialização não mostrará um erro e o sistema seguirá para a próxima opção de inicialização disponível, o que pode resultar em um loop de inicialização.

Para que a mitigação de política funcione, o dispositivo deve ser atualizado com a atualização do Windows lançada em ou após 13 de agosto de 2024. Se houver atualizações ausentes, o dispositivo pode não começar com a mitigação aplicada ou a mitigação pode não funcionar conforme o esperado. Além disso, as mitigações descritas em KB5025885 devem ser aplicadas ao seu dispositivo.

Importante Não aplique essa mitigação a versões do Windows anteriores ao Windows 10, versão 1809 ou versões do Windows Server anteriores ao Windows Server 2019. Se a mitigação for aplicada a dispositivos sem suporte, os dispositivos não serão iniciados e você receberá um erro 0xc0000428. Você precisará seguir as instruções na seção Procedimento de remoção e recuperação de política para recuperar.

Caixa de diálogo de recuperação indicando que seu dispositivo precisa ser reparado

Noções básicas sobre riscos de mitigação

Você precisa estar ciente de possíveis riscos antes de aplicar a política de revogação assinada pela Microsoft. Examine esses riscos e faça as atualizações necessárias para a mídia de recuperação antes de aplicar a mitigação.

  • Código de Integridade do Modo de Usuário (UMCI) A política de revogação assinada pela Microsoft permite a integridade do código do modo de usuário para que as regras na política sejam aplicadas a binários do modo de usuário. O UMCI também habilita a Segurança de Código Dinâmico por padrão. A aplicação desses recursos pode introduzir problemas de compatibilidade com aplicativos e scripts, impedindo sua execução e impactando o desempenho no tempo de inicialização. Antes de implantar a mitigação, siga as instruções para implantar a política do modo de auditoria para testar possíveis problemas.

  • Bloqueio UEFI e Desinstalação de atualizações. Depois de aplicar o bloqueio UEFI com a política de revogação assinada pela Microsoft em um dispositivo, o dispositivo não poderá ser revertido (desinstalando atualizações do Windows, usando um ponto de restauração ou por outros meios) se você continuar aplicando a Inicialização Segura. Mesmo reformatando o disco não removerá o bloqueio UEFI da mitigação se ele já tiver sido aplicado. Isso significa que, se você tentar reverter o sistema operacional Windows para um estado anterior que não tem a mitigação aplicada, o dispositivo não será iniciado, nenhuma mensagem de erro será exibida e a UEFI prosseguirá para a próxima opção de inicialização disponível. Isso pode resultar em um loop de inicialização. Você deve desabilitar a Inicialização Segura para remover o bloqueio UEFI. Esteja ciente de todas as possíveis implicações e teste minuciosamente antes de aplicar as revogações descritas neste artigo ao seu dispositivo.

  • Mídia de Inicialização Externa. Depois que as mitigações de bloqueio UEFI tiverem sido aplicadas a um dispositivo, a mídia de inicialização externa deverá ser atualizada com as atualizações do Windows datadas em ou após 13 de agosto de 2024 e com a política de revogação assinada pela Microsoft (SkuSiPolicy.p7b). Se a mídia de inicialização externa não for atualizada, o dispositivo poderá não ser inicializado a partir dessa mídia. Consulte as instruções na seção Atualizar mídia de inicialização externa antes de aplicar as mitigações. A mídia de inicialização atualizada com a política de revogação assinada pela Microsoft só deve ser usada para inicializar dispositivos que tenham a mitigação já aplicada.  Se ela for usada com dispositivos sem a mitigação, o bloqueio UEFI será aplicado durante a inicialização a partir da mídia de inicialização. Os inícios subsequentes do disco falharão, a menos que o dispositivo seja atualizado com a mitigação ou o bloqueio UEFI seja removido.

  • Ambiente de Recuperação do Windows. O WinRE (Ambiente de Recuperação do Windows) no dispositivo deve ser atualizado com as atualizações do Windows datadas de 13 de agosto de 2024 antes que o SkuSipolicy.p7b seja aplicado ao dispositivo. A omissão desta etapa pode impedir que o WinRE execute o recurso Restaurar PC.  Para obter mais informações, consulte Adicionar um pacote de atualização ao Ambiente de Recuperação do Windows.

  • Inicialização do PXE (ambiente de execução de pré-inicialização). Se a mitigação for implantada em um dispositivo e você tentar usar a inicialização do PXE, o dispositivo não será iniciado a menos que as mitigações também sejam aplicadas às fontes de inicialização de rede (raiz em que bootmgfw.efi está presente). Se um dispositivo iniciar a partir de uma fonte de inicialização de rede que tenha a mitigação aplicada, o bloqueio UEFI será aplicado ao dispositivo e afetará as inicializações subsequentes. Não recomendamos implantar mitigações em fontes de inicialização de rede, a menos que todos os dispositivos em seu ambiente tenham as mitigações implantadas.  

Diretrizes de implantação de mitigação

Para resolver os problemas descritos neste artigo, você pode implantar uma política de revogação assinada pela Microsoft (SkuSiPolicy.p7b). Essa mitigação só tem suporte no Windows 10, versão 1809 e versões posteriores do Windows, no Windows Server 2019 e versões posteriores do Windows Server. Antes de implantar a política de revogação assinada pela Microsoft (SkuSiPolicy.p7b), você deve testar problemas de compatibilidade usando uma política de modo de auditoria.

Observação Se você usar o BitLocker, verifique se a chave de recuperação do BitLocker foi backup. Você pode executar o seguinte comando de um prompt de comando administrador e anotar a senha numérica de 48 dígitos:

manage-bde -protectors -get %systemdrive%​​​​​​​

Implementando uma política de modo de auditoria

A política de revogação assinada pela Microsoft (SkuSiPolicy.p7b) impõe a integridade do código do modo de usuário (UMCI) e a Segurança de Código Dinâmico. Esses recursos podem ter problemas de compatibilidade com os aplicativos do cliente. Antes de implantar a mitigação, você deve implantar uma política de auditoria para detectar problemas de compatibilidade.

Você tem duas opções de política de auditoria:

  • Use a política de auditoria siPolicy.p7b fornecida,

  • Ou compile seu próprio binário de política de auditoria a partir de um arquivo XML fornecido.

Recomendamos usar o binário de política de auditoria SiPolicy.p7b fornecido, a menos que você já tenha implantado uma política do WDAC (Windows Defender Application Guard) existente. O binário de política de auditoria fornecido não será bloqueado pela UEFI. A mídia de inicialização externa e a mídia de recuperação não precisam ser atualizadas antes de aplicar a política de auditoria.

A Integridade de Código do Windows avaliará os binários do modo de utilizador e kernel em relação às regras na política de auditoria. Se a integridade do código identificar um aplicativo ou script que viola a política, será gerado um evento de log de eventos do Windows com informações sobre o aplicativo ou script bloqueado e informações sobre a política imposta. Esses eventos podem ser usados para determinar se há aplicativos ou scripts incompatíveis sendo usados em seu dispositivo. Para obter mais informações, consulte a seção Logs de eventos do Windows.

A política de auditoria SiPolicy.p7b está incluída na atualização do Windows datada em ou após 13 de agosto de 2024 para todos os sistemas operacionais Windows com suporte do Windows 10, versão 1809 e versões posteriores do Windows, Windows Server 2019 e versões posteriores do Windows Server. Essa política de auditoria só deve ser aplicada a dispositivos que tenham a atualização do Windows de 13 de agosto de 2024 ou posterior instalada, caso contrário a política de auditoria pode não se comportar conforme o esperado.

Para implantar a política de auditoria SiPolicy.p7b fornecida, siga estas etapas:

  1. Execute os seguintes comandos em uma solicitação do Windows PowerShell com privilégios elevados:

    # Inicialize o local e o destino da política

    $PolicyBinary = $env:windir+"\System32\SecureBootUpdates\VbsSI_Audit.p7b"

    $DestinationBinary = $env:windir+"\System32\CodeIntegrity\SiPolicy.p7b"

    # Copie o binário da política de auditoria

    Copy-Item -Path $PolicyBinary -Destination $DestinationBinary -force

  2. Reinicie o dispositivo.

  3. Confirme se a política foi carregada no Visualizador de Eventos usando as informações na seção Eventos de ativação da política.

  4. Teste usando aplicativos e scripts enquanto a política é aplicada para identificar problemas de compatibilidade.

Para desinstalar a política de auditoria SiPolicy.p7b, siga estas etapas:

  1. Execute os seguintes comandos em uma solicitação do Windows PowerShell com privilégios elevados:

    # Inicialize o local da política

    ​​​​​​​$PolicyBinary = $env:windir+"\System32\CodeIntegrity\SiPolicy.p7b"

    # Remova o SiPolicy.p7b

    Remove-Item -Path $PolicyBinary -force

  2. Reinicie o dispositivo.

  3. Confirme se a política de auditoria não foi carregada no Visualizador de Eventos usando as informações na seção Eventos de ativação da política.

Se você usar o WDAC para gerenciar aplicativos e drivers com permissão para serem executados em seus dispositivos, talvez você já esteja usando uma política chamada “SiPolicy.p7b”. Para todos os sistemas operacionais Windows com suporte do Windows 10, versão 1903 e versões posteriores do Windows, Windows Server 2022 e versões posteriores do Windows Server, você pode usar o arquivo XML fornecido para criar e implantar uma política de auditoria usando o formato de política múltipla do WDAC. Para obter instruções sobre como criar e implantar o binário da política de auditoria, consulte Implantando políticas do WDAC (Controle de Aplicativos do Windows Defender).

Está disponível um arquivo XML com as regras de política de auditoria em dispositivos com a atualização do Windows datada de 13 de agosto de 2024 ou posterior. O arquivo XML está localizado em “%systemroot%\schemas\CodeIntegrity\ExamplePolicies\VbsSI_Audit.xml”.

Se você usar a política do WDAC no Windows 10, versão 1809 e em versões anteriores do Windows ou no Windows Server 2016 e em versões anteriores do Windows Server, será necessário substituir a política do WDAC existente pela política de auditoria para testar problemas de compatibilidade com a mitigação.

Implantando uma política de revogação assinada pela Microsoft (SkuSiPolicy.p7b)

A política de revogação assinada pela Microsoft está incluída como parte da atualização do Windows datada de 13 de agosto de 2024 ou posterior. Essa política só deve ser aplicada a dispositivos que tenham a atualização de 13 de agosto de 2024 ou posterior instalada. Se houver atualizações ausentes, o dispositivo pode não começar com a mitigação aplicada ou a mitigação pode não funcionar conforme o esperado.

Para implementar a política de revogação assinada pela Microsoft (SkuSiPolicy.p7b), siga estas etapas:

  1. Execute os seguintes comandos em uma solicitação do Windows PowerShell com privilégios elevados:

    $PolicyBinary = $env:windir+"\System32\SecureBootUpdates\SkuSiPolicy.p7b" $MountPoint = "C:\EFIMount"

    $EFIDestinationFolder = "$MountPoint\EFI\Microsoft\Boot" $EFIPartition = (Get-Partition | Where-Object IsSystem). AccessPaths[0] if (-Not (Test-Path $MountPoint)) { New-Item -Path $MountPoint -Type Directory -Force } $MountPoint $EFIPartition mountvol if (-Not (Test-Path $EFIDestinationFolder)) { New-Item -Path $EFIDestinationFolder -Type Directory -Force }

    Copy-Item -Path $PolicyBinary -Destination $EFIDestinationFolder -Force

    mountvol $MountPoint /D

  2. Reinicie o dispositivo.

  3. Confirme se a política foi carregada no Visualizador de Eventos usando as informações na seção Logs de Eventos do Windows.

Observações

  • Você não deve remover o arquivo de revogação (política) SkuSiPolicy.p7b depois que ele for implantado. É possível que seu dispositivo ão seja mais capaz de iniciar se o arquivo for removido.

  • Se o dispositivo não iniciar, consulte a seção Procedimento de recuperação.

Atualizando mídia de inicialização externa

Para usar mídia de inicialização externa com um dispositivo que tenha uma política de revogação assinada pela Microsoft aplicada, a mídia de inicialização externa deve ser atualizada com o arquivo de política aplicado. Além disso, ela deve incluir as atualizações do Windows datadas de 13 de agosto de 2024 ou posterior. Se a mídia não incluir as atualizações, a mídia não será iniciada.

A mídia de inicialização atualizada com a política de revogação assinada pela Microsoft só deve ser usada para inicializar dispositivos que tenham a mitigação já aplicada.  Se ela for usada com dispositivos sem a mitigação, o bloqueio UEFI será aplicado durante a inicialização a partir da mídia de inicialização. Os inícios subsequentes do disco falharão, a menos que o dispositivo seja atualizado com a mitigação ou o bloqueio UEFI seja removido.

Importante Recomendamos que vocêCrie uma unidade de recuperação antes de continuar. Essa mídia pode ser usada para reinstalar um dispositivo caso haja um problema importante.

Use as etapas a seguir para atualizar a mídia de inicialização externa:

  1. Vá para um dispositivo em que as atualizações do Windows lançadas em ou após 13 de agosto de 2024 foram instaladas.

  2. Monte a mídia de inicialização externa como uma letra da unidade. Por exemplo, monte um pen drive como D:.

  3. Clique em Iniciar, digite Criar uma unidade de recuperação na caixa Pesquisare clique em Criar um painel de controle de unidade de recuperação. Siga as instruções para criar uma unidade de recuperação usando o pen drive montado.

  4. Com a mídia recentemente criada montada, copie o arquivo SkuSiPolicy.p7b para <MediaRoot>\EFI\Microsoft\Boot (por exemplo, D:\EFI\Microsoft\Boot).

  5. Remova com segurança o pen drive montado.

Se você gerenciar a mídia instalável em seu ambiente usando a mídia de instalação atualizar o Windows com diretrizes de Atualização Dinâmica, siga estas etapas:

  1. Vá para um dispositivo em que as atualizações do Windows lançadas em ou após 13 de agosto de 2024 foram instaladas.

  2. Siga as etapas em Atualizar a mídia de instalação do Windows com a Atualização Dinâmica para criar mídia que tenha as atualizações do Windows lançadas em ou após 13 de agosto de 2024 instaladas.

  3. Coloque o conteúdo da mídia em uma pen drive USB e monte o pen drive como uma letra de unidade. Por exemplo, monte o pen drive como D:.

  4. Copie SkuSiPolicy.p7b para <MediaRoot>\EFI\Microsoft\Boot (por exemplo, D:\EFI\Microsoft\Boot).

  5. Remova com segurança o pen drive montado.

Logs de Eventos do Windows

O Windows registra eventos quando políticas de integridade de código, incluindo SkuSiPolicy.p7b, são carregadas e quando um arquivo é impedido de carregar devido à imposição da política. Você pode usar esses eventos para verificar se a mitigação foi aplicada.

Os logs de integridade de código estão disponíveis no Visualizador de Eventos do Windows em Logs de aplicativos e serviços > Microsoft > Windows > CodeIntegrity > Operacional > Logs de Aplicativos e Serviços> Logs de serviços > Microsoft > Windows > AppLocker > MSI e Script.

Para obter mais informações sobre eventos de integridade de código, veja o Guia operacional de Controle de Aplicativos do Windows Defender.

Eventos de ativação de política

Os eventos de ativação de políticas estão disponíveis no Visualizador de Eventos do Windows em Logs de Aplicativos e Serviços > Microsoft > Windows > CodeIntegrity > Operacional.

O evento 3099 do CodeIntegrity indica que uma política foi carregada e inclui detalhes sobre a política carregada. As informações no evento incluem o nome amigável da política, um GUID (identificador global exclusivo) e um hash da política. Estarão presentes vários eventos do CodeIntegrity Event 3099 se existirem várias políticas de integridade de código aplicadas ao dispositivo.

Quando a política de auditoria fornecida for aplicada, haverá um evento com as seguintes informações:

  • PolicyNameBuffer – Política de Auditoria de Segurança Baseada em Virtualização do Microsoft Windows

  • PolicyGUID – {a244370e-44c9-4c06-b551-f6016e563076}

  • PolicyHash – 98FC5872FD022C7DB400953053756A6E62A8F24E7BD8FE080C6525DFBCA38387

Política de Auditoria de Segurança Baseada em Virtualização da Microsoft

Quando a política de revogação assinada pela Microsoft (SkuSiPolicy.p7b) for aplicada, haverá um evento com as seguintes informações (consulte captura de tela do evento CodeIntegrity 3099 abaixo):

  • PolicyNameBuffer – Política de SI de SKU do Microsoft Windows

  • PolicyGUID – {976d12c8-cb9f-4730-be52-54600843238e}

  • PolicyHash – 107E8FDD187C34CF8B8B8EA46A4EE99F0DB60F491650DC989DB71B4825DC73169D

Política de SI de SKU do Microsoft Windows

Se você aplicou a política de auditoria ou a mitigação ao seu dispositivo e o Evento CodeIntegrity 3099 para a política aplicada não está presente, a política não está sendo imposta. Consulte as Instruções de implantação para verificar se a política foi instalada corretamente.

Auditar e bloquear eventos

Os eventos de auditoria e bloqueios de integridade de código estão disponíveis no Visualizador de Eventos do Windows em Logs de Aplicativos e Serviços > Microsoft > Windows > CodeIntegrity > Operacional > Logs de Aplicativos e Serviços> Microsoft > Windows > AppLocker > MSI e Script.

O antigo local de registro inclui eventos sobre o controle de executáveis, dlls e drivers. O último local de registro inclui eventos sobre o controle de instaladores MSI, scripts e objetos COM.

O Evento 3076 do CodeIntegrity no log "CodeIntegrity – Operacional" é o principal evento de bloqueio para políticas de modo de auditoria e indica que um arquivo teria sido bloqueado se uma política fosse aplicada. Esse evento inclui informações sobre o arquivo bloqueado e sobre a política imposta. Para arquivos que seriam bloqueados pela mitigação, as informações da política no Evento 3077 corresponderão às informações de política da política de auditoria do Evento 3099.

O Evento 3077 do CodeIntegrity no log "CodeIntegrity – Operacional" indica que um executável, .dll ou driver foi bloqueado para carregamento. Esse evento inclui informações sobre o arquivo bloqueado e sobre a política imposta. Para arquivos bloqueados pela mitigação, as informações de política no Evento CodeIntegrity 3077 corresponderão às informações de política de SkuSiPolicy.p7b do Evento CodeIntegrity 3099. O Evento CodeIntegrity 3077 não estará presente se não houver nenhum executável, .dll ou drivers violando a política de integridade de código em seu dispositivo.

Para outros eventos de auditoria e bloqueio de integridade de código, consulte Noções básicas sobre eventos do Controle de Aplicativos.

Procedimento de Remoção e Recuperação de Política

Se algo der errado depois de aplicar a mitigação, você poderá usar as seguintes etapas para remover a mitigação:

  1. Suspenda o BitLocker se ele estiver habilitado. Execute o seguinte comando em uma janela do Prompt de Comando com privilégios elevados:

    Manager-bde -protectors -disable c: -rebootcount 3

  2. Desative a Inicialização Segura no menu do UEFI BIOS. O procedimento para desativar a Inicialização Segura difere entre fabricantes e modelos de dispositivos. Para obter ajuda para localizar onde desativar a Inicialização Segura, consulte a documentação do fabricante do dispositivo. Mais detalhes podem ser encontrados em Desabilitar Inicialização Segura.

  3. Remova a política SkuSiPolicy.p7b.

    1. Inicie o Windows normalmente e entre. A política SkuSiPolicy.p7b tem de ser removida do seguinte local:

      • <Partição do Sistema EFI>\Microsoft\Boot\SKUSiPolicy.p7b

    2. Execute o script a seguir em uma sessão Windows PowerShell para limpar a política desses locais:

      $PolicyBinary = $env:windir+"\System32\SecureBootUpdates\SkuSiPolicy.p7b" $MountPoint = "C:\EFIMount"

      $EFIPolicyPath = "$MountPoint\EFI\Microsoft\Boot\SkuSiPolicy.p7b"

      $EFIDestinationFolder="$MountPoint\EFI\Microsoft\Boot" $EFIPartition = (Get-Partition | Where-Object IsSystem).AccessPaths[0] if (-Not (Test-Path $MountPoint)) { New-Item -Path $MountPoint -Type Directory -Force } mountvol $MountPoint $EFIPartition if (-Not (Test-Path $EFIDestinationFolder)) { New-Item -Path $EFIDestinationFolder -Type Directory -Force }

      if (Test-Path   $EFIPolicyPath ) {Remove-Item -Path $EFIPolicyPath -Force }

      mountvol $MountPoint /D

  4. Ative a Inicialização Segura a partir do BIOS. Consulte a documentação do fabricante do dispositivo para saber onde ativar a Inicialização Segura. Se você desativou a Inicialização Segura na Etapa 1 e sua unidade está protegida pelo BitLocker, suspenda a proteção do BitLocker e ative a Inicialização Segura no menu BIOS UEFI.

  5. Ative o BitLocker. Execute o seguinte comando em uma janela do Prompt de Comando com privilégios elevados:

    Manager-bde -protectores -enable c:

  6. Reinicie o dispositivo.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.