Новости SLUBStick: от ошибки в памяти к полному контролю Linux

NewsMaker

I'm just a script
Премиум
12,454
18
8 Ноя 2022
Ученые нашли способ обойти защиту ядра Linux с 99% эффективностью.


e6hhwwc0go6egtxvhpp9lgiefbtw9c5t.jpg


Специалисты из Технического университета Граца (Австрия) Для просмотра ссылки Войди или Зарегистрируйся на кросс-кэш ядра Linux под названием SLUBStick, которая позволяет превратить ограниченную уязвимость кучи в возможность произвольного чтения и записи памяти, что дает злоумышленникам возможность повышать привилегии или выходить за пределы контейнеров.

Атака была протестирована на версиях ядра Linux 5.9 и 6.2, что говорит о высокой универсальности метода. В ходе экспериментов были использованы 9 существующих уязвимостей как на 32-битных, так и на 64-битных системах.


n68qd7abix8a4e2no6fab51wfv1qajhe.png


Уязвимости, использованные в эксперименте

SLUBStick показала свою эффективность даже при активных современных защитах ядра – Supervisor Mode Execution Prevention (SMEP), Supervisor Mode Access Prevention (SMAP) и Kernel Address Space Layout Randomization (KASLR).

Детали атаки будут Для просмотра ссылки Войди или Зарегистрируйся на конференции Usenix Security Symposium, которая пройдет в конце августа. Исследователи продемонстрируют повышение привилегий и выход из контейнеров на новейшей версии Linux с включенной защитой.

Технические подробности SLUBStick

Ядро Linux управляет памятью, выделяя и освобождая блоки памяти (slabs), для различных типов структур данных. Уязвимости в процессе управления памятью могут позволить злоумышленникам искажать или манипулировать структурами данных, что называется атакой кросс-кэша (cross-cache attack). Обычно такие атаки успешны примерно в 40% случаев и часто приводят к сбоям системы.

SLUBStick использует уязвимости кучи, такие как двойное освобождение ( double-free ), использование после освобождения (use-after-free, UAF ) или запись за пределы буфера ( out-of-bounds ), чтобы манипулировать процессом выделения памяти. Затем в атаке используется побочный канал синхронизации для определения точного момента выделения и освобождения блоков памяти, что позволяет атакующему предсказывать и контролировать повторное использование памяти.

Используя эту информацию, вероятность успешной эксплуатации кросс-кэш атаки возрастает до 99%, что делает SLUBStick очень практичным.


utfr5z49yp3nukswx4390rdhdipgrai2.png


Показатели успешности атаки

Конвертация уязвимости кучи в возможность произвольного чтения и записи памяти проходит в три этапа:

  1. Освобождение определенных блоков памяти и ожидание их повторного использования ядром;
  2. Повторное выделение блоков контролируемым образом, чтобы они были использованы для критически важных структур данных, таких как таблицы страниц;
  3. После возврата блоков злоумышленник перезаписывает записи таблицы страниц, получая возможность читать и записывать данные в любую область памяти.

xt103tp3dpi1mm64tatlnfbv5aw0uu2k.png


Обзор SLUBStick

Реальное влияние на безопасность

Как и большинство атак с использованием побочных каналов, SLUBStick требует локального доступа к целевой машине с возможностью выполнения кода. Кроме того, для атаки требуется наличие уязвимости кучи в ядре Linux, которая будет использована для получения доступа к памяти.

Атака имеет ряд преимуществ для злоумышленников. Даже для тех, кто уже обладает возможностью выполнения кода, SLUBStick предоставляет возможность повысить привилегии, обойти защиты ядра, выйти за пределы контейнеров или использовать его в составе сложной цепочки атак.

Повышение привилегий может быть использовано для получения root-доступа, что позволяет выполнять любые операции, а выход из контейнера позволяет вырваться из изолированной среды и получить доступ к хост-системе. В постэксплуатационной фазе SLUBStick может модифицировать структуры или хуки ядра для поддержания постоянного присутствия, что затрудняет обнаружение вредоносного ПО.


cnk1yxo0gmthvz4wpm6jivqc9t49o3x0.png


Изменение данных «/etc/passwd»

Для тех, кто хочет глубже изучить SLUBStick и поэкспериментировать с эксплуатацией уязвимостей, исследователи опубликовали все детали в Для просмотра ссылки Войди или Зарегистрируйся а также разместили код Для просмотра ссылки Войди или Зарегистрируйся GitHub.
 
Источник новости
www.securitylab.ru

Похожие темы