Aislamiento de procesos
En seguridad informática, el aislamiento de procesos, espacio o entorno aislado es un mecanismo de seguridad para separar los programas en ejecución, normalmente para mitigar los fallos del sistema y las vulnerabilidades del software para que no se propaguen. A menudo se utiliza para ejecutar programas o códigos no probados o no confiables, posiblemente de terceros, proveedores, usuarios o sitios web no verificados o no confiables, sin arriesgarse a dañar la máquina anfitriona o el sistema operativo. Una caja de arena suele proporcionar un conjunto de recursos estrechamente controlados para los programas invitados, como el espacio de almacenamiento y la memoria de respaldo. El acceso a la red, la capacidad de inspeccionar el sistema anfitrión o leer los dispositivos de entrada, suele estar prohibido o muy restringido.
Al proporcionar un entorno altamente controlado, los entornos aislados pueden considerarse un ejemplo específico de virtualización. El aislamiento de procesos se utiliza con frecuencia para probar programas no verificados que pueden contener un virus u otro código malicioso sin permitir que el software dañe el dispositivo anfitrión.
Algunos ejemplos de aislamiento son:
- Los applets son programas que se ejecutan en contención dentro de una máquina virtual o un intérprete de scripts que haga el aislamiento. En esquemas de uso de aplicaciones de retransmisión, el applet es descargado en el cliente remoto y puede comenzar a ejecutarse antes de que llegue en su totalidad. Los applets son comunes en los navegadores web, los cuales usan ese mecanismo para ejecutar de manera segura código no confiable contenido en páginas web. Las tres implementaciones de applet más conocidas —Adobe Flash, Java y Silverlight— permiten al menos una ventana rectangular con la que es posible la interactividad con el usuario y brinda algo de espacio persistente —todo con el permiso del usuario—.
- Una celda es un conjunto de límites en los recursos impuesto a los programas por el núcleo de un sistema operativo. Puede incluir cuotas máximas de entrada/salida, cuotas de espacio en disco, restricciones al acceso a redes y al sistema de archivos. Las celdas son usadas comúnmente en servidores virtualizados.
- Las máquinas virtuales emulan un ordenador en su totalidad, en el cual un sistema operativo convencional puede arrancar y funcionar como si estuviera sobre hardware real. El sistema operativo cliente está aislado en el sentido de que no corre nativamente en la máquina anfitriona y puede acceder únicamente a los recursos —muchas veces virtuales— que le proporciona el emulador.
- Aislamiento en máquinas nativas: Los investigadores de seguridad utilizan frecuentemente tecnologías de aislamiento para analizar el comportamiento de software malicioso. Al crear un ambiente que simula o replica los sistemas de escritorio objetivo, se puede evaluar cómo el software malicioso infecta y compromete el equipo.