buffer over flow란?

해석 해보면 '버퍼'라는 것이 넘쳐 흐른다는 의미를 가지고 있다.

 

C언어를 예로 살펴 보면 버퍼에 데이터를 입력 받을 때 할당된 크기만큼 받으면 문제가 발생하지 않는다.

 

 

하지만 할당된 크기보다 많은 양의 데이터를 받으면 버퍼의 허용치를 넘게 되어 다른 변수나 메모리를 덮어 씌우게 되는데 이를 버퍼 오버 플로우라고 하는 것이다.

 

buffer over flow는 stack overflow와 heap overflow가 있는데 둘다 어렵다. 추후 문제를 통해서 다루어 보겠다.

 

buffer overflow를 방지하기 위해서는 입력받는 데이터 크기와 버퍼 크기의 값을 확인해 주어야 한다.

'Basic Concepts > System' 카테고리의 다른 글

Fake EBP  (0) 2020.04.22
SFPO(Stack Frame Pointer OverFlow)  (0) 2020.04.22
RET Sled  (0) 2020.04.22
NOP Sled  (0) 2020.04.10
경쟁상태(race condition)  (0) 2020.02.25

+ Recent posts