operating system Address Space Layout Randomization Randomizing memory addresses so attackers can't reliably predict memory addresses they need to target to exploit it