Stack Protection¶
- Canary (randomly chosen integer)
- 在 Stack 的 return pointer 前放上一個 random number,在回傳前檢查這個數字是否有被改到,若有被改到就代表值被蓋掉了
libsafe
Reference¶
- 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