시스템 보안정보보안기사 · 2013년10월26일 · 19/100
19.다음 중 버퍼 오버플로우를 막기 위해 사용하는 방법이 아닌 것은?
1
Non-executable 스택
2
ASLR(Address Space Layout Randomization)
3
RTL(return to libc)정답
4
스택 가드(Stack Guard)
해설
"Non-executable 스택"은 스택 메모리 영역을 실행 가능한 코드로 사용하지 않도록 설정하는 보호 기법 "ASLR (Address Space Layout Randomization)"은 메모리 주소의 랜덤화를 통해 악의적인 공격자가 특정 주소에 접근하는 것을 어렵게 만드는 보호 기법, 실행 시마다 주소 공간을 랜덤하게 배치하여 버퍼 오버플로우 공격의 효과를 최소화합니다. "스택 가드 (Stack Guard)"는 컴파일러나 런타임 환경에서 제공하는 보호 기법, 스택의 버퍼 오버플로우를 감지하고 이를 방지 스택 가드는 스택의 함수 프레임에 추가적인 보호 정보를 저장하여, 버퍼 오버플로우가 발생할 경우 프로그램을 중단 (3)"RTL (return to libc)"은 공격자가 스택에 악성 코드를 삽입하고 해당 코드를 실행하는 대신, 이미 로드된 라이브러리 함수인 libc의 일부 기능을 이용하여 공격을 수행하는 기법입니다. 악의적인 기능을 실행하기 위해 라이브러리 함수를 이용하는 공격 방법!