El aislamiento de procesos es un conjunto de diferentes tecnologías de hardware y software [1] diseñado para proteger cada proceso de otros procesos en el sistema operativo . Lo hace evitando 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 las que cualquier proceso puede escribir en cualquier memoria en cualquier otro proceso. [2]
Comunicación limitada entre procesos
En un sistema con aislamiento de procesos, la interacción limitada (controlada) entre procesos aún puede permitirse a través de canales de comunicación entre procesos (IPC), como la memoria compartida , los enchufes locales o los enchufes de Internet . En este esquema, toda la memoria del proceso está aislada de otros procesos, excepto donde el proceso está permitiendo la entrada de los procesos en colaboración.
Las políticas del sistema pueden no permitir IPC en algunas circunstancias. Por ejemplo, en los sistemas de control de acceso obligatorios , es posible que los sujetos con diferentes niveles de sensibilidad no puedan comunicarse entre sí. Las implicaciones de seguridad en estas circunstancias son aplicaciones amplias y abarcan en la sistemática de cifrado de claves de red, así como 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 redes, se ven afectados de manera similar. [3]
Sistemas operativos
Sistemas operativos notables que admiten el aislamiento de procesos:
- Unix , Linux , OS X
- VMS
- Microsoft Windows desde Windows NT 3.1
navegadores web
Internet Explorer 4 utilizó el aislamiento de procesos para permitir instancias separadas del navegador con sus propios procesos; sin embargo, en el apogeo de las guerras de navegadores , esto se eliminó en 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 revisará hasta una década después, cuando la navegación por pestañas se volvió más común.
En Google Chrome 's " Multi-Process Architecture " [4] y Internet Explorer 8 ' s " de estructura flexible IE (LCIE) ", [5] pestañas que contienen las páginas web están contenidas dentro de sus propios procesos de nivel OS semi-separada que se aíslan desde el proceso principal del navegador para evitar que el bloqueo de una pestaña / página bloquee todo el navegador. Este método (conocido popularmente como multiproceso o proceso por pestaña ) está destinado a administrar la memoria y el procesamiento al permitir que las pestañas ofensivas se bloqueen por separado del navegador y otras pestañas y administren la seguridad.
Navegadores con aislamiento de procesos
- Google Chrome
- Internet Explorer 8 y posterior
- Safari
- Mozilla Firefox (predeterminado desde 57)
- Maxthon
Lenguajes de programación
Erlang (lenguaje de programación) proporciona un concepto similar en el espacio del usuario, al realizar procesos ligeros estrictamente separados.
Tecnologías relacionadas
- La memoria virtual y el espacio de direcciones virtuales permiten el aislamiento del espacio de memoria.
- Polyinstantiation permite espejos de recursos compartidos, donde los cambios del proceso A no serán visibles para el proceso B.
Ver también
Referencias
- ^ Aislamiento del proceso de deconstrucción. Aiken, Mark, Fähndrich, Manuel, Hawblitzel, Chris, Hunt, Galen, Larus, James R. Microsoft Research. Octubre de 2006 [1]
- ^ Todo en uno CISSP Exam Guide, 3rd Edition, Shon Harris
- ^ Pahl, C (2015). "Contenedores y clústeres para arquitecturas de nube de borde: una revisión de tecnología". Tercera conferencia internacional sobre el futuro de Internet de las cosas y la nube .
- ^ Arquitectura multiproceso , Blog de Chromium, jueves 11 de septiembre de 2008
- ^ IE8 e IE de acoplamiento flexible (LCIE) , por Andy Zeigler, martes 11 de marzo de 2008