Pesquisadores descobrem vulnerabilidade de downgrade de sistema operacional que tem como alvo o kernel do Microsoft Windows
Uma nova técnica de ataque pode ser usada para contornar o Driver Signature Enforcement (DSE) da Microsoft em sistemas Windows totalmente corrigidos, levando a ataques de downgrade do sistema operacional (SO).
“Esse desvio permite o carregamento de drivers de kernel não assinados, permitindo que invasores implantem rootkits personalizados que podem neutralizar controles de segurança, ocultar processos e atividades de rede, manter a discrição e muito mais”, disse o pesquisador do SafeBreach, Alon Leviev , em um relatório compartilhado com o The Hacker News.
As descobertas mais recentes se baseiam em uma análise anterior que revelou duas falhas de escalonamento de privilégios no processo de atualização do Windows ( CVE-2024-21302 e CVE-2024-38202 ) que poderiam ser usadas para reverter um software Windows atualizado para uma versão mais antiga contendo vulnerabilidades de segurança não corrigidas.
O exploit se materializou na forma de uma ferramenta chamada Windows Downdate, que, segundo Leviev, poderia ser usada para sequestrar o processo do Windows Update e criar downgrades totalmente indetectáveis, persistentes e irreversíveis em componentes críticos do sistema operacional.
Isso pode ter ramificações graves, pois oferece aos invasores uma alternativa melhor aos ataques do tipo “Traga seu próprio driver vulnerável” ( BYOVD ) , permitindo que eles façam downgrade de módulos primários, incluindo o próprio kernel do sistema operacional.
Posteriormente, a Microsoft abordou o CVE-2024-21302 e o CVE-2024-38202 em 13 de agosto e 8 de outubro de 2024, respectivamente, como parte das atualizações do Patch Tuesday.
A abordagem mais recente desenvolvida por Leviev utiliza a ferramenta Windows Downdate para fazer o downgrade do patch de bypass DSE “ItsNotASecurityBoundary” em um sistema Windows 11 totalmente atualizado.
ItsNotASecurityBoundary foi documentado pela primeira vez pelo pesquisador do Elastic Security Labs Gabriel Landau em julho de 2024 junto com PPLFault, descrevendo-os como uma nova classe de bug com o codinome False File Immutability. A Microsoft o corrigiu no início de maio.
Em poucas palavras, ele explora uma condição de corrida para substituir um arquivo de catálogo de segurança verificado por uma versão maliciosa contendo assinatura de authenticode para um driver de kernel não assinado, após o que o invasor solicita que o kernel carregue o driver.
O mecanismo de integridade de código da Microsoft, que autentica um arquivo usando a biblioteca do modo kernel ci.dll , analisa o catálogo de segurança desonesto para validar a assinatura do driver e carregá-lo, concedendo efetivamente ao invasor a capacidade de executar código arbitrário no kernel.
O bypass do DSE é obtido usando a ferramenta de downgrade para substituir a biblioteca “ci.dll” por uma versão mais antiga (10.0.22621.1376) para desfazer o patch implementado pela Microsoft.
Dito isso, há uma barreira de segurança que pode impedir que tal bypass seja bem-sucedido. Se o Virtualization-Based Security ( VBS ) estiver em execução no host de destino, a varredura do catálogo será realizada pelo Secure Kernel Code Integrity DLL (skci.dll), em oposição ao ci.dll.
No entanto, vale a pena notar que a configuração padrão é VBS sem um bloqueio de Unified Extensible Firmware Interface (UEFI). Como resultado, um invasor pode desativá-lo adulterando as chaves de registro EnableVirtualizationBasedSecurity e RequirePlatformSecurityFeatures.
Mesmo em casos onde o bloqueio UEFI está habilitado, o invasor pode desabilitar o VBS substituindo um dos arquivos principais por uma contraparte inválida. Por fim, as etapas de exploração que um invasor precisa seguir estão abaixo –
- Desativando o VBS no Registro do Windows ou invalidando o SecureKernel.exe
- Fazendo downgrade do ci.dll para a versão sem patch
- Reiniciando a máquina
- Explorando o desvio do DSE ItsNotASecurityBoundary para obter execução de código em nível de kernel
A única instância em que ele falha é quando o VBS é ligado com um bloqueio UEFI e um sinalizador “Mandatory”, o último dos quais causa falha de inicialização quando os arquivos VBS são corrompidos. O modo Mandatory é habilitado manualmente por meio de uma alteração no registro.
“A configuração Mandatory impede que o carregador do SO continue a inicializar caso o Hypervisor, Secure Kernel ou um de seus módulos dependentes falhe ao carregar”, observa a Microsoft em sua documentação. “Deve-se ter cuidado especial antes de habilitar este modo, pois, em caso de qualquer falha dos módulos de virtualização, o sistema se recusará a inicializar.”
Assim, para mitigar completamente o ataque, é essencial que o VBS esteja habilitado com o bloqueio UEFI e o sinalizador Mandatory definido. Em qualquer outro modo, ele torna possível para um adversário desligar o recurso de segurança, executar o downgrade DDL e obter um bypass DSE.
“A principal lição […] é que as soluções de segurança devem tentar detectar e impedir procedimentos de downgrade, mesmo para componentes que não cruzam os limites de segurança definidos”, disse Leviev ao The Hacker News.
Fonte: thehackernews.com