Recap of Buffer Overflow Protection Attacker cannot overwrite return address; must guess 32 bit random number Attacker has no memory he can write to, which also permits execution Various data are no longer executable Stack, bss, and data segments are not executable GOT/PLT tables W^X: cannot be modified by attacker ESSENTIALLY NO PERFORMANCE LOSS. Complete coverage on good cpus; hacks for weak ones No violation of POSIX semantics