Buffer Overflow Attacks: Detect, Exploit, Prevent