Обхід обмежень SELinux, пов'язаних із завантаженням модулів ядра

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

Для демонстрації методу підготовлено прототип експлоїту, що дозволяє виконати код на рівні ядра через завантаження свого модуля і повністю відключити захист SELinux, за наявності обмеженого за допомогою SELinux root-доступу до системи.

Джерело: opennet.ru

Додати коментар або відгук