Linux 5.4 получит функцию блокировки доступа к ядру для суперпользователя

В следующем релизе ядра Linux 5.4 будет реализован набор патчей lockdown, которые ограничат доступ суперпользователя к ядру. Функционал lockdown был добавлен в LSM-модуль (Linux Security Module), который разделяет UID 0 и ядро, ограничивая тем самым некоторую функциональность нижнего уровня.

 

Злоумышленник, способный выполнить код с привилегиями суперпользователя, может также выполнить код на уровне ядра. Для этого ему нужно с помощью kexec заменить ядро или через /dev/kmem читать/записывать данные в памяти. Благодаря этому атакующий сможет обойти протокол UEFI Secure Boot или получить доступ к хранящимся на уровне ядра данным.

 

Режим lockdown ограничивает доступ к /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, отладочному режиму kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), интерфейсам ACPI и MSR-регистрам ЦП. Он также блокирует вызовы kexec_file и kexec_load и переход в спящий режим, а также ограничивает использование DMA для PCI-устройств. Кроме того, lockdown запрещает импорт кода ACPI из переменных EFI и не позволяет осуществлять действия с портами ввода/вывода.

 

Режим lockdown ограничивает только предусмотренные возможности доступа к ядру, однако не спасает от манипуляций, осуществляемых злоумышленником в результате эксплуатации уязвимостей. По умолчанию модуль находится в неактивном состоянии. Для его сборки нужно указать в kconfig опцию SECURITY_LOCKDOWN_LSM, а для активации – использовать параметр ядра «lockdown=», управляющий файл «/sys/kernel/security/lockdown» или сборочные опции LOCK_DOWN_KERNEL_FORCE_*.

 

Бывший сотрудник Microsoft рассказал о проблемах Windows 10
Служба Windows Virtual Desktop теперь доступна по всему миру