버퍼 오버플로우 공격 대응 방법 중 ASLR(Address Space … | [9급 지방직 정보보호론] 19년 1회차 기출문제 상세 페이지
1[9급 지방직 정보보호론] 19년 1회차
버퍼 오버플로우 공격 대응 방법 중 ASLR(Address Space Layout Randomization)에 대한 설명으로 옳은 것은?
1
함수 호출 시 복귀 주소를 특수 스택에 저장하고 종료 시 해당 스택에 저장된 값과 비교하여 공격을 탐지한다.
2
스택에 있는 함수 복귀 주소를 실행 가능한 임의의 libc 영역 내 주소로 지정하여 공격자가 원하는 함수의 실행을 방해한다.
3
함수의 복귀 주소와 버퍼 사이에 랜덤(Random) 값을 저장하여 해당 주소의 변조 여부를 탐지한다.
4
함수의 복귀 주소 위조 시, 공격자가 원하는 메모리 공간의 주소를 지정하기 어렵게 한다.
해설
ASLR은 스택·힙·라이브러리 등의 메모리 주소를 실행할 때마다 무작위로 배치해, 복귀 주소를 위조해도 원하는 주소를 지정하기 어렵게 한다.
공격자는 셸코드나 라이브러리 함수의 정확한 위치를 알아야 하는데, 주소가 매번 바뀌므로 공격 성공률이 크게 떨어진다.
- 복귀 주소를 별도 스택에 저장했다가 종료 시 비교하는 방식은 스택 실드에 해당한다.
- 복귀 주소를 libc 영역 주소로 지정하는 것은 주소 배치를 무작위화하는 ASLR의 동작이 아니다.
- 복귀 주소와 버퍼 사이에 랜덤 값을 두고 변조를 탐지하는 방식은 스택 가드(카나리)이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.