Usando SELinux para aislar un escáner AV binario para hacer solo su trabajo, escanear y detectar

1

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?

    
pregunta TrevorKS 02.08.2018 - 14:47
fuente

2 respuestas

2

Sí, puedes hacer esto con SELinux, pero por qué demonios quieres ?

Sus requisitos parecen omitir la ruta más probable para la fuga de información, y la que lanzó Kaspersky a los titulares recientemente y dio lugar a importantes cambios en la forma en que el software se adquiere e integra. Usted no hace ninguna mención de restringir el acceso a la red. Nuevamente, SELinux es bastante capaz de hacer esto.

  

A mi modo de ver, un par de reglas

Ah, ahora llegamos a lo difícil.

No hay un par de reglas. Muchas reglas.

Es relativamente simple de hacer con apparmor. O sin ningún MAC, puede ejecutarlo chroot con un bucle de solo lectura al sistema de archivos real (NFS, Fuse, Overlay) en su propio espacio de nombres de red con sus propias rutas de red / iptables.

    
respondido por el symcbean 02.08.2018 - 17:25
fuente
1

Sí, puedes escribir una política de SELinux así, al menos en teoría. Descubrí que, en la práctica, las aplicaciones binarias grandes como esa quieren tocar MUCHAS cosas diferentes en el sistema operativo y se bloquean cuando intentas denegar el acceso. Escribir las políticas de SELinux no es tan difícil como la gente cree. Si alguna vez ha escrito reglas de iptables o archivos de configuración de sendmail, es un nivel de complejidad comparable. Se necesita un tiempo para comprender los conceptos básicos, pero una vez que tenga eso en su haber, saber cómo escribir las políticas de SELinux es una habilidad invaluable que podrá reutilizar en otro lugar.

    
respondido por el mricon 02.08.2018 - 16:59
fuente

Lea otras preguntas en las etiquetas