2025-09-03 01:32
Tags 소프트웨어 공학]
오버플로우
- 자신에게 할당된 메모리 공간보다 큰 데이터가 들어와 넘쳐 흐르느 ㄴ현상
- 유한한 자원에서 오는 근본적 문제
- 정수 오버플로우
- 8비트 unsigned int 형이면 0~255 까지 저장 가능
- 여기에 255인데 1 추가하면 자리가 밀려서 전부 00000000 ⇒ 0 으로 넘어가버림
- 버퍼 오버플로우
- 데이터를 한 곳에서 다른 곳으로 옮길 때 임시로 저장하는 메모리 공간
- 복귀 주소를 노린 해커의 공격에 취약
- 스택 오버플로우
- 스택을 계속해서 쌓다가 무한 재귀 같은 상황에 빠져 스택에 할당된 메모리 공간 넘칠때 비정상 종료
- 오버플로우 막는법
- 개발자 수준: 시큐어 코딩 (Secure Coding)
- 컴파일러 수준: 방어 기술 자동 삽입
- 운영체제 수준: 공격을 무력화하는 기술