Articulo de referencia

núcleo de separación

Un núcleo de separación es un tipo de núcleo de seguridad que se utiliza para simular un entorno distribuido. El concepto fue introducido por John Rushby en un artículo de 1981....

Un núcleo de separación es un tipo de núcleo de seguridad que se utiliza para simular un entorno distribuido. El concepto fue introducido por John Rushby en un artículo de 1981. [ 1 ] Rushby propuso el núcleo de separación como solución a las dificultades y problemas surgidos en el desarrollo y la verificación de núcleos de seguridad grandes y complejos, diseñados para "proporcionar un funcionamiento seguro multinivel en sistemas multiusuario de propósito general". Según Rushby, "la tarea de un núcleo de separación es crear un entorno indistinguible del que proporciona un sistema distribuido físicamente: debe parecer que cada régimen es una máquina separada y aislada, y que la información solo puede fluir de una máquina a otra a través de líneas de comunicación externas conocidas. Por lo tanto, una de las propiedades que debemos demostrar de un núcleo de separación es que no existen canales para el flujo de información entre regímenes distintos de los explícitamente proporcionados".

Una variante del núcleo de separación, el núcleo de partición, ha ganado aceptación en la aviación comercial como método para consolidar múltiples funciones en un único procesador, posiblemente de criticidad mixta . Los fabricantes de aeronaves han utilizado sistemas operativos comerciales en tiempo real de este tipo para aplicaciones de aviónica críticas para la seguridad.

En 2007, la Dirección de Seguridad de la Información de la Agencia de Seguridad Nacional (NSA) de EE. UU. publicó el Perfil de Protección del Núcleo de Separación (SKPP), [ 2 ] una especificación de requisitos de seguridad para núcleos de separación adecuados para su uso en los entornos de amenazas más hostiles. El SKPP describe, en la terminología de los Criterios Comunes [ 3 ] , una clase de productos modernos que proporcionan las propiedades fundamentales del núcleo de separación conceptual de Rushby. Define los requisitos funcionales y de garantía de seguridad para la construcción y evaluación de núcleos de separación, al tiempo que ofrece cierta flexibilidad en las opciones disponibles para los desarrolladores.

El SKPP define el núcleo de separación como "mecanismos de hardware, firmware o software cuya función principal es establecer, aislar y separar múltiples particiones y controlar el flujo de información entre los sujetos y los recursos exportados asignados a dichas particiones". Además, los requisitos funcionales principales del núcleo de separación incluyen:

  • Protección de todos los recursos (incluidos la CPU , la memoria y los dispositivos) contra el acceso no autorizado.
  • Separación de los recursos internos utilizados por las Funciones de Seguridad del Objetivo de Evaluación (TSF, por sus siglas en inglés) de los recursos exportados puestos a disposición de los sujetos.
  • Particionamiento y aislamiento de los recursos exportados.
  • Mediación de los flujos de información entre particiones y entre recursos exportados.
  • Servicios de auditoría.

El núcleo de separación asigna todos los recursos exportados bajo su control a particiones. Las particiones están aisladas, excepto para los flujos de información explícitamente permitidos. Las acciones de un sujeto en una partición están aisladas de (es decir, no pueden ser detectadas ni comunicadas a) sujetos en otra partición, a menos que ese flujo haya sido permitido. Las particiones y los flujos se definen en los datos de configuración. Nótese que «partición» y «sujeto» son abstracciones ortogonales. «Partición», como indica su origen matemático, proporciona una agrupación de entidades del sistema basada en la teoría de conjuntos, mientras que «sujeto» nos permite razonar sobre las entidades activas individuales de un sistema. Por lo tanto, una partición (una colección que contiene cero o más elementos) no es un sujeto (un elemento activo), pero puede contener cero o más sujetos. [ 2 ] El núcleo de separación proporciona a los programas de software que aloja propiedades de particionamiento y control de flujo de información de alta seguridad que son a prueba de manipulaciones e ineludibles. Estas capacidades proporcionan una base confiable y configurable para una variedad de arquitecturas de sistemas. [ 2 ]

Soluciones

En 2011, la Dirección de Seguridad de la Información dejó de utilizar el SKPP. La NSA ya no certificará sistemas operativos específicos, incluidos los núcleos de separación, conforme al SKPP, señalando que "la conformidad con este perfil de protección, por sí sola, no ofrece suficiente confianza en que la información de seguridad nacional esté protegida adecuadamente en el contexto de un sistema más amplio en el que se integra el producto conforme". [ 5 ]

El microkernel seL4 cuenta con una prueba de concepto formal que demuestra su capacidad de configuración como kernel de separación. [ 6 ] La continuidad forzada de la información [ 7 ] junto con esto implica que se trata de un ejemplo de garantía de alto nivel. El kernel de separación Muen [ 8 ] también es un kernel de separación de código abierto formalmente verificado para máquinas x86.

Véase también

Referencias

  1. John Rushby, "El diseño y la verificación de sistemas seguros", Octavo Simposio ACM sobre Principios de Sistemas Operativos, págs. 12-21, Asilomar, CA, diciembre de 1981. ( ACM Operating Systems Review , vol. 15, n.º 5).
  2. 1 2 3 Dirección de Seguridad de la Información, Agencia de Seguridad Nacional, Fort George G. Meade, MD. "Perfil de protección del gobierno de EE. UU. para núcleos de separación en entornos que requieren alta robustez", Versión 1.03, junio de 2007.
  3. "Criterios comunes para la evaluación de la seguridad de las tecnologías de la información", Versión 3.1, CCMB-2006-09-001, 002, 003, septiembre de 2006.
  4. "NIAP" (PDF) . www.niap-ccevs.org . Consultado el 4 de enero de 2025 .
  5. "NIAP" . www.niap-ccevs.org . Consultado el 4 de enero de 2025 .
  6. "Las pruebas verificadas L4" . GitHub . 18 de noviembre de 2021.
  7. "seL4: de propósito general a prueba de cumplimiento del flujo de información" . Archivado del original el 22/12/2015 . Consultado el 20/12/2015 .
  8. "Muen - Un núcleo de separación x86/64 para alta fiabilidad" (PDF) . Archivado del original (PDF) el 26 de junio de 2018.