ptmalloc (2) 썸네일형 리스트형 Malloc(2) - Bin (glibc의 ptmalloc2) 1. Bin Free chunk는 크기와 히스토리에 따라 다양한 목록에 저장되는데, 이를 "bins"라고 한다. 할당자는 할당 요청을 충족시키기 위해, 적합한 청크를 bins에서 신속하게 찾아 재할당한다. 종류 : Fast bin, Small bin, Large bin, Unsorted bin 2. Fast bin "fastbin"에 포함되는 chunk크기의 범위는 0 ~ 80*sizeof(size_t)/4까지이다. M_MXFAST(1)라는 매개변수를 사용해서 "fastbin"에 포함되는 chunk 범위를 설정한다. "fastbin"의 기본 범위는 0 ~ 64*sizeof(size_t)/4이다. 32bit : 64byte (64 * 4/4) 64bit : 128byte (64 * 8/4) 해당 크기보다 .. [Lecture] Use After Free 1. Use-After-Free 메모리 참조에 사용한 포인터를 메모리 해제 후, 제대로 초기화하지 않아 발생하는 취약점이다. 해제한 메모리를 초기화하지 않고 다음 청크에 재할당해주기 때문이다. 즉, 해제된 메모리에 접근할 수 있을 때, 발생하는 취약점이다. Chunk(청크) 란? • malloc에 메모리 할당을 요청하면, 넓은 메모리의 영역을 다양한 크기의 덩어리(chunk)로 나눈다. • chunk는 사용중인 덩어리, 해제된 덩어리, Top 덩어리, Last Remainder 덩어리가 있다. • 위에서 말하고 있는 청크는 "해제된 덩어리"로 응용프로그램에서 시스템에 반환한 덩어리를 의미하는 것이다. 2. Dangling Pointer 2-1. 정의 컴퓨터 과학에서 'Dangling Pointer'는 유.. 이전 1 다음