He estado aprendiendo sobre los sistemas MAC (Control de acceso obligatorio) en Linux. A menudo, pero no siempre, están vinculados a los Linux Security Modules . Algunos sistemas que he examinado: SELinux , Tomoyo , AppArmor , grsecurity , Smack .
Por lo que yo entendí, todos esos sistemas se basan en la configuración de un catálogo de reglas. Esas reglas definen políticas de acceso más específicas para archivos y recursos del sistema y, por lo tanto, proporcionan mayor seguridad.
Dada la intención de restringir el acceso al archivo, es lógico que tengamos que saber "qué" archivos y, por lo tanto, las referencias de los archivos son esenciales para que esas reglas tengan sentido. Esto es a lo que se refiere mi pregunta.
Con la notable excepción de SELinux y Smack, los otros enfoques utilizan rutas de archivos (rutas de acceso) para identificar los archivos en las reglas. He visto a otros juzgar este enfoque como inseguro, porque un archivo podría tener varios nombres al mismo tiempo (enlaces, montaje de enlaces, etc.).
¿Es seguro el enfoque de usar rutas de acceso? ¿Cuáles son las ventajas y desventajas de estos esquemas basados en nombres de ruta? ¿Sería correcto afirmar que "el MAC basado en el nombre de ruta (como TOMOYO, grsecurity, AppArmor, ...) tiene un defecto conceptual real"?