От KernelSnitch к практической реализации утечек KASLR из кучи с использованием структур msg_msg и pipe_buffer

  • Автор темы Автор темы ADMIN
  • Дата начала Дата начала

ADMIN

Administrator
ADMIN
Регистрация
18 Окт 1989
Сообщения
1,408
Реакции
93
Баллы
48
☑ ДЕПОЗИТ
0$
photo_2026-04-28_09-08-03.jpg

От KernelSnitch к практической реализации утечек KASLR из кучи с использованием структур msg_msg и pipe_buffer

В этой публикации представлен практический метод утечки KASLR из кучи (heap), который не полагается на уязвимости безопасности памяти. Я начинаю с KernelSnitch - чисто программного побочного канала по времени (timing side channel), который восстанавливает местоположение структуры mm_struct текущего процесса и, на его основе, базовый адрес соответствующей slab-страницы кэша mm_cachep.

Затем я комбинирую эту утечку с методом переиспользования памяти между кэшами в пределах одного порядка страниц (same-page-order cross-cache reuse), чтобы перейти к объектам, актуальным для эксплуатации, таким как msg_msg и pipe_buffer. В результате получается универсальный примитив утечки, который работает в нативных системах Linux, виртуализированных средах KernelCTF, ограниченных окружениях Android, а также на архитектурах x86_64 и aarch64.

Поскольку атака восстанавливает валидные указатели ядра, не вызывая некорректных обращений к памяти, она остается работоспособной даже в системах с поддержкой MTE (Memory Tagging Extension). Более того, когда утекший указатель на mm_struct тегирован (например, на устройствах Google Pixel), KernelSnitch может восстановить и его логический тег, что подчеркивает потенциал метода в качестве «оракула тегов» для скомпрометированного объекта.

 
Автоматический гарант это финансовая безопасность: Покупатель может быть уверен, что его деньги не попадут к продавцу до того, как он получит и проверит товар или услугу. Продавец, в свою очередь, защищен от не оплаты, так как гарант подтверждает наличие средств у покупателя до начала выполнения обязательств.
Назад
Сверху