stringtranslate.com

Módulos de seguridad de Linux

Linux Security Modules ( LSM ) es un marco que permite que el núcleo Linux admita, sin sesgos, una variedad de modelos de seguridad informática . LSM tiene licencia según los términos de la Licencia Pública General de GNU y es una parte estándar del núcleo Linux desde Linux 2.6. AppArmor , SELinux , Smack y TOMOYO Linux son los módulos de seguridad aprobados actualmente en el núcleo oficial.

Diseño

LSM fue diseñado para responder a todos los requisitos para implementar con éxito un módulo de control de acceso obligatorio , al mismo tiempo que impone la menor cantidad posible de cambios al núcleo Linux. LSM evita el enfoque de interposición de llamadas del sistema utilizado por Systrace porque no se adapta a núcleos multiprocesador y está sujeto a ataques TOCTTOU (carrera). En su lugar, LSM inserta " ganchos " (llamadas ascendentes al módulo) en cada punto del núcleo donde una llamada del sistema a nivel de usuario está a punto de resultar en un acceso a un objeto interno importante del núcleo como inodos y bloques de control de tareas.

LSM tiene un alcance limitado para resolver el problema del control de acceso , sin imponer un parche de cambio grande y complejo en el núcleo principal. No está pensado para ser un mecanismo de " enganche " o " llamada ascendente " general, ni tampoco admite la virtualización a nivel de sistema operativo .

El objetivo de control de acceso de LSM está muy relacionado con el problema de la auditoría del sistema, pero es sutilmente diferente. La auditoría requiere que se registre cada intento de acceso. LSM no puede ofrecer esto, porque requeriría muchos más ganchos para detectar casos en los que el núcleo " cortocircuita " las llamadas del sistema fallidas y devuelve un código de error antes de acercarse a objetos significativos.

El diseño de LSM se describe en el artículo Módulos de seguridad de Linux: Soporte de seguridad general para el núcleo de Linux [1] presentado en USENIX Security 2002. [2] En la misma conferencia se presentó el artículo Uso de CQUAL para el análisis estático de la colocación de ganchos de autorización [3] que estudiaba el análisis estático automático del código del núcleo para verificar que todos los ganchos necesarios se hayan insertado realmente en el núcleo de Linux.

Adopción

Historia

En la Cumbre del Kernel de Linux de 2001, la NSA propuso que SELinux se incluyera en Linux 2.5. [5] Linus Torvalds rechazó SELinux en ese momento, porque observó que hay muchos proyectos de seguridad diferentes en desarrollo y, dado que todos son diferentes, la comunidad de seguridad aún no ha formado un consenso sobre el modelo de seguridad definitivo. En cambio, Linus encargó a la comunidad de seguridad que "lo convirtiera en un módulo".

En respuesta, Crispin Cowan propuso [6] LSM: una interfaz para el núcleo Linux que proporciona suficientes "ganchos" (upcalls) desde dentro del núcleo Linux a un módulo cargable para permitir que el módulo aplique controles de acceso obligatorios. El desarrollo de LSM durante los dos años siguientes estuvo a cargo de la comunidad LSM, incluidas contribuciones sustanciales de Immunix Corporation , la NSA , McAfee , IBM , Silicon Graphics y muchos colaboradores independientes. LSM fue finalmente aceptado en la corriente principal del núcleo Linux y se incluyó como parte estándar de Linux 2.6 en diciembre de 2003.

En 2006, algunos desarrolladores de kernel observaron que SELinux era el único módulo LSM ampliamente utilizado incluido en el árbol de fuentes del kernel de Linux principal. Si solo debe haber un módulo LSM ampliamente utilizado, se razonó, entonces la indirección de LSM es innecesaria y LSM debería eliminarse y reemplazarse con el propio SELinux. Sin embargo, hay otros módulos LSM mantenidos fuera del árbol del kernel principal ( AppArmor , Linux Intrusion Detection System , FireFlier, CIPSO, Multi ADM, etc.), por lo que este argumento condujo a dos resultados: 1. que los desarrolladores de estos módulos comenzaron a esforzarse en actualizar sus respectivos módulos, y 2. en la Kernel Summit de 2006 , Linus afirmó una vez más que LSM se quedaría porque no quiere arbitrar cuál es el mejor modelo de seguridad.

Es probable que LSM permanezca ya que los módulos de seguridad adicionales Smack (versión 2.6.25), TOMOYO Linux (versión 2.6.30, junio de 2009) y AppArmor (versión 2.6.36) fueron aceptados en el kernel principal.

Referencias

  1. ^ "Módulos de seguridad de Linux: Soporte de seguridad general para el núcleo de Linux". 2002 . Consultado el 3 de febrero de 2007 .
  2. ^ "11.º Simposio de seguridad USENIX". 2002. Consultado el 3 de febrero de 2007 .
  3. ^ "Uso de CQUAL para el análisis estático de la ubicación de los ganchos de autorización". 2002 . Consultado el 3 de febrero de 2007 .
  4. ^ Landlock: control de acceso sin privilegios
  5. ^ Stephen Smalley; Timothy Fraser; Chris Vance. "Módulos de seguridad de Linux: ganchos de seguridad generales para Linux" . Consultado el 26 de octubre de 2015 .
  6. ^ Crispin Cowan (11 de abril de 2001). "Interfaz del módulo de seguridad de Linux". Lista de correo linux-kernel . Consultado el 3 de febrero de 2007 .

Enlaces externos