문제
메모리상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술은?
① Stack Guard ② Bridge ③ ASLR ④ FIN
정답
1번
해설
정답: 1. 스택 가드(Stack Guard)는 복귀 주소와 변수 사이에 카나리(canary) 값을 저장하고 변경 여부로 버퍼 오버플로우를 탐지하는 기술이다.
오답 풀이
- 1번: Stack Guard가 정답이다.
- 2번: Bridge는 네트워크 연결 장비이다.
- 3번: ASLR은 메모리 주소를 무작위화하는 기술이다.
- 4번: FIN은 TCP 연결 종료 플래그이다.
보충 개념 Stack Guard는 카나리 값으로 스택 버퍼 오버플로우 공격을 탐지/방어한다.