stringtranslate.com

Múltiples de un solo nivel

El nivel único múltiple o nivel de seguridad múltiple ( MSL ) es un medio para separar diferentes niveles de datos mediante el uso de computadoras o máquinas virtuales independientes para cada nivel. Su objetivo es brindar algunos de los beneficios de la seguridad multinivel sin necesidad de realizar cambios especiales en el sistema operativo o las aplicaciones, pero a costa de necesitar hardware adicional.

El impulso para desarrollar sistemas operativos MLS se vio gravemente obstaculizado por la drástica caída de los costos de procesamiento de datos a principios de los años 1990. Antes de la llegada de la informática de escritorio, los usuarios con requisitos de procesamiento clasificados tenían que gastar mucho dinero en una computadora dedicada o utilizar una que albergara un sistema operativo MLS. Sin embargo, durante los años 1990, muchas oficinas de las comunidades de defensa e inteligencia aprovecharon la caída de los costos informáticos para implementar sistemas de escritorio clasificados para operar solo en el nivel de clasificación más alto utilizado en su organización. Estas computadoras de escritorio funcionaban en modo de sistema alto y estaban conectadas con redes LAN que transportaban tráfico al mismo nivel que las computadoras.

Las implementaciones de MSL como estas evitaban de forma elegante las complejidades de MLS, pero sacrificaban la simplicidad técnica por un uso ineficiente del espacio. Como la mayoría de los usuarios en entornos clasificados también necesitaban sistemas no clasificados, los usuarios a menudo tenían al menos dos computadoras y, a veces, más (una para el procesamiento no clasificado y una para cada nivel de clasificación procesado). Además, cada computadora estaba conectada a su propia LAN en el nivel de clasificación apropiado, lo que significa que se incorporaron múltiples plantas de cableado dedicadas (con un costo considerable en términos de instalación y mantenimiento).

Límites de MSL versus MLS

La deficiencia obvia de MSL (en comparación con MLS) es que no admite la mezcla de varios niveles de clasificación de ninguna manera. Por ejemplo, la noción de concatenar un flujo de datos SECRET (tomado de un archivo SECRET) con un flujo de datos TOP SECRET (leído de un archivo TOP SECRET) y dirigir el flujo de datos TOP SECRET resultante a un archivo TOP SECRET no es compatible. En esencia, un sistema MSL puede considerarse como un conjunto de sistemas informáticos paralelos (y ubicados en el mismo lugar), cada uno restringido a operar en un solo nivel de seguridad. De hecho, los sistemas operativos MSL individuales pueden incluso no comprender el concepto de niveles de seguridad, ya que operan como sistemas de un solo nivel. Por ejemplo, mientras que uno de un conjunto de sistemas operativos MSL ubicados en el mismo lugar puede configurarse para agregar la cadena de caracteres "SECRET" a toda la salida, ese sistema operativo no comprende cómo se comparan los datos en cuanto a sensibilidad y criticidad con los datos procesados ​​por su sistema operativo par que agrega la cadena "UNCLASSIFIED" a toda su salida.

Por lo tanto, para operar en dos o más niveles de seguridad, se deben utilizar métodos ajenos al ámbito de los "sistemas operativos" MSL en sí, y que requieren intervención humana, lo que se denomina "revisión manual". Por ejemplo, se puede proporcionar un monitor independiente ( no en el sentido del término de Brinch Hansen ) para respaldar la migración de datos entre múltiples pares MSL ( por ejemplo , copiar un archivo de datos del par NO CLASIFICADO al par SECRETO). Aunque no existen requisitos estrictos por medio de la legislación federal que aborden específicamente esta cuestión, sería apropiado que dicho monitor fuera bastante pequeño, diseñado específicamente y que admitiera solo una pequeña cantidad de operaciones definidas de manera muy rígida, como importar y exportar archivos, configurar etiquetas de salida y otras tareas de mantenimiento/administración que requieren el manejo de todos los pares MSL ubicados en el mismo lugar como una unidad en lugar de como sistemas individuales de un solo nivel. También puede ser adecuado utilizar una arquitectura de software de hipervisor , como VMware , para proporcionar un conjunto de "SO" MSL de pares en forma de entornos virtualizados distintos respaldados por un SO subyacente al que solo pueden acceder los administradores autorizados para todos los datos administrados por cualquiera de los pares. Desde la perspectiva de los usuarios, cada par presentaría un inicio de sesión o una sesión de administrador de pantalla X lógicamente indistinguible del entorno de usuario del "SO de mantenimiento" subyacente.

