Njia za Kuzima Usalama wa Kufunga kwa Ubuntu ili Kupita UEFI Salama Boot kwa Mbali

Andrey Konovalov kutoka Google kuchapishwa njia ya kuzima ulinzi kwa mbali Uharibifuinayotolewa kwenye kifurushi cha Linux kernel kilichosafirishwa na Ubuntu (mbinu zilizopendekezwa kinadharia kuwa fanya kazi na kernel ya Fedora na usambazaji mwingine, lakini haijajaribiwa).

Kufungia kunazuia ufikiaji wa mtumiaji wa mizizi kwa kernel na kuzuia njia za kupuuza za UEFI Secure Boot. Kwa mfano, katika hali ya kufunga, ufikiaji wa /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes debugging mode, mmiotrace, tracefs, BPF, PCMCIA CIS (Muundo wa Taarifa ya Kadi), baadhi miingiliano ni ndogo ACPI na rejista za MSR za CPU, simu kwa kexec_file na kexec_load zimezuiwa, hali ya kulala imepigwa marufuku, matumizi ya DMA kwa vifaa vya PCI ni mdogo, uingizaji wa msimbo wa ACPI kutoka kwa vigezo vya EFI hauruhusiwi, ghiliba na bandari za I/O haziruhusiwi. inaruhusiwa, ikiwa ni pamoja na kubadilisha nambari ya kukatiza na mlango wa I/O kwa mlango wa mfululizo.

Utaratibu wa Kufungia uliongezwa hivi majuzi kwenye kinu kuu cha Linux 5.4, lakini katika kernels zinazotolewa katika usambazaji bado hutekelezwa kwa namna ya patches au kuongezewa na patches. Moja ya tofauti kati ya nyongeza zinazotolewa katika vifaa vya usambazaji na utekelezaji uliojengwa kwenye kernel ni uwezo wa kuzima kufuli iliyotolewa ikiwa una ufikiaji wa kimwili kwa mfumo.

Katika Ubuntu na Fedora, mchanganyiko muhimu Alt+SysRq+X hutolewa ili kuzima Lockdown. Inaeleweka kuwa mchanganyiko wa Alt+SysRq+X unaweza kutumika tu na ufikiaji wa kifaa kwa kifaa, na katika kesi ya utapeli wa mbali na kupata ufikiaji wa mizizi, mshambuliaji hataweza kuzima Lockdown na, kwa mfano, kupakia a. moduli iliyo na rootkit ambayo haijatiwa saini kidijitali kwenye kernel.

Andrey Konovalov alionyesha kuwa mbinu za msingi za kibodi za kuthibitisha uwepo wa mtumiaji kimwili hazifanyi kazi. Njia rahisi zaidi ya kuzima Lockdown itakuwa kwa utaratibu simulizi kubonyeza Alt+SysRq+X kupitia /dev/uinput, lakini chaguo hili limezuiwa mwanzoni. Wakati huo huo, iliwezekana kutambua angalau njia mbili zaidi za kubadilisha Alt+SysRq+X.

Njia ya kwanza inahusisha kutumia kiolesura cha "sysrq-trigger" - kuiga, wezesha tu kiolesura hiki kwa kuandika "1" hadi /proc/sys/kernel/sysrq, na kisha andika "x" kwa /proc/sysrq-trigger. Alisema mwanya kuondolewa katika sasisho la Desemba Ubuntu kernel na katika Fedora 31. Ni vyema kutambua kwamba watengenezaji, kama ilivyokuwa kwa /dev/uinput, awali. alijaribu kuzuia njia hii, lakini kuzuia hakufanya kazi kutokana na makosa katika kanuni.

Njia ya pili inahusisha uigaji wa kibodi kupitia USB/IP na kisha kutuma mfuatano Alt+SysRq+X kutoka kwa kibodi pepe. Kiini cha USB/IP kinachosafirishwa kwa Ubuntu kinawezeshwa kwa chaguo-msingi (CONFIG_USBIP_VHCI_HCD=m na CONFIG_USBIP_CORE=m) na hutoa moduli za usbip_core na vhci_hcd zilizotiwa saini kidijitali zinazohitajika kwa uendeshaji. Mshambulizi anaweza tengeneza kifaa halisi cha USB, kwa kuzindua kidhibiti cha mtandao kwenye kiolesura cha nyuma na kukiunganisha kama kifaa cha mbali cha USB kwa kutumia USB/IP. Kuhusu mbinu maalum taarifa kwa watengenezaji wa Ubuntu, lakini marekebisho bado hayajatolewa.

Chanzo: opennet.ru

Kuongeza maoni