在 Stack 的 return pointer 前放上一個 random number,在回傳前檢查這個數字是否有被改到,若有被改到就代表值被蓋掉了
libsafe
Wikipedia - Buffer overflow protection
Wikipedia - Stack-based memory allocation
Wikipedia - Stack buffer overflow
[2014] Strong” stack protection for GCC
[2014] Libsafe: Protecting Critical Elements of Stacks
[1989] StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks
Memory Exploits & Defenses
Lock IT Down: Use Libsafe to secure Linux from buffer overflows