2025-09-03 01:32

Tags 소프트웨어 공학]

오버플로우

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