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

linux 환경에서의 메모리 보호기법을 알아보자(1)
지금부터 Linux 환경에서의 메모리 보호 기법에 대해 알아봅시다! 이번 편에서는 ASLR, NX, ASCII-Armor, Stack canary에 대해 알아보겠습니다. 위키를 통해 "메모리 보호"라는 말의 정의를 알아보고 넘어갑시다. 실습 환경: CentOS 6.7 (32bit) ASLR : Address Space Layout Randomization 먼저 ASLR에 대해 알아보겠습니다. ASLR이란, 메모리상의 공격을 어렵게 하기 위해 스택이나 힙, 라이브러리 등의 주소를 랜덤으로 프로세스 주소 공간에...
https://bpsecblog.wordpress.com/2016/05/16/memory_protect_linux_1/


Seonglae Cho