Lanzamiento del módulo LKRG 0.9.0 para proteger contra la explotación de vulnerabilidades en el kernel de Linux

El proyecto Openwall ha publicado el lanzamiento del módulo del kernel LKRG 0.9.0 (Linux Kernel Runtime Guard), diseñado para detectar y bloquear ataques y violaciones de la integridad de las estructuras del kernel. Por ejemplo, el módulo puede proteger contra cambios no autorizados en el kernel en ejecución e intentos de cambiar los permisos de los procesos del usuario (detectando el uso de exploits). El módulo es adecuado tanto para organizar la protección contra exploits de vulnerabilidades ya conocidas del kernel de Linux (por ejemplo, en situaciones en las que es difícil actualizar el kernel en el sistema) como para contrarrestar exploits para vulnerabilidades aún desconocidas. El código del proyecto se distribuye bajo la licencia GPLv2.

Entre los cambios de la nueva versión:

  • Se proporciona compatibilidad con los kernels de Linux desde 5.8 a 5.12, así como con los kernels estables 5.4.87 y posteriores (incluidas las innovaciones de los kernels 5.8 y posteriores) y con los kernels de las versiones de RHEL hasta 8.4, manteniendo al mismo tiempo la compatibilidad con todas las versiones de Linux soportadas anteriormente. núcleos, tales como núcleos de RHEL 7;
  • Se agregó la capacidad de construir LKRG no solo como un módulo externo, sino también como parte del árbol del kernel de Linux, incluida su inclusión en la imagen del kernel;
  • Se agregó soporte para muchas configuraciones adicionales del kernel y del sistema;
  • Se corrigieron varios errores y deficiencias importantes en LKRG;
  • La implementación de algunos componentes del LKRG se ha simplificado significativamente;
  • Se han realizado cambios para simplificar un mayor soporte y depuración de LKRG;
  • Para probar LKRG, se agregó integración con out-of-tree y mkosi;
  • El repositorio del proyecto se movió de BitBucket a GitHub y se agregó integración continua usando GitHub Actions y mkosi, incluida la verificación de la compilación y la carga de LKRG en los kernels de lanzamiento de Ubuntu, así como en las compilaciones diarias de los últimos kernels principales proporcionados por Proyecto ubuntu.

Varios desarrolladores que no participaron anteriormente en el proyecto hicieron contribuciones directas a esta versión de LKRG (a través de solicitudes de extracción en GitHub). En particular, Boris Lukashev agregó la capacidad de compilar como parte del árbol del kernel de Linux, y Vitaly Chikunov de ALT Linux agregó integración con mkosi y GitHub Actions.

En general, a pesar de las importantes adiciones, el número de líneas de código LKRG se ha reducido ligeramente por segunda vez consecutiva (también se redujo anteriormente entre las versiones 0.8 y 0.8.1).

Por el momento, el paquete LKRG en Arch Linux ya se actualizó a la versión 0.9.0, y varios otros paquetes usan versiones recientes de git de LKRG y probablemente se actualizarán pronto a la versión 0.9.0 y posteriores.

Además, podemos destacar una publicación reciente de los desarrolladores de Aurora OS (modificación rusa de Sailfish OS) sobre el posible fortalecimiento de LKRG utilizando ARM TrustZone.

Para obtener más información sobre LKRG, consulte el anuncio de la versión 0.8 y la discusión que tuvo lugar en ese momento.

Fuente: opennet.ru

Añadir un comentario