Pesquisadores de segurança da CERT afirmaram que o Windows 10, o Windows 8,1 e o Windows 8 não propriamente randomizam todos os aplicativos se o ASLR obrigatório do sistema for habilitado via EMET ou Windows Defender Exploit Guard. A Microsoft respondeu dizendo que a implementação de Alinhamento de Layout de Espaço de Endereço (ASLR) no Microsoft Windows está funcionando conforme o esperado. Vamos dar uma olhada na questão.
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 depende de um código que geralmente é carregado em um local previsível. Que uma das maiores desvantagens do ASLR é que ele precisa estar ligado a / DYNAMICBASE bandeira.
Âmbito de uso
O ASLR oferecia proteção ao aplicativo, mas não cobria 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 habilitado obrigatoriamente para o EMET e o Windows Defender Exploit Guard para códigos que não estão vinculados ao sinalizador / DYNAMICBASE e isso pode ser implementado por aplicativo ou em toda a base do 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 ASLR de baixo para cima do sistema ativado para fornecer entropia para o ASLR obrigatório.
O problema
O ASLR é sempre mais eficaz 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, já que o programa reinicializará o mesmo endereço todas as vezes.
Esse problema está afetando atualmente o Windows 8, o Windows 8.1 e o Windows 10, que têm um ASLR de todo o sistema ativado por meio do Windows Defender Exploit Guard ou EMET. Como a realocação de endereços é de natureza não-DYNAMICBASE, ela normalmente substitui a vantagem do ASLR.
O que a Microsoft tem a dizer
A Microsoft foi rápida e já emitiu uma declaração. Isto é o que o pessoal da Microsoft tinha a dizer,
“The behaviour of mandatory ASLR that CERT observed is by design and ASLR is working as intended. The WDEG team is investigating the configuration issue that prevents system-wide enablement of bottom-up ASLR and is working to address it accordingly. This issue does not create additional risk as it only occurs when attempting to apply a non-default configuration to existing versions of Windows. Even then, the effective security posture is no worse than what is provided by default and it is straightforward to work around the issue through the steps described in this 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 obrigatório e a randomização de baixo para cima em todo o sistema.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Managerkernel] 'MitigationOptions'=hex:00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00
2] Habilite a ASLR obrigatória e a randomização de baixo para cima através da configuração específica do programa usando o WDEG ou o EMET.