ASLR

sigla

segurançaprogramação

Significa: address space layout randomization

Aleatorizar onde as regiões de memória de um processo caem, de modo que seus endereços mudem a cada execução.

A exploração geralmente exige saber onde algo está, então embaralhar a pilha, o heap, as bibliotecas e, com PIE, o próprio executável transforma um ataque confiável em um chute. Sua fraqueza é qualquer coisa que vaze um endereço, já que um único ponteiro vazado pode desaleatorizar uma região inteira, e é por isso que bugs de divulgação de informação são classificados com mais gravidade do que seu impacto direto sugere. Junto de NX e canários, é a terceira perna do endurecimento padrão de processos.

A aleatorização do espaço de endereços coloca código e dados em endereços imprevisíveis, para que um exploit não possa contar com saber onde está cada coisa. Ela converte um ataque confiável em outro que precisa primeiro descobrir o mapa.

Sua eficácia depende inteiramente da entropia e de nada vazar. Em sistemas de 32 bits a aleatoriedade disponível era pequena o bastante para força bruta; uma única divulgação de informação que revele um endereço frequentemente derrota o esquema inteiro, porque tudo naquele módulo se desloca junto. É mitigação genuína e barata que eleva o custo da exploração, e descrevê-la como proteção em vez de obstáculo exagera o que ela faz.

Também conhecido como: address space layout randomization

Todos os verbetes do glossário