Дизайн и реализация аллокаторов памяти ptmalloc2 и jemalloc [Федор Короткий]
Я расскажу какие структуры данных и эвристики используются в двух аллокаторах памяти — dlmalloc (стандартный аллокатор glibc) и jemalloc.
Понимание устройства аллокатора имеет прямое практическое применение, когда вы пытаетесь эксплуатировать ошибку работы с памятью. В конце доклада я расскажу, как заставить ptmalloc работать «на вас». Оказывается, даже ошибку «запись одного нулевого байта за границу буфера на куче» при хорошем стечении обстоятельств можно превратить в исполнение произвольного кода.
0 комментариев