gdb-peda를 활용한 tcache 구조 관찰(malloc/free)


gdb-peda를 활용한 tcache 구조 관찰(malloc/free)

미리 알아둘 것 ptmalloc2 구조 및 원리 이해 GDB를 활용한 Heap Safe Linking (알아두면 좋음) 이번에는 tcache가 적용된 시점에서 malloc()과 free()가 실제로 어떻게 동작하는지 한번 살펴봅시다. 준비물 Ubuntu 18.04 LTS (또는 이에 상응하는 Docker) glibc 2.27 (ldd --version 으로 확인 가능) 간략하게 tcache에 대해 소개하면, tcache는 glibc에서 glibc 2.26. 버전 이후부터 메모리 관리 성능 향상을 위해 thread 기반으로 heap chunk들을 관리하는 새로운 매커니즘입니다. 다만, 버전이 올라가면 보통 보안이 같이 향상되는것은 맞지만 이러한 tcache는 근본적으로 성능 향상에 초점이 맞추어져 있고, thread별로 다 따로 관리를 하기 때문에 attack vector가 늘어나서 상황에 따라 heap에 대한 공격을 할 수 있는 지점이 늘어나기도 합니다. glibc의 소스코드를 살짝...


#Assembly #실험 #메모리 #동적분석 #tcache_perthread_struct #tcache #system #malloc #heap #glibc #gdb_peda #GDB #free #fastbin #exploitation #Clang #C #힙

원문링크 : gdb-peda를 활용한 tcache 구조 관찰(malloc/free)