82. 메모리상에서 프로그램의 복귀 주소와 변수사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 오버플로우 상 태로 가정하여 프로그램 실행을 중단하는 기술은?
① 모드체크 ② 리커버리 통제
③ 시스로그 ❹ 스택가드
😊
이 문제는 시스템 보안 / 메모리 보호 기법과 관련된 내용으로,
버퍼 오버플로우(Buffer Overflow) 공격을 막기 위한 기술을 묻는 유형이에요.
❓ 문제 82.
메모리상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장해 두었다가,
그 값이 변경되었을 경우 오버플로우 상태로 간주하여 프로그램 실행을 중단하는 기술은?
✅ 정답: ❹ 스택가드 (StackGuard)
🎯 해설
📌 StackGuard란?
- 스택 영역에서 함수 호출 시 생기는 **복귀 주소(Ret Address)**와 지역 변수 사이에
👉 **"카나리(canary) 값"**이라는 특정한 임의 값을 삽입해 둡니다. - 프로그램 실행 중 이 카나리 값이 변경되면,
➤ 누군가가 **스택을 덮어썼다(오버플로우 시도했다)**고 판단하고
➤ 프로그램을 즉시 중단시킵니다! ⚠️
💡 StackGuard는 스택 오버플로우 공격을 사전에 차단하는 보안 기법이에요.
🧠 예시 그림으로 이해하면?
[ 스택 구조 ]
|----------------------|
| 지역 변수들 |
|----------------------|
| Canary 값 | ← 💡 StackGuard가 삽입
|----------------------|
| 복귀 주소 (RET) |
|----------------------|
- 버퍼 오버플로우 공격이 일어나면 Canary 값도 덮어씌워지기 때문에,
프로그램은 이를 탐지하고 비정상 상황으로 처리 → 실행 중단!
❌ 오답 해설
보기 명칭 설명 오답 이유
① 모드체크 | Mode Check | CPU 모드(User/Kernel)를 확인하는 보안 절차 | 복귀 주소 보호와 무관 |
② 리커버리 통제 | Recovery Control | 시스템 장애 발생 시 복구 절차 | 오버플로우 감지는 아님 |
③ 시스로그 | Syslog | 시스템 로그 기록 | 로그 기록용, 메모리 보호와 관계 없음 |
✅ ❹ 스택가드 | StackGuard | 스택 오버플로우 방지용 Canary 삽입 기술 | ✔️ 정답! |
✅ 결론
항목 내용
❓ 문제 | Canary 값을 활용해 오버플로우 탐지 후 실행 중단하는 기술은? |
🎯 정답 | ❹ 스택가드 (StackGuard) |
🔐 핵심 기능 | 스택 오버플로우 공격 탐지 및 차단 (복귀 주소 보호) |
🎉 기억 팁!
🛡️ StackGuard = 스택을 "가드(guard)" 하는 기술!
📛 Canary = "내가 죽으면 뭔가 잘못된 거야!" → 변경되면 바로 경고! 🚨
'기출문제 > 정보처리기사' 카테고리의 다른 글
2020년 1회,2회(통합) 정보처리기사 기출문제 84번 (0) | 2025.04.14 |
---|---|
2020년 1회,2회(통합) 정보처리기사 기출문제 83번 (0) | 2025.04.14 |
2020년 1회,2회(통합) 정보처리기사 기출문제 81번 (0) | 2025.04.14 |
2020년 1회,2회(통합) 정보처리기사 기출문제 80번 (1) | 2025.04.13 |
2020년 1회,2회(통합) 정보처리기사 기출문제 79번 (0) | 2025.04.13 |