Escritório

Implementação da Randomização do Layout do Espaço de Endereço no Windows

Windows Virtual Desktop 2020 updates | Microsoft Ignite 2020

Windows Virtual Desktop 2020 updates | Microsoft Ignite 2020
Anonim

Os pesquisadores de segurança da CERT afirmaram que o Windows 10, Windows 8,1 e Windows 8 não propriamente randomizam cada aplicativo se o ASLR obrigatório do sistema for habilitado via EMET ou Windows Defender Exploit Guard. A Microsoft respondeu dizendo que a implementação do ASLR (Address Space Layout Randomization) no Microsoft Windows está funcionando como esperado. Vamos dar uma olhada no problema

O que é ASLR

O ASLR é expandido como randomização de layout de espaço de endereço, o recurso fez uma estreia com o Windows Vista e foi projetado para impedir ataques de reutilização de código. Os ataques são evitados através do carregamento de módulos executáveis ​​em endereços não previsíveis, mitigando assim os ataques que geralmente dependem do código colocado em locais previsíveis. O ASLR é ajustado para combater técnicas de exploração, como a programação orientada a retorno, que se baseia em código que geralmente é carregado em um local previsível. Além disso, uma das grandes desvantagens do ASLR é que ele precisa estar vinculado à sinalização / DYNAMICBASE.

Escopo de uso

O ASLR oferecia proteção ao aplicativo, mas não cobrir as mitigações em todo o sistema. Na verdade, é por esse motivo que o Microsoft EMET foi lançado. A EMET garantiu que abrangesse as mitigações de todo o sistema e específicas do aplicativo. O EMET terminou como o rosto de mitigações em todo o sistema, oferecendo um front-end para os usuários. No entanto, a partir da atualização do Windows 10 Fall Creators, os recursos do EMET foram substituídos pelo Windows Defender Exploit Guard.

O ASLR pode ser ativado obrigatoriamente para o EMET e o Windows Defender Exploit Guard para códigos não vinculados ao sinalizador / DYNAMICBASE e isso pode ser implementado em uma base por aplicativo ou em uma base de todo o sistema. O que isso significa é que o Windows irá realocar automaticamente o código para uma tabela de realocação temporária e, portanto, o novo local do código será diferente para cada reinicialização. A partir do Windows 8, as mudanças de projeto determinaram que o ASLR de todo o sistema deveria ter um ASLR de baixo para cima ativado pelo sistema para fornecer entropia ao ASLR obrigatório.

O Problema

ASLR é sempre mais eficiente quando a entropia é mais. Em termos muito mais simples, o aumento na entropia aumenta o número de espaços de pesquisa que precisam ser explorados pelo invasor. No entanto, tanto o EMET quanto o Windows Defender Exploit Guard habilitam o ASLR em todo o sistema sem habilitar o ASLR de baixo para cima do sistema. Quando isso acontece, os programas sem / DYNMICBASE serão realocados, mas sem entropia. Como explicamos anteriormente, a ausência de entropia tornaria relativamente mais fácil para os invasores, pois o programa reinicializará o mesmo endereço todas as vezes.

Esse problema está afetando atualmente o Windows 8, Windows 8.1 e Windows 10 que possuem um ASLR de sistema inteiro ativado via Windows Defender Exploit Guard ou EMET. Uma vez que a realocação de endereços é de natureza não-DYNAMICBASE, normalmente substitui a vantagem de ASLR.

O que a Microsoft tem a dizer

A Microsoft foi rápida e já emitiu uma declaração. Isso é o que o pessoal da Microsoft tinha a dizer,

“O comportamento do ASLR obrigatório que o CERT observou é por design e o ASLR está funcionando conforme o esperado. A equipe WDEG está investigando o problema de configuração que impede a ativação de todo o sistema de ASLR ascendente e está trabalhando para resolvê-lo adequadamente. Esse problema não cria riscos adicionais, pois só ocorre quando se tenta aplicar uma configuração não padrão às versões existentes do Windows. Mesmo assim, a postura de segurança efetiva não é pior do que a fornecida por padrão e é simples contornar o problema através das etapas descritas neste post ”

Eles detalharam especificamente as soluções alternativas que ajudarão a alcançar o nível desejado de segurança. Há duas soluções alternativas para aqueles que desejam habilitar a ASLR obrigatória e a randomização bottom-up para processos cujo EXE não tenha optado por ASLR.

1] Salve o seguinte em optin.reg e importe-o para habilitar o ASLR e aleatorização de baixo para cima em todo o sistema.

Windows Registry Editor Versão 5.00 [HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Gerenciador de Sessão kernel] "MitigationOptions" = hex: 00,01,01,00,00,00,00,00,00,00,00,00,00,00,00

2] Permita a randomização obrigatória de ASLR e de baixo para cima via programação. configuração específica usando WDEG ou EMET.

Disse Microsoft - Esse problema não cria riscos adicionais, pois só ocorre ao tentar aplicar uma configuração não padrão às versões existentes do Windows.