En la mayoría de los sistemas operativos actuales, el valor predeterminado es que cuando instalamos un programa, se le da acceso a muchos recursos que puede no necesitar, y es posible que el usuario no tenga la intención de darle acceso. Por ejemplo, cuando se instala un programa de fuente cerrada, en principio no hay nada que impida leer las claves privadas en ~/.ssh
y enviarlas a un tercero malicioso a través de Internet, ya menos que el usuario sea un experto en seguridad experto en el rastreo programas, es probable que no pueda detectar dicha violación.Sistema operativo de espacio aislado
Con la proliferación de muchos programas de fuente cerrada que se instalan en las computadoras, ¿qué medidas toman los diferentes sistemas operativos para resolver el problema de los programas de sandboxing de terceros?
¿Hay algún sistema operativo diseñado desde cero con la seguridad en mente, donde cada programa o ejecutable tiene que declarar en un formato claramente legible por el usuario qué recursos requiere para ejecutar, para que el SO lo ejecute en una sandbox donde solo tiene acceso a esos recursos? Por ejemplo, un archivo ejecutable tendrá que declarar que requerirá acceso a un determinado directorio o archivo en el sistema de archivos, que tendrá que llegar a ciertos dominios o direcciones IP a través de la red, que requerirá cierta cantidad de memoria, etc. ... Si el ejecutable se encuentra en su declaración de requisitos de recursos del sistema, el sistema operativo debe impedir su acceso.
Qubes (http://qubes-os.org/Architecture.html) es un proyecto que utiliza máquinas virtuales para implementar dominios separados. En cierto modo, se trata de un redescubrimiento/reimplementación de MAC utilizando la virtualización como un bloque de construcción. – ninjalj
La virtualización tiene una gran sobrecarga de tener que instalar un sistema operativo por separado para cada aplicación. Sería más eficiente tener un solo sistema operativo con control de acceso obligatorio, lo que hace que cada aplicación sea más segura. – dzhelil
Sí, estoy de acuerdo en que la virtualización para cada aplicación es una gran pérdida de gastos generales. Como se mencionó, este es el compromiso del Control de acceso obligatorio. Sin embargo, si necesita un sistema operativo moderno para ejecutar la aplicación en cuestión, una sola instancia de virtualización para un par de aplicaciones es fácil de configurar y administrar por un usuario. –