Die Linux 5.4-kern het pleisters ontvang om worteltoegang tot interne kernelemente te beperk

Linus Torvalds aanvaar ingesluit in die komende weergawe van die Linux 5.4 kern is 'n stel pleisters "lockdown', voorgestelde David Howells (Red Hat) en Matthew Garrett (Matthew garrett, werk by Google) om wortelgebruikerstoegang tot die kern te beperk. Lockdown-verwante funksionaliteit is ingesluit in 'n opsioneel gelaaide LSM-module (Linux sekuriteitsmodule), wat 'n versperring tussen UID 0 en die kern plaas, wat sekere laevlakfunksionaliteit beperk.

As 'n aanvaller kode-uitvoering met wortelregte bewerkstellig, kan hy sy kode op kernvlak uitvoer, byvoorbeeld deur die kern te vervang met behulp van kexec of lees/skryf geheue via /dev/kmem. Die mees voor die hand liggende gevolg van sulke aktiwiteit kan wees ompad UEFI Secure Boot of herwinning van sensitiewe data wat op kernvlak gestoor is.

Aanvanklik is wortelbeperkingsfunksies ontwikkel in die konteks van die versterking van die beskerming van geverifieerde selflaai, en verspreidings gebruik al 'n geruime tyd derdeparty-kolle om die omseil van UEFI Secure Boot te blokkeer. Terselfdertyd is sulke beperkings nie by die hoofsamestelling van die pit ingesluit nie a.g.v meningsverskille in hul implementering en vrese vir ontwrigting van bestaande stelsels. Die "lockdown"-module het pleisters geabsorbeer wat reeds in verspreidings gebruik is, wat herontwerp is in die vorm van 'n aparte substelsel wat nie aan UEFI Secure Boot gekoppel is nie.

Toesluitmodus beperk toegang tot /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes debug mode, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), sommige ACPI-koppelvlakke en SVE MSR-registers, kexec_file en kexec_load-oproepe is geblokkeer, slaapmodus is verbode, DMA-gebruik vir PCI-toestelle is beperk, ACPI-kode invoer vanaf EFI-veranderlikes is verbode,
Manipulasies met I/O-poorte word nie toegelaat nie, insluitend die verandering van die onderbrekingsnommer en I/O-poort vir die reekspoort.

By verstek is die afsluitmodule nie aktief nie, dit word gebou wanneer die SECURITY_LOCKDOWN_LSM-opsie in kconfig gespesifiseer is en geaktiveer word deur die kernparameter “lockdown=”, die beheerlêer “/sys/kernel/security/lockdown” of samestellingsopsies LOCK_DOWN_KERNEL_FORCE_*, wat die waardes "integriteit" en "vertroulikheid" kan neem. In die eerste geval word kenmerke wat toelaat dat veranderinge aan die lopende kern van gebruikersspasie gemaak word, geblokkeer, en in die tweede geval word funksionaliteit wat gebruik kan word om sensitiewe inligting uit die kern te onttrek ook gedeaktiveer.

Dit is belangrik om daarop te let dat inperking slegs standaardtoegang tot die kern beperk, maar nie teen wysigings beskerm as gevolg van uitbuiting van kwesbaarhede nie. Om veranderinge aan die lopende kern te blokkeer wanneer uitbuitings deur die Openwall-projek gebruik word ontwikkel aparte module LKRG (Linux Kernel Runtime Guard).

Bron: opennet.ru

Voeg 'n opmerking