ASLR
acronymsecurityprogramming
Stands for: address space layout randomization
Randomizing where a process's memory regions land, so their addresses differ on every run.
Exploitation generally requires knowing where something is, so shuffling the stack, heap, libraries, and with PIE the executable itself turns a reliable attack into a guess. Its weakness is anything that leaks an address, since one leaked pointer can derandomize an entire region, which is why information disclosure bugs are rated more seriously than their direct impact suggests. Paired with NX and canaries, it is the third leg of standard process hardening.
Address space layout randomization places code and data at unpredictable addresses so an exploit cannot rely on knowing where anything is. It converts a reliable attack into one that must first discover the layout.
Its effectiveness depends entirely on entropy and on nothing leaking. On 32-bit systems the available randomness was small enough to brute force; a single information disclosure that reveals one address often defeats the whole scheme, because everything in that module shifts together. It is a genuine and cheap mitigation that raises exploitation cost, and describing it as protection rather than as an obstacle overstates what it does.
Also known as: address space layout randomization