Cuidado: o Windows implementa ASLR incorretamente, a correção está disponível
A partir do Vista, o Windows vem com a randomização de layout de espaço de endereço (ASLR). ASLR é uma técnica de segurança de computador envolvida na prevenção da exploração de vulnerabilidades de corrupção de memória. A fim de evitar que um invasor salte de forma confiável para, por exemplo, uma função explorada específica na memória, o ASLR organiza aleatoriamente o posições de espaço de endereço de áreas-chave de dados de um processo, incluindo a base do executável e as posições da pilha, heap e bibliotecas. Há um bug no Windows 8 e superior que torna essa técnica inútil, mas você pode consertá-lo.
O recurso ASLR (Address Space Layout Randomization) foi introduzido pela primeira vez no Windows Vista. Ele permite prevenir ataques de reutilização de código. ASLR fornece endereço de memória aleatório para executar o código.
Propaganda
No Windows 8, Windows 8.1 e Windows 10, o recurso ASLR não funciona corretamente. Devido aos padrões de configuração incorretos, o ASLR não está usando endereços de memória aleatórios.
Atualização: Há uma postagem no blog oficial do Technet que explica a sutiação. Leia aqui: Esclarecendo o comportamento do ASLR obrigatório.
A postagem diz:
O problema de configuração não é uma vulnerabilidade, não cria risco adicional e não enfraquece a postura de segurança existente dos aplicativos.
Uma postagem no CERT explica o problema em detalhes.
Tanto o EMET quanto o Windows Defender Exploit Guard habilitam o ASLR de todo o sistema sem habilitar o ASLR de baixo para cima em todo o sistema. Embora o Windows Defender Exploit guard tenha uma opção em todo o sistema para ASLR ascendente em todo o sistema, o valor GUI padrão de "Ativado por padrão" não reflete o valor de registro subjacente (não definido). Isso faz com que programas sem / DYNAMICBASE sejam realocados, mas sem qualquer entropia. O resultado disso é que esses programas serão realocados, mas para o mesmo endereço todas as vezes em reinicializações e até mesmo em sistemas diferentes.
Felizmente, é fácil corrigir o problema.
Corrigir ASLR no Windows 8, Windows 8.1 e Windows 10
- Abra o Aplicativo Editor de registro.
- Vá para a seguinte chave do Registro.
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ kernel
Veja como acessar uma chave de registro com um clique.
- À direita, crie um novo valor REG_BINARY denominado MitigationOptions e defina seus dados de valor como
00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00
- Para que as alterações feitas pelo ajuste do Registro tenham efeito, reinicie o Windows 10.
Para economizar seu tempo, você pode baixar o seguinte ajuste do Registro:
Baixar Registry Tweak
É isso.