Абыход абмежаванняў SELinux, звязаных з загрузкай модуляў ядра

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

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

Крыніца: opennet.ru

Дадаць каментар