Avances en MSL

El costo y la complejidad que implica mantener redes distintas para cada nivel de clasificación llevaron a la Agencia de Seguridad Nacional (NSA) a comenzar a investigar formas en las que se pudiera preservar el concepto MSL de sistemas dedicados de alto nivel y, al mismo tiempo, reducir la inversión física que demandan las redes y computadoras múltiples. El procesamiento de períodos fue el primer avance en esta área, estableciendo protocolos mediante los cuales las agencias podían conectar una computadora a una red en una clasificación, procesar información, sanear el sistema y conectarlo a una red diferente con otra clasificación. El modelo de procesamiento de períodos ofrecía la promesa de una sola computadora, pero no hizo nada para reducir las plantas de cableado múltiples y resultó enormemente inconveniente para los usuarios; en consecuencia, su adopción fue limitada.

En la década de 1990, el auge de la tecnología de virtualización cambió el campo de juego para los sistemas MSL. De repente, fue posible crear máquinas virtuales (VM) que se comportaban como computadoras independientes pero que se ejecutaban en una plataforma de hardware común. Con la virtualización, la NSA vio una forma de preservar el procesamiento de los períodos en un nivel virtual, sin necesidad de desinfectar el sistema físico al realizar todo el procesamiento dentro de VM dedicadas a todo el sistema. Sin embargo, para que MSL funcionara en un entorno virtual, era necesario encontrar una forma de controlar de forma segura el administrador de sesiones virtuales y garantizar que ninguna actividad comprometedora dirigida a una VM pudiera comprometer a otra.

Soluciones MSL

La NSA ha puesto en marcha varios programas destinados a crear tecnologías MSL viables y seguras aprovechando la virtualización. Hasta la fecha, se han materializado tres soluciones importantes.

Tanto la solución NetTop como la solución Trusted Multi-Net han sido aprobadas para su uso. Además, Trusted Computer Solutions ha desarrollado un producto de cliente ligero, originalmente basado en los conceptos de la tecnología NetTop a través de un acuerdo de licencia con la NSA. Este producto se llama SecureOffice(r) Trusted Thin Client(tm) y se ejecuta en la configuración LSPP de Red Hat Enterprise Linux versión 5 (RHEL5).

Tres empresas competidoras han implementado núcleos de separación MILS:

Además, se han producido avances en el desarrollo de sistemas MSL no virtualizados mediante el uso de hardware especializado, dando como resultado al menos una solución viable:

Aspectos filosóficos, facilidad de uso, flexibilidad.

Es interesante considerar las implicaciones filosóficas de la "vía de solución" de MSL. En lugar de proporcionar capacidades de MLS dentro de un sistema operativo clásico, la dirección elegida es construir un conjunto de pares de "sistema operativo virtual" que puedan ser administrados, individualmente y como un colectivo, por un sistema operativo real subyacente. Si el sistema operativo subyacente (introduzcamos el término sistema operativo de mantenimiento o MOS ) debe tener suficiente comprensión de la semántica de MLS para evitar errores graves, como copiar datos de un par MSL TOP SECRET a un par MSL UNCLASSIFIED, entonces el MOS debe tener la capacidad de: representar etiquetas; asociar etiquetas con entidades (aquí evitamos rigurosamente los términos "sujeto" y "objeto"); comparar etiquetas (evitando rigurosamente el término "monitor de referencia"); distinguir entre aquellos contextos donde las etiquetas son significativas y aquellos donde no lo son (evitando rigurosamente el término "base informática confiable" [TCB]); y la lista continúa. Se percibe fácilmente que los problemas de diseño y arquitectura del MLS no se han eliminado, sino que simplemente se han trasladado a un estrato separado de software que gestiona de forma invisible las cuestiones de control de acceso obligatorio, de modo que los estratos suprayacentes no tengan que hacerlo. Este concepto no es otro que el concepto arquitectónico fundamental (tomado del Informe Anderson) que subyace a los sistemas confiables de estilo DoD en primer lugar.

