Microsoft propuso un módulo para el kernel de Linux para verificar la integridad del sistema
Los desarrolladores de Microsoft dieron a conocer hace poco información sobre la introducción del mecanismo IPE (Integrity Policy Enforcement), implementado como un módulo LSM (Linux Security Module) para el kernel de Linux.
El módulo le permite definir una política de integridad general para todo el sistema, indicando qué operaciones son válidas y de qué manera se debe verificar la autenticidad de los componentes. Con IPE, se puede especificar qué archivos ejecutables pueden ejecutarse y asegurarse de que estos archivos sean idénticos a la versión proporcionada por una fuente confiable. El código está abierto bajo la licencia MIT.
El kernel de Linux admite varios LSM, incluidos SELinux (Linux con seguridad mejorada) y AppArmor entre los más conocidos. Microsoft contribuye en Linux como la base técnica de varias iniciativas y este nuevo proyecto lo ha nombrado como IPE (Integrity Policy Enforcement).
Esto está diseñado para fortalecer la integridad del código para el kernel de Linux, para garantizar que “cualquier código que se esté ejecutando (o archivos que se están leyendo) sea idéntico a la versión creada por una fuente confianza “, dijo Microsoft en GitHub.
IPE tiene como objetivo crear sistemas totalmente verificables cuya integridad se verifica desde el gestor de arranque y el núcleo hasta los archivos ejecutables finales, la configuración y las descargas.
En el caso de un cambio o sustitución del archivo, el IPE puede bloquear la operación o registrar el hecho de violación de integridad. El mecanismo propuesto se puede usar en el firmware para dispositivos integrados en los que todo el software y la configuración son recopilados y proporcionados especialmente por el propietario, por ejemplo, en los centros de datos de Microsoft, IPE se usa en equipos para firewalls.
Aunque el kernel de Linux ya tiene varios módulos para la verificación de integridad como IMA.
IPE ofrece específicamente la verificación en tiempo de ejecución del código binario. Microsoft afirma que IPE difiere de otros LSM en varias formas que proporcionan verificación de integridad.
IPE también admite auditorías de éxito. Cuando está habilitado, todos los eventos
que pasan la política IPE y no están bloqueados emitirán un evento de auditoría.
Este nuevo modulo propuesto por Microsoft, no es igual a otros sistemas de verificación de integridad, como por ejemplo IMA. Lo interesante de IPE, es que difiere en diversos aspectos y es independientemente de los metadatos en el sistema de ficheros, ademas de que todas las propiedades que determinan la validez de las operaciones se almacenan directamente en el núcleo.
Por ejemplo, IPE no depende de los metadatos del sistema de archivos y los atributos que IPE verifica. Además, IPE no implementa ningún mecanismo para verificar los archivos de firma IMA. Esto se debe a que el kernel de Linux ya tiene módulos para el mismo, como dm-verity.
Es decir que para verificar la integridad del contenido del archivo utilizando hashes criptográficos, se utilizan los mecanismos dm-verity o fs-verity que ya existen en el núcleo.
Por analogía con SELinux, dos modos de operación son permisivos y obligatorios. En el primer modo, solo se realiza un registro de problemas al realizar comprobaciones, que, por ejemplo, se pueden utilizar para pruebas preliminares del entorno.
“Idealmente, un sistema que usa IPE no está destinado al uso general de la computadora y no usa la configuración o el software creado por un tercero”, dijo el editor.
Además, el LSM promovido por Microsoft está diseñado para casos específicos, como sistemas integrados, donde la seguridad es una prioridad y los administradores del sistema tienen el control total.
Los propietarios del sistema pueden crear sus propias políticas para verificaciones de integridad y utilizar firmas integradas de dm-verity para autenticar códigos.
Para concluir, el nuevo proyecto trae un nuevo módulo de seguridad de Linux que otros módulos no pueden hacer para proteger el sistema de la ejecución de código malicioso.
Finalmente si quieres conocer más al respecto sobre los detalles de este nuevo modulo propuesto por desarrolladores de Microsoft, puedes consultar los detalles en el siguiente enlace. Se puede verificar el código fuente de este modulo en el siguiente enlace.