버퍼오버플로우 공격을 완화할 수 있는 방법으로 스택과 힙 영역에 쉘코드 등을 실행하지 못하도록 하는 메모리 보호기법에 해당하는 것은?
1
ASLR
오답 이유오답 보기입니다. ‘ASLR’은(는) 이 문항의 판단 기준인 ‘DEP/NX bit’과 구별해야 합니다. 시스템 구성요소·명령·파일·권한 또는 공격 대상의 기능이 정답 조건과 다릅니다.
2
DEP/NX bit
정답 근거정답 보기입니다. ✅ 정답: DEP/NX bitDEP (Data Execution Prevention): 데이터 실행 방지라는 뜻으로, 메모리 영역에서 코드가 실행되는 것을 막는 기술입니다.NX bit (No-Execute bit): 하드웨어적으로 메모리 구역을 '데이터 저장용'과 '코드 실행용'으로 나누는 비트입니다.원리: 공격자가 쉘코드를 **스택(Stack)**이나 힙(Heap) 영역에 주입하더라도, 해당 영역을 '실행 불가능(Non-Executable)' 상태로 설정해두었기 때문에 코드가 실행되지 않고 프로그램이 종료됩니다.❌ 나머지 보기가 틀린 이유기법/공격명특징 및 역할ASLR (Address Space Layout Randomization)주소 공간 배치 난수화. 프로세스가 실행될 때마다 스택, 힙, 라이브러리 주소를 랜덤하게 배치하여 공격자가 실행 주소를 예측하지 못하게 방해합니다.Format String보호 기법이 아니라 공격 기법의 일종입니다. printf() 같은 함수에서 형식 지정자(%x, %n)를 잘못 사용하여 메모리 내용을 읽거나 쓰는 취약점을 의미합니다.Stack Canary스택의 복귀 주소(RET) 앞에 특정 **변숫값(Canary)**을 삽입합니다. 함수 종료 시 이 값이 변했는지 확인하여 버퍼 오버플로우 발생 여부를 탐지합니다.
3
Format String
오답 이유오답 보기입니다. ‘Format String’은(는) 이 문항의 판단 기준인 ‘DEP/NX bit’과 구별해야 합니다. 시스템 구성요소·명령·파일·권한 또는 공격 대상의 기능이 정답 조건과 다릅니다.
4
Stack Canary
오답 이유오답 보기입니다. ‘Stack Canary’은(는) 이 문항의 판단 기준인 ‘DEP/NX bit’과 구별해야 합니다. 시스템 구성요소·명령·파일·권한 또는 공격 대상의 기능이 정답 조건과 다릅니다.
ANSWER & EXPLANATION
정답 2번
✅ 정답: DEP/NX bitDEP (Data Execution Prevention): 데이터 실행 방지라는 뜻으로, 메모리 영역에서 코드가 실행되는 것을 막는 기술입니다.NX bit (No-Execute bit): 하드웨어적으로 메모리 구역을 '데이터 저장용'과 '코드 실행용'으로 나누는 비트입니다.원리: 공격자가 쉘코드를 **스택(Stack)**이나 힙(Heap) 영역에 주입하더라도, 해당 영역을 '실행 불가능(Non-Executable)' 상태로 설정해두었기 때문에 코드가 실행되지 않고 프로그램이 종료됩니다.❌ 나머지 보기가 틀린 이유기법/공격명특징 및 역할ASLR (Address Space Layout Randomization)주소 공간 배치 난수화. 프로세스가 실행될 때마다 스택, 힙, 라이브러리 주소를 랜덤하게 배치하여 공격자가 실행 주소를 예측하지 못하게 방해합니다.Format String보호 기법이 아니라 공격 기법의 일종입니다. printf() 같은 함수에서 형식 지정자(%x, %n)를 잘못 사용하여 메모리 내용을 읽거나 쓰는 취약점을 의미합니다.Stack Canary스택의 복귀 주소(RET) 앞에 특정 **변숫값(Canary)**을 삽입합니다. 함수 종료 시 이 값이 변했는지 확인하여 버퍼 오버플로우 발생 여부를 탐지합니다.
RELATED CONCEPT
시스템 보안 핵심개념
정답 용어만 외우지 말고 각 보기의 적용 대상·기능·전제 조건을 비교하세요. 같은 분야 기출을 묶어서 풀면 표현이 달라져도 판단 기준을 유지할 수 있습니다.