tcache에서의 Double Free Bug 이해


tcache에서의 Double Free Bug 이해

이번 시간에는, 동적 메모리 할당과 해제를 하는 부분에서, 32바이트 ~ 1,024바이트 사이에 해당하는 free memory chunk들이 들어가는 tcache에 대해 Double Free 취약점에 대해 살펴봅니다. 메모리를 괴롭혀 보세요. 그것은 매우 좋습니다! Double Free란, 말 그대로 (같은 메모리 영역에 대하여) 두 번 해제하는 것을 말합니다. 그러니까, 이런 식으로 코드를 짜고 돌리면 Double Free Bug가 발생합니다. free(ptr); free(ptr); // what the fuck? 그러나 개발자로써는 다행스럽게, ptmalloc2는 최소한의 보안 장치는 가지고 있기 때문에, double free를 시도할 시, 내부 검사 매커니즘에 의하여 감지하고, free()가 또 시행되기 전에 Aborted(강제 중단) 명령을 내려 운영체제 수준에서 프로그램을 강제 종료하게 만듭니다. // Name: dfb.c // Compile: gcc -o dfb dfb.c...


#C #더블프리버그 #리스트 #메모리 #버그 #분석 #쉬운이해 #시큐어코딩 #예제 #우회 #더블프리 #구조체 #tcache #C언어 #df #double_free #fastbin #fd #free #malloc #next #ptmalloc2 #취약점

원문링크 : tcache에서의 Double Free Bug 이해