ASLR
O que é ASLR?
ASLRA aleatorizacao do espaco de enderecos coloca codigo, pilhas, heaps e bibliotecas em posicoes aleatorias da memoria para impedir que um atacante preveja enderecos.
ASLR e uma mitigacao defensiva que aleatoriza os enderecos base das regioes chave de um processo — executavel, bibliotecas partilhadas, heap, pilha e area mmap — a cada execucao. Foi introduzida pelo projeto PaX em 2001 e hoje esta presente em Linux, Windows, macOS, iOS e Android. Ao tornar o layout da memoria imprevisivel, obriga o atacante a vazar primeiro um endereco antes de executar ataques de reuso de codigo como ROP. Sua eficacia depende da entropia, da cobertura total dos binarios (PIE) e da combinacao com DEP/NX, canarios de pilha e CFI para resistir a sobrescritas parciais e a vazamentos.
● Exemplos
- 01
Linux aleatoriza pilha, heap e base do binario PIE a cada exec.
- 02
Windows reposiciona kernel32.dll e ntdll.dll a cada boot.
● Perguntas frequentes
O que é ASLR?
A aleatorizacao do espaco de enderecos coloca codigo, pilhas, heaps e bibliotecas em posicoes aleatorias da memoria para impedir que um atacante preveja enderecos. Pertence à categoria Segurança de aplicações da cibersegurança.
O que significa ASLR?
A aleatorizacao do espaco de enderecos coloca codigo, pilhas, heaps e bibliotecas em posicoes aleatorias da memoria para impedir que um atacante preveja enderecos.
Como funciona ASLR?
ASLR e uma mitigacao defensiva que aleatoriza os enderecos base das regioes chave de um processo — executavel, bibliotecas partilhadas, heap, pilha e area mmap — a cada execucao. Foi introduzida pelo projeto PaX em 2001 e hoje esta presente em Linux, Windows, macOS, iOS e Android. Ao tornar o layout da memoria imprevisivel, obriga o atacante a vazar primeiro um endereco antes de executar ataques de reuso de codigo como ROP. Sua eficacia depende da entropia, da cobertura total dos binarios (PIE) e da combinacao com DEP/NX, canarios de pilha e CFI para resistir a sobrescritas parciais e a vazamentos.
Como se defender contra ASLR?
As defesas contra ASLR costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para ASLR?
Nomes alternativos comuns: Randomizacao do espaco de enderecos, PIE.
● Termos relacionados
- appsec№ 581
KASLR
O KASLR aleatoriza a base do kernel e o endereco de carga dos modulos a cada boot, impedindo que atacantes usem simbolos fixos do kernel em escaladas locais de privilegios.
- appsec№ 303
DEP
A prevencao de execucao de dados (DEP / NX / W^X) marca paginas de memoria como nao executaveis para impedir que um atacante execute shellcode injetado em pilha ou heap.
- appsec№ 925
Return-Oriented Programming
ROP e uma tecnica de exploracao por reuso de codigo que encadeia pequenas sequencias de instrucoes terminadas em RET para executar computacao arbitraria sem injetar codigo.
- appsec№ 1095
Canario de pilha
Um canario de pilha e um valor secreto colocado entre os buffers locais de uma funcao e o endereco de retorno guardado para detetar estouros de pilha antes que sequestrem o fluxo.
- appsec№ 217
Integridade do fluxo de controlo
A integridade do fluxo de controlo (CFI) restringe chamadas indiretas e retornos a um conjunto pre-calculado de destinos legitimos, bloqueando ROP e JOP.
- appsec№ 670
Seguranca de memoria
A seguranca de memoria e a propriedade de um programa nunca ler, escrever ou executar memoria que nao tenha alocado legitimamente, eliminando classes inteiras de vulnerabilidades.
● Veja também
- № 471Heap Spraying
- № 469Heap Feng Shui
- № 569Programacao orientada a saltos (JOP)
- № 1028Shadow stack
- № 545Intel CET
- № 671Linguagens com seguranca de memoria