Linux 5.4 kjarninn fékk plástra til að takmarka rótaraðgang að innri kjarna

Linus Torvalds samþykkt innifalinn í væntanlegri útgáfu af Linux 5.4 kjarnanum er sett af plástra "læst", lagt til David Howells (Red Hat) og Matthew Garrett (Matthew garrett, vinnur hjá Google) til að takmarka aðgang notenda að kjarnanum. Lokunartengd virkni er innifalin í valfrjálsu hlaðinni LSM einingu (Linux öryggiseining), sem setur hindrun á milli UID 0 og kjarnans, sem takmarkar ákveðna virkni á lágu stigi.

Ef árásarmaður nær keyrslu kóða með rótarréttindum getur hann keyrt kóðann sinn á kjarnastigi, til dæmis með því að skipta um kjarna með því að nota kexec eða lestur/skrifaminni í gegnum /dev/kmem. Augljósasta afleiðing slíkrar starfsemi getur verið hjáleið UEFI Secure Boot eða að sækja viðkvæm gögn sem eru geymd á kjarnastigi.

Upphaflega voru róttakmörkunaraðgerðir þróaðar í samhengi við að efla vernd staðfestrar ræsingar og dreifingar hafa notað plástra frá þriðja aðila til að loka fyrir framhjáhlaup UEFI Secure Boot í nokkuð langan tíma. Á sama tíma voru slíkar takmarkanir ekki teknar inn í aðalsamsetningu kjarnans vegna ósætti í framkvæmd þeirra og ótta við truflun á núverandi kerfum. „Læsing“ einingin gleypti plástra sem þegar voru notaðir í dreifingum, sem voru endurhannaðir í formi sérs undirkerfis sem ekki var bundið við UEFI Secure Boot.

Lokunarhamur takmarkar aðgang að /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes debug mode, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), sumum ACPI tengi og CPU MSR skrár, kexec_file og kexec_load símtöl eru læst, svefnstilling er bönnuð, DMA notkun fyrir PCI tæki er takmörkuð, ACPI kóða innflutningur frá EFI breytum er bannaður,
Meðhöndlun með I/O tengi eru ekki leyfð, þar á meðal að breyta truflunarnúmeri og I/O tengi fyrir raðtengi.

Sjálfgefið er að læsingareiningin er ekki virk, hún er byggð þegar SECURITY_LOCKDOWN_LSM valkosturinn er tilgreindur í kconfig og er virkjaður með kjarnabreytu „lockdown=“, stýriskránni „/sys/kernel/security/lockdown“ eða samsetningarvalkostum LOCK_DOWN_KERNEL_FORCE_*, sem getur tekið gildin „heiðarleiki“ og „trúnaður“. Í fyrra tilvikinu er lokað fyrir eiginleika sem gera kleift að gera breytingar á keyrandi kjarna úr notendarými og í öðru tilvikinu er einnig óvirkt fyrir virkni sem hægt er að nota til að draga viðkvæmar upplýsingar úr kjarnanum.

Það er mikilvægt að hafa í huga að lokun takmarkar aðeins staðlaðan aðgang að kjarnanum, en verndar ekki gegn breytingum vegna misnotkunar á veikleikum. Til að loka fyrir breytingar á hlaupandi kjarna þegar hetjudáð er notað af Openwall verkefninu er að þróast sér eining LKRG (Linux Kernel Runtime Guard).

Heimild: opennet.ru

Bæta við athugasemd