미리 알아둘 것 이중 연결 리스트 (자료구조) ptmalloc2의 구조 및 특징 이해 (bin) 이번에는 glibc 2.23.을 기준으로 하여 ptmalloc2의 구조적인 문제로 인해 발생하는 unsorted bin attack에 대해 한번 이해해 봅니다. 이 공격을 이용하면, free chunk에 있는 bk(backward) 포인터를 조작할 수 있을 때 임의 주소에 main arena 영역의 주소를 덮어쓰기(overwrite) 할 수 있게 됩니다. unsorted bin에 등록되었던 memory chunk(free chunk)가 다시 malloc() 등으로 인해 재할당되면서 unsorted bin에서 나가게 될 때 이중 연결 리스트 형태로 관리되던 자료구조에서 나가게 되면서 발생합니다.
이를 이용하면, 위에서 말한 주소 덮어쓰기 뿐만 아니라 라이브러리 함수의 메모리 절대 주소를 유출하여(library leak) 매 실행마다 프로그램 내 요소들의 주소를 랜덤하게 변경하여 프로그램을 ...
#
2_23
#
실습
#
메모리
#
동적할당
#
unsorted_bin_attack
#
unsorted_bin
#
system
#
ptmalloc2
#
malloc
#
linux
#
glibc
#
free
#
exploitation
#
bin
#
취약점