본문 바로가기
운영체제

[운영체제] 버퍼 오버 플로우(Buffer Over Flow)의 정의와 종류

728x90
반응형

🎲 버퍼 오버 플로우란?

    버퍼 오버 플로우는 프로그램에 할당된 메모리 범위 밖을 읽거나 쓰려고 하는것을 말합니다. 이는 프로그램의 설계가 잘못된 것이거나 악성코드의 공격에 의해서 발생할 수 도있습니다.

 

🍳 버퍼 오버 플로우의 종류는?

    메모리의 구조는 프로그램의 코드가 저장되어있는 코드 영역, 전역변수와 정적 변수가 저장되는 데이터 영역, 동적할당된 데이터가 저장되는 힙 영역, 지역 변수와 매개 변수가 저장되는 스택 영역으로 구성되어있습니다. 이중에서 코드 영역과 데이터 영역은 프로그램 시작과 동시에 할당되고 프로그램 종료 전까지 할당해제가 되지 않기 때문에 버퍼 오버 플로우가 발생하지 않습니다. 반면에, 힙과 스택 영역은 런타임 도중에 할당, 해제가 되기 때문에 버퍼 오버 플로우가 발생 할 수 있다. 이때, 스택 메모리가 힙 영역을 침범하는것을 스택 오버 플로우라고 하고 힙 메모리가 스택 영역을 침범하는것을 힙 오버 플로우 라고 합니다.

 

 

 

반응형