<문제 해설>
Stack Protection : Stack Overflow를 탐지하고 보안을 강화시키는 기법
Stack Guard : Stack 상에 일정한 주소번지에 프로그램이 선언한 canary를 심어 두어, 스택의 변조 된 경우에, canary를 체크하여 프로그램이 비정상적으로 종료 시키는 기법
Stack Shield : 함수의 리턴주소를 복사하여 실제 리턴주소를 참조하지 않고 함수를 리턴해주는 기법
Syslog : 시스템에서 로그메시지를 처리하기 위해서 제공
Recovery Control : 부적절한 사건/상황으로 인해 발생한 피해를 극복, 장애/혼란을 정돈하고 정상상태로 회복
+ 카나리(Canary 또는 Canaries) : buffer와 SFP 사이에 buffer overflow를 탐지하기 위한 특정 값(canary value)를 삽입하는 기법
+ Canary 종류 : terminator, random, random XOR (스택가드는 canary 세 가지 모두를 지원)
+ ProPolice 종류 : terminator와 random
+ StackGuard와 ProPolice는 (함수 포인터들을 오버플로우하는) 자동으로 할당된 구조체들에서 오버플로우를 방어하지 못한다.