stringtranslate.com

Aislamiento de procesos

El aislamiento de procesos es un conjunto de diferentes tecnologías de hardware y software [1] diseñadas para proteger cada proceso de otros procesos en el sistema operativo . Esto se logra al evitar que el proceso A escriba en el proceso B.

El aislamiento de procesos se puede implementar con un espacio de direcciones virtual , donde el espacio de direcciones del proceso A es diferente del espacio de direcciones del proceso B, lo que evita que A escriba en B.

La seguridad es más fácil de aplicar al no permitir el acceso a la memoria entre procesos, en contraste con arquitecturas menos seguras como DOS en la que cualquier proceso puede escribir en cualquier memoria de cualquier otro proceso. [2]

Comunicación limitada entre procesos

En un sistema con aislamiento de procesos, se puede permitir una interacción limitada (controlada) entre procesos a través de canales de comunicación entre procesos (IPC), como memoria compartida , sockets locales o sockets de Internet . En este esquema, toda la memoria del proceso está aislada de otros procesos, excepto cuando el proceso permite la entrada de datos de procesos colaboradores.

Las políticas del sistema pueden prohibir la comunicación por interfaz en algunas circunstancias. Por ejemplo, en sistemas de control de acceso obligatorio , es posible que no se permita que sujetos con diferentes niveles de sensibilidad se comuniquen entre sí. Las implicaciones de seguridad en estas circunstancias son amplias y abarcan aplicaciones en la sistemática de cifrado de claves de red, así como en algoritmos de almacenamiento en caché distribuido. Los protocolos definidos por interfaz, como la arquitectura básica de acceso a la nube y el uso compartido de la red, se ven afectados de manera similar. [3]

Sistemas operativos

Los sistemas operativos que admiten el aislamiento de procesos al proporcionar espacios de direcciones separados para cada proceso incluyen:

Navegadores web

Internet Explorer 4 utilizaba el aislamiento de procesos para permitir que instancias separadas del navegador tuvieran sus propios procesos; sin embargo, en el apogeo de la guerra de navegadores , esto se abandonó en las versiones posteriores para competir con Netscape Navigator (que buscaba concentrarse en un proceso para toda la suite de Internet). Esta idea de proceso por instancia no se volvería a retomar hasta una década después, cuando la navegación con pestañas se volvió más común.

En la " Arquitectura multiproceso " de Google Chrome [4] y en el " IE de acoplamiento flexible (LCIE) " de Internet Explorer 8 [5] , las pestañas que contienen páginas web están contenidas dentro de sus propios procesos de nivel de sistema operativo semiseparados que están aislados del proceso principal del navegador para evitar que el bloqueo de una pestaña o página bloquee todo el navegador. Este método (conocido popularmente como multiproceso o proceso por pestaña ) está pensado para gestionar la memoria y el procesamiento al permitir que las pestañas infractoras se bloqueen por separado del navegador y de otras pestañas y para gestionar la seguridad.

Navegadores con aislamiento de procesos

Lenguajes de programación

Erlang (lenguaje de programación) proporciona un concepto similar en el espacio de usuario, al realizar procesos ligeros estrictamente separados.

Tecnologías relacionadas

Véase también

Referencias

  1. ^ Aiken, Mark; Fähndrich, Manuel; Hawblitzel, Chris; Hunt, Galen; Larus, James R. (octubre de 2006). Deconstructing Process Isolation (PDF) . Taller ACM SIGPLAN sobre rendimiento y corrección de sistemas de memoria. doi :10.1145/1178597.1178599.
  2. ^ Guía completa para el examen CISSP, 3.ª edición, Shon Harris
  3. ^ Pahl, Claus; Lee, Brian (2015). Contenedores y clústeres para arquitecturas de nube de borde: una revisión de tecnología (PDF) . Tercera Conferencia Internacional sobre Internet de las Cosas y la Nube del Futuro. doi :10.1109/FiCloud.2015.35.
  4. ^ "Arquitectura multiproceso". Blog de Chromium . 11 de septiembre de 2008.
  5. ^ Andy Zeigler (11 de marzo de 2008). «IE8 y IE de acoplamiento flexible (LCIE)». Archivado desde el original el 13 de marzo de 2010.