Se han aceptado parches en el núcleo de Linux 5.4 para restringir el acceso de root a las tripas del núcleo

Linus Torvalds ha aceptado La futura versión del núcleo Linux 5.4 incluirá un conjunto de parches "lockdown«, proporcionado David Howells (quien trabaja en Red Hat) y Matthew Garrett (Matthew Garrett, quien trabaja en Google) para restringir el acceso del usuario root al núcleo. La funcionalidad relacionada con "lockdown" se ha trasladado a un módulo LSM (Módulo de Seguridad de Linux), que establece una barrera entre UID 0 y el núcleo, limitando cierta funcionalidad de bajo nivel.

Si un atacante consigue ejecutar código con privilegios de root, puede ejecutar su código también a nivel de núcleo, por ejemplo, mediante la sustitución del núcleo usando kexec o leyendo/escribiendo memoria a través de /dev/kmem. La consecuencia más obvia de tal actividad puede ser el eludir UEFI Secure Boot o la extracción de datos confidenciales almacenados a nivel de núcleo.

Al principio, las funciones de limitación de root se desarrollaron en el contexto de mejorar la protección del arranque verificado, y las distribuciones ya han estado utilizando parches de terceros durante bastante tiempo para bloquear el eludir UEFI Secure Boot. Sin embargo, tales limitaciones no se incluyeron en el núcleo principal debido a desacuerdos en su implementación y preocupaciones sobre la posible interrupción del funcionamiento de sistemas existentes. El módulo "lockdown" ha incorporado parches ya utilizados en distribuciones que han sido reformulados en forma de un subsistema separado, no vinculado a UEFI Secure Boot.

En modo lockdown se limita el acceso a /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, el modo de depuración de kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Estructura de Información de la Tarjeta), ciertas interfaces ACPI y registros MSR de CPU, se bloquean las llamadas kexec_file y kexec_load, se prohíbe entrar en modo de suspensión, se limita el uso de DMA para dispositivos PCI, se prohíbe la importación de código ACPI de variables EFI,
no se permiten manipulaciones con puertos de entrada/salida, incluyendo el cambio de número de interrupción y puerto de entrada/salida para el puerto serie.

Por defecto, el módulo lockdown no está activo, se compila con la opción SECURITY_LOCKDOWN_LSM indicada en kconfig y se activa a través del parámetro del núcleo "lockdown=", el archivo de control " /sys/kernel/security/lockdown" o las opciones de compilación LOCK_DOWN_KERNEL_FORCE_*, que pueden tomar valores de «integridad» y «confidencialidad». En el primer caso, se bloquean las posibilidades de realizar cambios en el núcleo operativo desde el espacio de usuario, y en el segundo caso, además, se desactiva la funcionalidad que puede utilizarse para extraer información confidencial del núcleo.

Es importante señalar que el lockdown solo limita las capacidades de acceso del núcleo, pero no protege contra modificaciones resultantes de la explotación de vulnerabilidades. Para bloquear los cambios en el núcleo operativo al aplicar exploits, el proyecto Openwall se desarrolla un módulo separado LKRG (Linux Kernel Runtime Guard).

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster