2008년 2월 27일 수요일

buffer overflow 방지 요약

情 報 保 護 學 會 誌


第 11 券 第 6 號, 2001. 12


Heap과 Stack 영역에서의 경계 체크를 통한


Buffer Overflow 공격 방지 기법에 대한 연구



1.stack overflow 와 관련된 내용은 잘 알려져 있으므로 생략







2.heap 영역의 overflow


stack영역과 heap 영역의 overflow 차이


- 스택의 리턴 주소와 같이 RET를 overwrite 를 하는 것이 아니고 버퍼에 할당된 포인터 값을 overwrite


heap grow ->


____buf1(16)|8byte spaces|buf2(16)______|____


|<-buf_diff----------->| heapbound


0x0000 0xffff


memset(buf1,'B',(unsigned int)buf_diff+OVERSIZE);


로 buff2경계를 덮어쓴다.























댓글 없음: