I-bypass ang mga limitasyon ng SELinux na nauugnay sa paglo-load ng mga kernel module

Ang posibilidad ng pag-bypass sa pagbabawal sa pag-load ng mga kernel module na ipinatupad sa naka-target na mga panuntunan ng SELinux sa isa sa mga pinag-aralan na aparato ay ipinakita (hindi ito tinukoy kung aling aparato ang pinag-uusapan natin at kung gaano nakakaapekto ang problema sa mga patakaran ng SELinux sa firmware at mga pamamahagi). Ang pag-block ng module sa mga panuntunan ng SELinux na kasangkot ay batay sa paghihigpit sa pag-access sa finit_module system call, na nagpapahintulot sa pag-load ng module mula sa isang file at ginagamit sa mga utility gaya ng insmod. Gayunpaman, hindi isinaalang-alang ng mga panuntunan ng SELinux ang init_module system call, na maaari ding gamitin upang i-load ang mga kernel module nang direkta mula sa isang buffer sa memorya.

Upang ipakita ang pamamaraan, isang prototype na pagsasamantala ay inihanda na nagbibigay-daan sa iyo na magsagawa ng code sa antas ng kernel sa pamamagitan ng pag-load ng iyong module at ganap na hindi paganahin ang proteksyon ng SELinux, kung mayroon kang root access sa system na limitado ng SELinux.

Pinagmulan: opennet.ru

Magdagdag ng komento