Buffer overflow mitigations:
ASLR (randomizes memory layout),
DEP/NX (non-executable stack/heap),
Stack canaries (detect overflows before return),
Safe languages (Rust, Go prevent by design).
Multiple mitigations together raise the bar significantly. ROP (Return-Oriented Programming) can bypass DEP alone. ASLR + DEP together require info leak to bypass. Modern exploitation requires chaining multiple techniques.