Linux 5.4 nukleoak adabakiak jaso zituen nukleoaren barneko root sarbidea mugatzeko

Linus Torvalds onartua Linux 5.4 kernelaren hurrengo bertsioan sartuta dago adabaki multzo bat "lockdown', proposatu David Howells (Red Hat) eta Matthew Garrett (Matthew Garrett, Google-n lan egiten du) root erabiltzaileen nukleorako sarbidea mugatzeko. Blokeoarekin erlazionatutako funtzionaltasuna aukeran kargatutako LSM modulu batean sartzen da (Linux Segurtasun Modulua), UID 0 eta nukleoaren artean oztopo bat jartzen duena, maila baxuko funtzionaltasun jakin batzuk mugatuz.

Erasotzaile batek erro-eskubideekin kodea exekutatzea lortzen badu, bere kodea kernel mailan exekutatu dezake, adibidez, kexec erabiliz nukleoa ordezkatuz edo /dev/kmem bidez irakurtzeko/idazteko memoria. Jarduera horren ondoriorik nabarmenena izan daiteke saihesbidea UEFI Secure Boot edo kernel mailan gordetako datu sentikorrak berreskuratzea.

Hasieran, erro-murriztapen-funtzioak egiaztatutako abioaren babesa indartzeko testuinguruan garatu ziren, eta banaketak hirugarrenen adabakiak erabiltzen ari dira UEFI Secure Boot saihestea blokeatzeko. Aldi berean, murrizketa horiek ez ziren kernelaren osaera nagusian sartu desadostasunak horien ezarpenean eta dauden sistemen etenaren beldurrak. "Blokeoa" moduluak banaketetan lehendik erabiltzen ziren adabakiak xurgatu zituen, UEFI Secure Boot-ari lotu gabeko azpisistema bereizi baten moduan birdiseinatu zirenak.

Blokeo moduak /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes arazketa modua, mmiotrace, tracefs, BPF, PCMCIA CIS (Txartel Informazio Egitura), ACPI interfaze batzuetara eta CPUrako sarbidea mugatzen du. MSR erregistroak, kexec_file eta kexec_load deiak blokeatuta daude, lo modua debekatuta dago, PCI gailuetarako DMA erabilera mugatua da, ACPI kodea EFI aldagaietatik inportatzea debekatuta dago,
Ez dira onartzen I/O portuekin manipulazioak, serieko atakaren eten-zenbakia eta I/O ataka aldatzea barne.

Lehenespenez, blokeo-modulua ez dago aktibo, SECURITY_LOCKDOWN_LSM aukera kconfig-en zehazten denean eraikitzen da eta nukleoaren "lockdown=" parametroaren bidez aktibatzen da, "/sys/kernel/security/lockdown" kontrol fitxategia edo muntaia aukeren bidez. LOCK_DOWN_KERNEL_FORCE_*, "osotasuna" eta "konfidentzialtasuna" balioak har ditzake. Lehenengo kasuan, exekutatzen den nukleoan aldaketak egiteko aukera ematen duten funtzioak blokeatzen dira erabiltzailearen espaziotik, eta bigarren kasuan, nukleotik informazio sentikorra ateratzeko erabil daitekeen funtzionaltasuna ere desgaituta dago.

Garrantzitsua da ohartzea blokeoak nukleorako sarbide estandarra soilik mugatzen duela, baina ez duela babesten ahultasunen ustiapenaren ondoriozko aldaketetatik. Exekutatzen den nukleoan aldaketak blokeatzeko Openwall proiektuak ustiapenak erabiltzen dituenean garatzen da modulu bereizia LKRG (Linux Kernel Runtime Guard).

Iturria: opennet.ru

Gehitu iruzkin berria