Sobre la función de bloquear el kernel de Linux

Catalin Cimpanu para Zero Day

 

linus-and-tux

Tras varios años de innumerables revisiones, discusiones y reescrituras de código, Linus Torvalds aprobó el sábado una nueva característica de seguridad para el kernel de Linux, denominada “lockdown” (bloqueo).

La nueva característica aparecerá como un LSM (Módulo de seguridad de Linux) en la rama del kernel 5.4 de Linux que se lanzará próximamente, estará de forma predeterminada desactivada; siendo su uso opcional debido al riesgo de romper los sistemas existentes.

Limitando el poder de Root

La función principal de la nueva característica será fortalecer la división entre los procesos de usuario y el código del kernel al evitar que incluso root interactúe con el código del kernel, algo que ha podido hacer, por diseño, hasta ahora.

Cuando está habilitada, la nueva función de “bloqueo” restringue algunas funciones del núcleo, incluso para el usuario root, lo que dificulta que las cuentas root comprometidas arrastren con ella el resto del sistema operativo.

El módulo de bloqueo tiene la intención de permitir que los núcleos se bloqueen pronto en [el] proceso [de arranque]“, aclaró Matthew Garrett, ingeniero actualmente de Google, que propuso la característica hace algunos años.

Cuando está habilitado, varias piezas de la funcionalidad del kernel están restringidas“, explica Linus Torvalds, creador del kernel de Linux, y que puso el sello final de aprobación en el módulo.

tres

Esto incluye restringir el acceso a las funciones del núcleo que pueden permitir la ejecución de código arbitrario a través del código suministrado por los procesos de usuario; bloqueo de procesos de escritura o lectura /dev/mem y /dev/kmem; bloquear el acceso a la apertura /dev/port para evitar el acceso al puerto sin procesar; hacer cumplir las firmas del módulo del núcleo; y para más detalles.

Dos modos de bloqueo

El nuevo módulo admitirá dos modos de bloqueo, a saber, “integral” y “confidencial”. Cada uno es exclusivo y restringe el acceso a diferentes funciones del núcleo.

Si se establece integral, las características del núcleo que permiten al usuario modificar el núcleo en ejecución se desactivan“, comenta Torvalds.

Si se establece confidencial, las características del kernel que permiten al usuario extraer información confidencial del kernel también están deshabilitadas“.

Si es necesario, también se pueden agregar modos de bloqueo adicionales al inicio, pero esto requerirá un parche externo, al inicio del LSM de bloqueo.

Hace mucho tiempo…

(¿en otro lugar de la galaxia?)

El trabajo en la función de bloqueo del núcleo comenzó a principios de la década de 2010 y fue encabezado por el ahora ingeniero de Google, Matthew Garrett.

La idea subyacente en la función de bloqueo del kernel era crear un mecanismo de seguridad para evitar que los usuarios con permisos elevados, incluso “root”, manipularan el código del kernel.

Entonces, aunque los sistemas Linux empleaban mecanismos de arranque seguros, aún existían formas de que un malware pudiera abusar de los controladores, de las cuentas root y las cuentas de usuario con privilegios especiales para manipular el código del kernel, y al hacerlo, ganar permanencia en el arranque y un apoyo permanente en sistemas infectados.

Muchos expertos en seguridad han pedido a lo largo de los años que el kernel de Linux admitiera una forma más potente de restringir la cuenta root y mejorar la seguridad del kernel.

La principal oposición vino de Torvalds, quien fue uno de sus críticos más ardientes, especialmente al principio.

Como resultado, muchas distribuciones de Linux, como Red Hat, desarrollaron sus propios parches de kernel de Linux agregando una función de bloqueo al inicio del kernel en la línea principal. Sin embargo, las dos partes llegaron a un punto medio en el 2018, y el trabajo progresó en la función bloqueo dicho año.

La mayoría de las distribuciones principales han estado llevando variantes de este parche durante muchos años, por lo que no es la más apropiada para todos los requisitos de cada distribuión, pero nos acerca mucho más a no necesitar parches externos“, ha declarado Torvalds.

Como resultado, las aplicaciones que dependen del acceso de bajo nivel al hardware o al kernel pueden dejar de funcionar, por lo tanto, esto no debería habilitarse sin una evaluación adecuada de antemano“.

La noticia de que finalmente se aprobó un módulo de bloqueo del kernel se ha recibido positivamente en las comunidades de Linux y ciberseguridad.

murray

Declaración de la Free Software Force sobre el asunto Richard Stallman:

Free Software Force

y tertulia sobre el tema

post

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: