Protección y seguridad

De Departamento de Informatica
Saltar a: navegación, buscar

Universidad Técnica Federico Santa María, Departamento de Informática, Sistemas Operativos

Contenido

Protección y Seguridad

Protección

Objetivos de la Protección

Los procesos de un sistema pueden abarcar distintas áreas del mismo, con distintos propósitos y efectos. Por esta razón, es necesario restringir el dominio de dichos procesos bajo ciertas condiciones para asegurar que el sistema no sea vulnerado, y en términos simples, sea lo suficientemente seguro. La protección se refiere al "mecanismo para controlar el acceso a los procesos, o a los programas, usuarios, e incluso a los recursos que ofrece un sistema de computación".

Es sabido que los sistemas de computación se hacen cada vez más complejos, tanto su Hardware como su Software va evolucionando a medida que las necesidades de hoy en día van creciendo. La protección nació como un add-on para los sistemas operativos que poseen multiprogramación, para que usuarios o procesos poco confiables puedan hacer uso del sistema operativo sin afectar negativamente a este último mencionado, permitiendo compartir directorios de archivos, memoria, o cualquier recurso en general.

¿Por qué usar Protección?

Se utiliza protección para evitar accidentes, eventos que se supone que no debiesen ocurrir (para asegurar que los recursos del sistema solo sean usados en pos de sus respectivos propósitos).

Previo al establecimiento de los mecanismos de protección, en un sistema deben estar definidas las políticas de protección (las cuales definen qué elementos de dominio deben ser afectados por cada mecanismo de protección). Dichas políticas están definidas por distintas fuentes, ya sea el diseño del sistema (políticas estáticas), administradores del sistema, o usuarios individuales para casos más locales.

Las políticas pueden cambiar con el tiempo acorde a las necesidades que se presentan o por la forma en la que son definidas, y por esta razón no son únicamente responsabilidad del diseñador del sistema. Éstas deben poder ser una herramienta para los programadores de aplicaciones, para que sean lo suficientemente seguras y tengan acceso a los recursos necesarios cuando sea necesario. En el proceso de implementación de una política, se prefiere hacer empleo de mecanismos generales, los cuales presentan un mayor grado de versatilidad permitiendo más usos que mecanismos específicos.

  • Definiciones:
    • Política: Qué cosas se harán.
    • Mecanismo: Cómo se harán las cosas.

Dominio de la Protección

Un sistema de computación está compuesto de procesos y objetos, cada objeto con su nombre y propósito, a los cuales se puede emplear operaciones definidas y significativas. Estos objetos son "tipos de datos abstractos".

Cada operación depende de las capacidades y propósitos de cada objeto, por ejemplo la de una impresora es la de imprimir, la de un archivo (dependiendo del nivel de acceso) puede ser creado, leído, escrito, o borrado. Existen múltiples tipos de dato abstracto en un sistema de computación.

A un proceso sólo se le debe dar acceso a los recursos sobre los cuales tiene autorización, y solamente puede realizar las operaciones para las cuales esté autorizado. Este principio se conoce como la necesidad de conocer, y permite limitar el daño provocado por un proceso que falla, a la hora de ser realizado.

Dominio de Protección

Para facilitar el entendimiento de la forma en la que se estructura el proceso, se define el concepto de Dominio de Protección, el cual consta de un conjunto de recursos a los cuales un determinado proceso puede acceder, o más específicamente el conjunto de objetos y operaciones que pueden realizarse sobre los mismos. La capacidad para ejecutar una operación se llama Derecho de Acceso, y por tanto un Dominio es la colección de dichos Derechos de Acceso. La estructura sería la siguiente:

  • Estructura:
    • <nombre-de-objeto, conjunto-de-derechos>
  • Ejemplo para un "Dominio X":
    • Dominio X <Archivo R, {Leer, escribir}>
    • Acá se dice que a un objeto "Archivo R" se le podrán efectuar operaciones de Lectura y Escritura, para los procesos que pertenezcan al Dominio X.

Los dominios pueden compartir derechos de acceso. Basado en el ejemplo anterior, si un dominio X, Y y Z tuviesen la misma definición, los tres tendrán los mismos derechos por sobre el objeto Archivo R. La asociación entre un proceso y un dominio puede ser estática o dinámica (donde hay que poner un cuidado especial, pues acá se efectúan conmutaciones de dominio).

  • Hay distintas formas de establecer dominios:
    • Un usuario puede ser un dominio: Cada usuario tendrá distintos derechos de acceso. Si cambia el usuario, cambian los derechos.
    • Un proceso puede ser un dominio: El conjunto de objetos a los que se puede acceder depende del proceso. Si un proceso envía un mensaje a otro proceso, se efectúa la conmutación.
    • Un procedimiento puede ser un dominio: El conjunto de objetos por sobre los cuales se tiene derecho de acceso depende de las variables locales definidas en el procedimiento. Cuando se invoca un procedimiento se efectúa la conmutación.
  • Ejemplos:
    • MULTICS:
      • Dominios de Protección en forma de Anillo, organizados jerárquicamente, de 0 a 7.
      • El anillo de acceso i tiene los derechos de acceso del anillo i + 1, más otros propios. El menor de los i es el nivel 7.
      • Desventaja: No permite efectuar el principio de la Necesidad de Conocer. MULTICS es el sistema más complejo y menos eficiente.
    • UNIX:
      • Un dominio = Un usuario
      • Cambio de Dominio = Cambio de Usuario, por medio de un sistema de archivos.
      • Cada archivo posee un ID del propietario, y un bit de Dominio (setuid).
      • Desventaja: Requiere de mucho cuidado. Una mala definición de los Dominios puede implicar una fácil violación a la restricción de acceso.

Matriz de Acceso

Si queremos visualizar e implementar fácilmente la relación entre los Dominios, los Objetos y las Operaciones que pueden efectuarse dentro de dichos dominios, existe la Matriz de Acceso.

La Matriz de Acceso permite especificar diversas políticas, y asegurar que cumplan las propiedades semánticas establecidas.

Matriz de Acceso
Dominio\Objeto F1 F2 F3 Impresora
D1 Leer Leer
D2 Imprimir
D3 Leer Ejecutar
D4 Leer & Escribir Leer & Escribir

Las decisiones de las políticas que tienen que ver con la protección se pueden implementar en esta matriz de acceso. Cuando un usuario decide el contenido de las entradas, o el cambio, éstas se deben asociar a la matriz, y para ello los procesos deben ser capaces de cambiar de un dominio a otro.

Matriz de Acceso
Dominio\Objeto F1 F2 F3 Impresora D1 D2 D3 D4
D1 Leer Leer Conmutar & Control
D2 Imprimir Conmutar Conmutar
D3 Leer Dueño & Ejecutar
D4 Leer* & Escribir* Leer & Escribir Conmutar

Por medio de esta matriz, se dan los medios para crear políticas que promuevan la versatilidad en el proceso de asignación de dominios en los procesos.

Por ejemplo, la capacidad de "copiar" un derecho de acceso dentro de la columna de un objeto, o la transferencia de derecho, en el cual se copia un derecho de un dominio a otro, y luego se revoca el derecho al dominio inicial. A su vez, la propagación del derecho podría estar restringido, para que éste derecho pueda ser transferido a un dominio determinado y no pueda transferirse nuevamente. La capacidad de copiar un derecho se denota con un * a la derecha de la capacidad.

  • Ejemplo:
    • Escribir*

La capacidad de poder copiar o quitar derechos se llama Dueño, y se escribe en la Celda desde la cual se transfiere un derecho determinado.

Si a la vez un dominio posee un derecho de Control, dicho dominio podrá quitar cualquier derecho de acceso de la fila donde dicho derecho se encuentre.

Aunque los derechos de Copiar y Dueño permiten limitar la propagación de derechos de acceso, no garantizan privacidad a la hora de propagar información. A este problema se le llama Problema de Confinación.

Implementación de Matriz de Acceso

¿Cómo implementar esta matriz?

Por lo general estas matrices están muy poco pobladas, ya que los derechos deben estar restringido a las necesidades efectivas de un sistema de computación.

Tabla General

Es la implementación más sencilla.

  • Forma: <Dominio, Objeto, Conjunto de Derechos>

Cuando se ejecuta una operación M con un objeto O1 dentro del dominio D1, se busca en dicha tabla la tripleta <D1, O1, Rx>, donde Rx pertenece a M. Si esta tripleta existe, la operación es permitida, y en caso contrario se genera una excepción (error).

  • Desventajas: Es difícil aprovechar agrupamientos especiales. Si todos los usuarios tuviesen derecho de lectura, la tabla tendría que crear una tripleta por dominio, lo cual no es muy eficiente.

Listas de Acceso para Objetos

Consiste en pares ordenados.

  • Forma: <Dominio, conjunto-de-derechos>

Se puede extender a una lista y adicionalmente un conjunto por omisión de derechos de acceso.

Al realizar una operación, si existe una entrada <D1, Rx> en la lista inicial, se realiza la operación, en caso contrario se revisa la lista por omisión, en la cual si existe la entrada se realiza el acceso, en caso contrario se niega el acceso y se lleva a cabo una operación de excepción. Para aumentar la eficiencia, al saber que la lista por omisión es más pequeña, puede ser revisada antes que la primera lista.

Lista de Capacidades de Dominio

En vez de asociar las columnas de la matriz de acceso a objetos como listas de acceso, puede asociarse cada fila a cada dominio, esto es, una lista de capacidades, la cual consiste en una lista de objetos junto a las operaciones que se permiten en dichos objetos.

Un objeto es normalmente representado con una dirección física (capacidad). Para ejecutar una operación determinada en dicho objeto, el proceso ejecuta dicha operación especificando la capacidad previamente mencionada. Tener esa capacidad es equivalente a tener el acceso requerido.

La lista de capacidades es un objeto protegido que el sistema operativo mantiene y al cual el usuario solo puede acceder indirectamente. La gracia de este tipo de organizaciones radica en el nivel de seguridad que provee, ya que las capacidades no puede migrar de espacio de direcciones al que un proceso de usuario tiene acceso directo. Si las capacidades están seguras, el objeto protegido por dichas capacidades también estará seguro.

Las capacidades se clasifican en dos tipos:

  • Etiquetas interpretables por Hardware:
    • Donde solo la máquina distingue qué tipo de objetos se manejan, ya sean números de punto flotante, punteros, booleanos, caracteres, instrucciones, capacidades, NULL values.
    • El espacio de direcciones asociados a un programa se divide en dos partes. Una puede se accesible por el programa, conteniendo datos e instrucciones. La otra parte contiene la lista de capacidades, accesibles por el Sistema Operativo. Un espacio en memoria segmentado es útil para soportar este enfoque.
    • Ejemplos: Mach (Sistema Operativo).

Mecanismo de cerradura y llave

Este esquema es una combinación entre las listas de acceso y listas de capacidades. Los objetos tienen cerraduras (patrones de bits únicos), los dominios tienen llaves (patrones de bits únicos). Cuando dichos patrones coinciden, los dominios pueden acceder a dichos objetos.

El sistema operativo es el encargado de administrar dichos patrones en los dominios.

Revocación de Derechos de Acceso

Este tipo de operaciones corresponden a los sistemas de protección dinámicos, en los cuales los derechos cambian acorde a las necesidades y a la definición dinámica de recursos. Simplemente consiste en revocar derechos de acceso acorde a los cambios de las necesidades de los usuarios.

¿Cómo ocurren las revocaciones?:

  • Inmediata o Diferida:
    • Inmediata (autoexplicativa)
    • Diferida (¿cuándo ocurrirá?)
  • Selectiva o General:
    • A algunos usuarios (o a un usuario en particular)
    • A todos los usuarios
  • Parcial o Total:
    • Se revoca un subconjunto de derechos (o solamente un derecho)
    • Se revocan todos los derechos
  • Temporal o Permanente:
    • Es por un tiempo
    • Es para siempre

Si se usan listas de acceso, la revocación de derechos de acceso es sencilla, ya que solo se eliminan los derechos buscados de la lista. Es inmediata, puede ser general o selectiva, total o parcial, permanente o temporal.

Las capacidades por otro lado, son muy difíciles de revocar, ya que al hacer referencia a direcciones físicas están repartidas por todo el sistema. Existen esquemas para buscar dichas capacidades:

  • Readquisición: Periódicamente se eliminan capacidades de cada dominio, y si un proceso quiere volver a usar dichas capacidades, se pueden encontrar. Si el acceso fue revocado, el proceso no tendrá acceso a dicha capacidad.
  • Retropunteros: Se mantiene una lista de punteros a cada objeto, las que apuntan a cada capacidad de cada objeto. Para revocar capacidades se siguen dichos punteros, sin embargo es un esquema muy costoso de implementar.
  • Indirección: Las capacidades apuntan a una entrada en una tabla global, la cual apunta a un objeto. Se implementa una revocación buscando la capacidad en la tabla global y se elimina. No permite una revocación selectiva.
  • Claves: Utiliza el sistema de cerradura (que posee una master key) y clave. Para revocar acceso, se cambia la clave de la capacidad. Tampoco permite la revocación selectiva.

Sistemas Basados en Capacidades

Existen dos sistemas particulares (campos de estudio interesantes de analizar) que basan su protección en sistemas de capacidades.

Hydra

  • Flexibilidad: Considerable
  • Base: Conjunto fijo de accesos básicos, como Lectura, Escritura, Ejecución, etc.
  • Extensión: Cada usuario del sistema de protección puede declarar derechos adicionales.
  • Operaciones: Vía procedimientos, los cuales son interpretados como Objetos, a los cuales se accede por medio de Capacidades.
  • Resultado: Hydra puede discriminar los derechos de acceso ejemplar por ejemplar y proceso por proceso.

Cambridge CAP

  • Flexibilidad: Media
  • Base: Conjunto limitado de accesos básicos, como Lectura, Escritura o Ejecución.
  • Extensión: ---
  • Operaciones: Vía habilitación de derechos. Éstos son habilitados temporalmente para activar capacidades (capacidades de datos y capacidades de software), por medio de la implementación de las primitivas Seal (sellar) y Unseal (quitar sello).
  • Resultado: Un sistema básico capaz de proteger procesos y recursos tanto a nivel global como en subprocesos.

Seguridad

El Problema de la Seguridad

La seguridad no solo requiere un sistema de protección apropiado, sino también considerar el entorno externo en el que el sistema opera. La protección interna no es útil si la consola del operador está al alcance de personal no autorizado o si los archivos se pueden sacar simplemente del sistema de computación y llevarse a un sistema sin protección. La información almacenada en el sistema debe protegerse contra acceso no autorizado, destrucción o alteración mal intencionada, y la introducción accidental de incoherencias.

Cuando los mecanismos de protección son burlados y personas mal intencionadas intentan acceder a recursos indebidos entonces la seguridad entra en acción. Se dice que un grupo es seguro si sus recursos se usan y acceden como es debido en toda circunstancia.

Las violaciones de seguridad pueden clasificarse en intencionales o accidentales, siendo más fácil protegerse de ésta última. Entre las formas de acceso mal intencionado está el robo de información y la modificación y eliminación no autorizada de datos.

Para proteger el sistema se deben tomar medidas de 2 niveles: Físico (contra el ingreso armado o de intrusos) y humano (Selección cuidadosa de usuarios). Por otra parte el hardware del sistema debe proporcional protección que permita implementar funciones de seguridad. Por el momento se abordará el tema de la seguridad en el nivel del sistema operativo, que es implementada en varios niveles, que van desde las contraseñas hasta el aislamiento de procesos concurrentes que se ejecutan dentro del sistema.

Validación

¿Cómo podemos determinar si la identidad de un usuario es auténtica? En general la validación se basa en uno o más de 3 elementos: posesión, conocimiento y un atributo del usuario.

Contraseñas: Es la estrategia más común. Si ésta coincide con la que está almacenada en el sistema, 
éste supone ser un  usuario  autorizado. Se pueden considerar como un caso especial de “posesión del usuario”
  • Ejemplos
    • Conocimiento del usuario: Huellas digitales, registro de la voz, fotografía, firma, etcétera.
    • Posesión del usuario: Insignias especiales, tarjetas de identificación, llaves, etcétera.
    • Conocimiento del usuario: Contrasenas, combinaciones de cerraduras, etc.
  • Vulnerabilidades de las contraseñas: A pesar de haber problemas asociados a las contraseñas, éstas son muy comunes porque son fáciles de usar y de entender. Su problema radica en la dificultad de mantener secreta una contraseña, ya que pierden su habilidad si se adivinan, se exponen accidentalmente o son transferidas indebidamente a un usuario no autorizado.

Hay 2 formas de adivinar las contraseñas. Una que el “intruso” conozca al usuario y pueda obtener información de éste, la otra forma es usar fuerza bruta probando todas las posibles combinaciones. Desde luego, los usuarios deben aprovechar el espacio de contraseñas más grandes. El fracaso de la seguridad por contraseña a causa de exposición puede ser resultado de vigilancia visual o electrónica. El último problema que pone en peligro las contraseñas es consecuencia de la naturaleza humana. La mayor parte de las instalaciones de computación tienen la regla de que no se permite a los usuarios compartir cuentas.

  • Contraseñas cifradas: Unix usa cifrado para no tener que mantener en secreto su lista de contraseñas. Cada usuario tiene una contraseña. El sistema contiene una función que es muy difícil de invertir, pero fácil de calcular. Esta función se usa para codificar todas las contraseñas y así solo se almacenan las contraseñas codificadas y cuando un usuario ingresa una contraseña ésta se codifica y se compara con la contraseña almacenada que ya se encuentra codificada.

El defecto de este método es que el sistema ya no tiene control sobre las contraseñas. Otro punto débil en los métodos de contraseñas de UNIX es que muchos sistemas UNIX solo tratan los primeros 8 caracteres como significativos, lo que es en extremo importante para que los usuarios aprovechen el espacio de contraseñas disponible.

Contraseñas de "un solo uso"

Cuando se inicia una sesión, el sistema selecciona al azar y presenta una parte de un par de contraseñas, el usuario deberá proporcionar la otra parte. Se presenta un reto al usuario y éste debe responde correctamente. El sistema y el usuario comparten un secreto. El secreto nunca se transmite por un medio que permita la exposición. El secreto se unas como entrada con una semilla compartida. Una semilla es un número o secuencia alfanumérica aleatoria. Entonces el secreto y la semilla se unas como entrada para la función y como el sistema también las conoce, puede realizar los mismos cálculos y la próxima vez que sea necesario validar al usuario se generará otra semilla con los mismos cálculos, pero esta vez la contraseña será diferente.

Amenazas por Programas

  • Caballo de Troya: Muchos sistemas cuentan con mecanismos que permiten al usuario ejecutar programas escritos por otros usuarios. Si éstos programas se ejecutan en un dominio que proporciona los derechos de acceso del usuario ejecutante, podrían abusar de esos derechos. Un segmento de código que abusa de su entorno se denomina caballo de Troya.

Una variación del caballo de Troya sería un programa que emula un programa de ingreso al sistema. Un usuario intenta logearse pero el sistema le dice que ingresó mal su contraseña, entonces lo intenta nuevamente lo logra entrar sin problemas.

  • Puerta secreta (trap door): El diseñador de un programa o sistema podría dejar un “agujero” en el sofware que sólo él pueda usar. Las puertas secretas son un problema difícil porque para detectarlas es preciso analizar todo el código fuente de todos los componentes de un sistema y dado que un sistema tiene muchas líneas de código dicho análisis no se hace con mucha frecuencia

Amenazas al Sistema

Con los mecanismos para que un proceso engendre a otro proceso es posible crear una situación en que se abuse de los recursos del sistema operativo y de los archivos de usuario.

  • Gusanos: Proceso que usa el mecanismo de engendrar para dar al traste con el desempeño del sistema. El gusano engendra copias de sí mismo, ocupando recursos del sistema e impidiendo que todos los demás procesos usar el sistema.
  • Virus: Diseñados para extenderse hacia otros programas y pueden producir daños graves en un sistema, como modificar o destruir archivos y causar caídas del sistema o fallos de los programas. Mientras que un gusano está estructurado como programa completo y autónomo, un virus es un fragmento de código incrustado en un programa legítimo. Los virus son un problema importante para los usuarios de los microcomputadores.

Los programas antivirus se venden como pan caliente., sin embargo la gran parte de los paquetes comerciales sólo son eficaces contra virus específicos conocidos. Estos programas examinan todos los programas de un sistema en busca del patrón de instrucciones específico que se sabe constituye el virus, cuando encuentra las instrucciones, las elimina, “desinfectando” el programa.

Vigilancia de Amenazas

La seguridad de un sistema se puede mejorar con 2 técnicas de administración.

  • Vigilancia de amenazas: El sistema busca patrones de actividad sospechosos de un intento por detectar violaciones de seguridad.
  • Bitácora de auditoria: La bitácora registra la hora, el usuario y el tipo de todos los accesos a un objeto. Después de una violación de seguridad ésta puede servir para determinar cómo y cuándo ocurrió el problema y tal vez la magnitud del daño.

Cifrado

El cifrado es un método común de proteger información que se transmite por enlaces no confiables. 

El mecanismo básico funciona como sigue:

  1. La información se cifra (codifica) de su forma comprensible original (Texto limpio) a una forma interna (texto cifrado). Ésta forma interna aunque se puede leer no es comprensible.
  2. El texto cifrado se puede almacenar en un archivo legible o transmitirse por canales desprotegidos.
  3. Para entender el texto cifrado, el receptor debe descifrarlo (decodificarlo) para convertirlo otra vez en texto limpio.

El reto principal al usar este método es crear esquemas de cifrado que sean imposibles o al menos extraordinariamente difíciles de romper.

Anillos de Protección de un Sistema Operativo

¿Que es una Anillo de Protección?

Los anillos de protección son mecanismos para proteger datos, funcionalidades de fallos y comportamientos maliciosos, basada en diferentes niveles de acceso a los recursos (0 … N-1) y diametralmente opuesto a la seguridad basada en capacidad.

Un anillo de protección es uno de dos o más niveles jerárquicos (Capas de Privilegios) que se encuentran dentro de la arquitectura de un Sistema Operativo.

Su jerarquía consiste en tener los anillos con más privilegios al centro de la jerarquía, más cercano al núcleo llamado Ring 0 (Mayor confianza), hasta el más exterior de menos confianza y privilegios llamado Ring N-1. Generalmente el Ring 0 es el que se relaciona con el Hardware, como la CPU y la memoria.

Se dispone de puertas (gates) de entrada entre los anillos, las cuales permiten el control de uso de recursos de diferentes anillos, con la finalidad de entregar seguridad a los distintos anillos. Un ejemplo de lo que podría ocurrir al no definir las entradas a los anillos es que un spyware que corre como un programa de usuario en el Ring 3 encienda la cámara web sin informar al usuario, siendo que dicha función es reservada en el Ring 1.

Jerarquía

Anillos.png

Una aproximación de lo que puede ser jerarquicamente los anillos de protección sería la siguiente:

  • Ring 0 – Sistema Operatvio

Anillo más interno y importantes, en el cual de producirse un error , puede haber una pérdida de datos que puede provocar una inestabilidad del sistema. Al tener los permisos más elevados y estar más al centro puede afectar todos los demás niveles.

  • Ring 1 – Controladores

Los controladores son aquellos que se encargan de comunicar el Sistema Operativo con el hardware del ordenador. Su objetivo es aislar al Sistema Operativo de las variaciones de hardware que existen, traduciendo las instrucciones de cada dispositivo a un lenguaje común, propio del sistema.

  • Ring 2 – Sistema de archivos

El sistema de archivos contiene la información que está en el sistema, el cual es preciso protegerlo. Si hay problemas con ésta área es posible que dejen de funcionar algunos programas o archivos de datos.

  • Ring 3 – Aplicaciones

Las aplicaciones son aquellas que interactuan directamente con los archivos de sistema y están facultadas para resolver distintas problemáticas.

  • Ring 4 – Red Local

Las redes proporcionan conectividad y la posibilidad de compartir información, por lo tanto también es un punto donde existe posibilidad de invasión.

  • Ring 5 – Internet

Llegando a internet nos encontramos con la capa más exterior y menos confiable.

Funcionamiento

Si un proceso se ejecuta en el anillo "i" e invoca un procedimiento con fronteras de acceso (b1, b2), entonces la llamada será permitida si b1 <= i <= b, y el número actual de anillo del proceso seguirá siendo i. En caso contrario, se produce una interrupción software dirigida al sistema operativo y la situación se trata de la siguiente forma:

  • Si i < b1, entonces, se permite que tenga la llamada, ya que, tenemos una transferencia a un anillo con menores privilegios. Sin embargo, si se pasan parámetros que hagan referencia a segmentos situados en un anillo menor (es decir, segmentos no accesibles para el procedimiento invocado), entonces estos segmentos deberán copiarse en un área a al que sí pueda acceder el procedimiento invocado.
  • Si i > b2, entonces solo se permite que se produzca la llamada si b3 es mayor o igual que i y la llamada ha sido dirigida a uno de los puntos de entrada designados en la lista de puertas. Este esquema permite que procesos con derechos de acceso limitados invoquen procedimientos en los anillos inferiores que tengan más derechos de acceso, pero sólo de una manera cuidadosamente controlada.

La principal desventaja de la estructura de anillos, es que no permite imponer el principio de la necesidad de conocer. En particular, si un objeto debe estar accesible en el dominio Dj pero no en el dominio Di, entonces debemos tener j<i. Pero este requisito significa que todos los segmentos son accesibles en Di serán también accesible en Dj.

Enlaces externos

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas