Linux Stack Canary


함수 진입 시 스택에 SFP(Saved Frame Pointer)와 return addressr 정보를 저장할 때, 이 정보들이 공격자에 의해 덮어씌워지는 것으로부터 보호하기 위해 스택상의 변수들의 공간과 SFP 사이에 특정한 값을 추가하는데 이 값을 Canary
공격자가 return address를 조작하기 위해 Buffer Overflow 공격을 시도할 때, return address를 덮기 이전에 Canary 값이 먼저 덮어지기 때문에 이 Canary 값의 변조 유무로 Buffer Overflow를 탐지

![](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F46cfc596-ec11-4895-b546-58094dbafe41%2FUntitled.png?table=block&id=8c3f955d-45f0-4bce-a667-b1f1249ca7a3&cache=v2)



> [linux 환경에서의 메모리 보호기법을 알아보자(1)](https://bpsecblog.wordpress.com/2016/05/16/memory_protect_linux_1/)

