Обход ограничений SELinux, связанных с загрузкой модулей ядра

Продемонстрирована возможность обхода запрета загрузки модулей ядра, реализуемого в targeted-правилах SELinux на одном из изученных устройств (не уточняется, о каком именно устройстве речь и насколько проблема затрагивает правила SELinux в прошивках и дистрибутивах). Блокировка модулей в задействованных правилах SELinux основывалась на ограничении доступа к системному вызову finit_module, позволяющему загрузить модуль из файла и применяемому в таких утилитах, как insmod. При этом правила SELinux не рассматривали системный вызов init_module, который также может применяться для загрузки модулей ядра напрямую из буфера в памяти.

Для демонстрации метода подготовлен прототип эксплоита, позволяющий выполнить код на уровне ядра через загрузку своего модуля и полностью отключить защиту SELinux, при наличии ограниченного при помощи SELinux root-доступа к системе.

Источник: opennet.ru

Добавить комментарий