What is Address space layout randomization (ASLR)?

A countermeasure that changes the addresses of the stack, heap, shared libraries and executable every run so attackers cannot easily predict them.

Field: Linkers, Loaders & Executables

Address space layout randomization (ASLR) in the explanations

Questions that mention Address space layout randomization (ASLR) (3)

  1. What is the purpose of ASLR (address space layout randomization)?
  2. Which lists the typical memory layout of a process on Linux and similar systems from low to high addresses?
  3. What is the main reason to build an executable as a PIE (position-independent executable)?

Related terms

Position-independent executable Position-independent code BSS section Dynamic linker Dynamic linking Entry point Executable and Linkable Format (ELF) Global offset table Heap memory Linker

Back to the glossary