제 20회 한국정보처리학회 추계학술발표대회 논문집 참고
(2003. 11)
논문 요약
기존의 bufferoverflow 방지 기법
1. canary 방식
오버플로 가능한 변수 앞에 특정값의 i 라는 canary 변수를 선언하고 overflow 가 되었을 경우 i 영역을 침범하게 된다.
한계 : 해커들이 i값 조차 조작하여 다시 기존의 값으로 바꿀수 이있다.
2. 포인터 무결성 방식
return 값을 다른 곳에 저장시켜 stack의 RET값이 바뀌더라도 상관 없다.
한계 : 성능에 영향을 미치고, 커널 수정 필요
- 대안이 간편한 strace 툴을 이용
일반적인 instruction은 텍스트 영역에 있고, 버퍼오버플로가 일어날 경우 STACK영역을 참조하게 된다.
strace -i 옵션 사용
-i (Print the instruction pointer at the time of the system call. )
stack영역을 침범할 때 사용되는 demon을 만들어줌
댓글 없음:
댓글 쓰기