정보보안1 Double Free Bug(DFB) UAF 처럼 DFB도 말 그대로 2번 Free해서 나타나는 취약점입니다. 간단한 예시 0x20만큼 메모리를 세 번 할당했습니다. 하지만 주소에서 볼 수 있듯이 0x30만큼 차이가 납니다. 요청한 사이즈보다 크게 할당되는 이유는 메모리가 할당될 때에 해당 메모리에 대한 사이즈 외에 추가적인 정보가 있기 때문입니다. 우선 chunk라는 용어가 나오는데 알아보도록 하죠. malloc()으로 동적메모리를 구성하는 것은 heap에 chunk라는 자료구조를 하나 선언하는 것과 같습니다. chunk라는 데이터는 유저가 얼마만큼의 메모리를 선언했는가의 size, 이전의 chunk가 어떻게 쓰이고 있는가, 실제 쓰여지는 메모리영역, 그리고 chunk리스트를 유지하기 위한 double linked list포인터들(fd, .. 2017. 9. 18. 이전 1 다음