Sin embargo, lo que se ha logrado de manera positiva con la abstracción del conjunto de pares MSL es una restricción radical del alcance de los mecanismos de software que reconocen MAC al pequeño MOS subyacente. Sin embargo, esto se ha logrado a costa de eliminar cualquier capacidad práctica de MLS, incluso las más elementales, como cuando un usuario con autorización SECRET agrega un párrafo NO CLASIFICADO, tomado de un archivo NO CLASIFICADO, a su informe SECRET. La implementación de MSL obviamente requeriría que cada recurso "reutilizable" (en este ejemplo, el archivo NO CLASIFICADO) se replicara en cada par MSL que pudiera encontrarlo útil, lo que significaría o bien mucho almacenamiento secundario gastado innecesariamente o una carga intolerable para el administrador con autorización capaz de efectuar tales replicaciones en respuesta a las solicitudes de los usuarios. (Por supuesto, dado que el usuario SECRET no puede "navegar" por las ofertas NO CLASIFICADAS del sistema, salvo que cierre la sesión y comience de nuevo un sistema NO CLASIFICADO, se evidencia otra limitación grave en la funcionalidad y la flexibilidad). Como alternativa, los sistemas de archivos menos sensibles podrían montarse en NFS como de solo lectura, de modo que los usuarios más confiables pudieran explorar, pero no modificar, su contenido. No obstante, el par del sistema operativo MLS no tendría medios reales para distinguir (a través de un comando de listado de directorio, por ejemplo ) que los recursos montados en NFS están en un nivel de sensibilidad diferente al de los recursos locales, y no tendría medios estrictos para prevenir el flujo ascendente ilegal de información sensible, salvo el mecanismo de fuerza bruta, de todo o nada, del montaje en NFS como de solo lectura.

Para demostrar qué desventaja supone realmente esta drástica implementación del "intercambio de archivos entre niveles", consideremos el caso de un sistema MLS que admite datos NO CLASIFICADOS, SECRETOS y ALTO SECRETO, y un usuario con autorización ALTO SECRETO que inicia sesión en el sistema en ese nivel. Las estructuras de directorios MLS se construyen en torno al principio de contención, que, en términos generales, dicta que los niveles de sensibilidad más altos residen más profundamente en el árbol: por lo general, el nivel de un directorio debe coincidir o dominar al de su padre, mientras que el nivel de un archivo (más específicamente, de cualquier vínculo al mismo) debe coincidir con el del directorio que lo cataloga. (Esto es estrictamente cierto en el caso de MLS UNIX: las alternativas que admiten diferentes concepciones de directorios, entradas de directorio, i-nodos, etc. —como Multics , que añade la abstracción de "rama" a su paradigma de directorio— toleran un conjunto más amplio de implementaciones alternativas.) Se proporcionan mecanismos ortogonales para directorios compartidos públicamente y de spool, como /tmp o C:\TEMP , que son particionados automáticamente (e invisiblemente) por el SO, y las solicitudes de acceso a archivos de los usuarios se "desvían" automáticamente a la partición de directorio etiquetada adecuadamente. El usuario TOP SECRET es libre de explorar todo el sistema; su única restricción es que, mientras esté conectado en ese nivel, solo se le permite crear nuevos archivos TOP SECRET dentro de directorios específicos o sus descendientes. En la alternativa MSL, donde todo contenido navegable debe ser replicado de manera específica y laboriosa en todos los niveles aplicables por un administrador completamente autorizado (lo que significa, en este caso, que todos los datos SECRETOS deben replicarse en el sistema operativo par MSL TOP SECRET, mientras que todos los datos NO CLASIFICADOS deben replicarse tanto en los pares SECRETOS como TOP SECRET), uno puede percibir fácilmente que, cuanto más autorizado esté el usuario, más frustrante será su experiencia informática de tiempo compartido.

En un sentido teórico clásico de sistemas confiables (basándose en la terminología y los conceptos tomados del Libro Naranja , la base de la computación confiable), un sistema que admita pares MSL no podría lograr un nivel de seguridad más allá de (B1). Esto se debe a que los criterios (B2) requieren, entre otras cosas, tanto la identificación clara de un perímetro TCB como la existencia de una entidad única e identificable que tenga la capacidad y la autoridad para adjudicar el acceso a todos los datos representados en todos los recursos accesibles del sistema ADP. En un sentido muy real, entonces, la aplicación del término "alta seguridad" como descriptor de las implementaciones MSL no tiene sentido, ya que el término "alta seguridad" se limita adecuadamente a los sistemas (B3) y (A1) y, aunque con cierta laxitud, a los sistemas (B2).

Soluciones multidominio

Los sistemas MSL, ya sean virtuales o físicos, están diseñados para preservar el aislamiento entre los distintos niveles de clasificación. Por consiguiente, (a diferencia de los sistemas MLS), un entorno MSL no tiene capacidades innatas para mover datos de un nivel a otro.

Para permitir el intercambio de datos entre computadoras que trabajan en diferentes niveles de clasificación, estos sitios implementan soluciones entre dominios (CDS), que comúnmente se conocen como guardianes o guardias . Los guardias, que a menudo aprovechan las tecnologías MLS, filtran el tráfico que fluye entre redes; sin embargo, a diferencia de un firewall de Internet comercial , un guardia se construye según requisitos de seguridad mucho más estrictos y su filtrado está cuidadosamente diseñado para tratar de evitar cualquier fuga indebida de información clasificada entre redes LAN que operan en diferentes niveles de seguridad.

Las tecnologías de diodos de datos se utilizan ampliamente cuando se requiere restringir los flujos de datos a una dirección entre niveles, con un alto nivel de seguridad de que los datos no fluirán en la dirección opuesta. En general, están sujetas a las mismas restricciones que han impuesto desafíos a otras soluciones MLS: evaluación estricta de la seguridad y la necesidad de proporcionar un equivalente electrónico de la política establecida para mover información entre clasificaciones. (Mover información hacia abajo en el nivel de clasificación es particularmente desafiante y generalmente requiere la aprobación de varias personas diferentes).

A finales de 2005, se han aprobado numerosas plataformas de alta seguridad y aplicaciones de protección para su uso en entornos clasificados. Nb que el término "alta seguridad" tal como se emplea aquí debe evaluarse en el contexto de DCID 6/3 (léase "dee skid six three"), una guía cuasi técnica para la construcción y el despliegue de diversos sistemas para procesar información clasificada, que carece tanto de la rigidez legal precisa de los criterios del Libro Naranja como del rigor matemático subyacente. (El Libro Naranja está motivado por, y derivado de, una "cadena de razonamiento" lógica construida de la siguiente manera: [a] se define matemáticamente un estado "seguro" y se construye un modelo matemático, cuyas operaciones preservan el estado seguro de modo que cualquier secuencia concebible de operaciones que comiencen desde un estado seguro produzcan un estado seguro; [b] un mapeo de primitivas elegidas juiciosamente a secuencias de operaciones sobre el modelo; y [c] una "especificación descriptiva de alto nivel" que mapea acciones que pueden ser realizadas en la interfaz de usuario (tales como llamadas al sistema ) en secuencias de primitivas; pero sin llegar a [d] demostrar formalmente que una implementación de software en vivo implementa correctamente dichas secuencias de acciones; o [e] argumentar formalmente que el sistema ejecutable, ahora "confiable", es generado por herramientas correctas y confiables [ por ejemplo , compiladores, bibliotecarios, enlazadores].)