WCU / Cybersecurity
~/CSC 472/Class 05/KP 06
Class 05 · KP 06 / 19

ASLR: Address Space Layout Randomization

High address 0x7fff...Stackgrows downShared libs / mmap (libc)Heapgrows upBSS / Dataglobals.text (code)read + executeLow address 0x0000
Linux x86-64 process address space: the stack grows down, the heap grows up.
  • Problem it kills: exploits with hardcoded addresses (buffer address, libc system, gadget offsets).
  • Idea: randomize base addresses each run, so the attacker cannot know where anything is.
  • Randomized regions: stack, heap, mmap (shared libraries), and — if the binary is PIE — the executable image itself.
  • Entropy = bits of randomness. More bits = harder to guess. 64-bit gives far more entropy than 32-bit (where brute force was often feasible).
Key Takeaway

ASLR turns "jump to a known address" into "jump to an unknown address." Its whole security rests on the address staying secret.