Annual Conference of KIPS (한국정보처리학회:학술대회논문집)
- 2000.10a
- /
- Pages.129-132
- /
- 2000
- /
- 2005-0011(pISSN)
- /
- 2671-7298(eISSN)
A Study on Hacking Attack using Buffer Overflow and Strategy to Avoid the Attack
버퍼넘침(buffer overflow)을 사용한 해킹공격 기법 및 예방 방안
- Lee, Hyung-Bong (Dept. of Software Engineering, Ho-Nam University) ;
- Park, Hyun-Mee (Korea Info. Security Agency) ;
- Park, Jeong-Hyun (Korea Info. Security Agency)
- Published : 2000.10.13
Abstract
버퍼넘침(buffer overflow)은 특정 프로그램 언어에서 발생하는 배열의 경계파괴 현상을 말한다. 그 대표적인 언어로서 C/C++을 들 수 있는데. 이들 언어는 기본적으로 스트링(문자열)을 정의함에 있어서 크기속성을 배제하고 끝을 의미하는 종료문자(delimiter character. NULL)를 사용함으로써 배열(버퍼)의 경계침범 가능성을 허용하고 있다. 이 때 스택영역에 할당된 버퍼가 넘친다면, 주변에 위치한 지역변수, 레지스터 보관, 복귀주소 둥의 값이 변질되어 원래의 의도된 제어흐름을 보장할 수 없게 된다. 특히 복귀주소 부분을 의도적으로 침범하여 특정 값을 덮어쓸 수 있다면 해당 프로그램의 동작을 인위적으로, 그리고 자유롭게 변경할 수 있게 된다. 본 논문에서는 이와 같은 스택영역에서의 버퍼넘침을 사용한 제어흐름 변경 해킹기법의 과정을 현존하는 UNIX 시스템 및 C/C++ 언어를 이용하여 살펴보고 대응방향을 모색한다.
Keywords