Esta pregunta es un "sería posible" en lugar de un "cómo".
¿Puede SELinux aislar un escáner AV binario, Kaspersky Endpoint Security for Linux para un ejemplo, para hacer solo lo que se supone que debe hacer que es escanear (leer) y detectar?
Imagine que instala Kaspersky en una máquina extremadamente sensible. La pérdida de información en la máquina causaría daños severos. Kaspersky, aunque es un escáner antivirus y una compañía de confianza con un rendimiento extremadamente bueno, sigue siendo una empresa fuera de mi país de origen. La influencia gubernamental, en este caso Rusia, podría forzar a Kaspersky a que cargue código malintencionado a través de procesos de actualización normales en nuestras estaciones de trabajo confidenciales, o exportar los archivos y volver a la base de operaciones exponiendo nuestra información. Es necesario evitar estos riesgos.
No soy un experto en SELinux, pero creo que sería posible. A mi modo de ver, es necesario aplicar un par de reglas, ya sea que SELinux las cumpla o no.
- El escáner de AV solo debe poder escribir en archivos dentro de su propio directorio instalado, asegurando que cualquier cosa que el programa esté creando pueda ser supervisado y eliminado estrictamente a voluntad.
- El escáner de AV solo debe poder leer archivos fuera de su directorio instalado, no debe permitir que esté creando o ejecutando ningún archivo fuera de su directorio instalado.
- El escáner de AV debe ser monitoreado para asegurarse de que no está exportando los archivos que está leyendo a un servidor remoto.
¿Es SELinux lo suficientemente flexible para cubrir estos riesgos? ¿O es la única respuesta aquí que tiene acceso al código fuente?