El modelo de protección del sistema
se puede ver en forma abstracta como una matriz, la matriz de acceso. Una
matriz de acceso es una representación abstracta del concepto de dominio de protección.
Este modelo fue propuesto por
Lampsoncomo una descripción generalizada de mecanismos de protección en
sistemas operativos. Es el modelo más utilizado, del que existen numerosas
variaciones, especialmente en su implementación.
Los elementos básicos del modelo son
los siguientes:
•
Sujeto: Una entidad capaz de acceder a los objetos. En general, el
concepto de sujeto es equiparable con el de proceso. Cualquier usuario o aplicación
consigue acceder en realidad a un objeto por medio de un proceso que representa
al usuario o a la aplicación.
•
Objeto: Cualquier cosa cuyo acceso debe controlarse. Como ejemplo se
incluyen los archivos, partes de archivos, programas y segmentos de memoria.
•
Derecho de acceso: la manera en que un sujeto accede a un objeto. Como
ejemplo está Leer, Escribir y Ejecutar.
El modelo considera un conjunto de
recursos, denominados objetos, cuyo acceso debe ser controlado y un conjunto de
sujetos que acceden a dichos objetos. Existe también un conjunto de permisos de
acceso que especifica los diferentes permisos que los sujetos pueden tener
sobre los objetos (normalmente lectura, escritura, etc., aunque pueden ser
diferentes, en general, dependiendo de las operaciones que puedan realizarse
con el objeto).
Se trata de especificar para cada
pareja (sujeto, objeto), los permisos de acceso que el sujeto tiene sobre el
objeto. Esto se representa mediante una matriz de acceso M que enfrenta todos
los sujetos con todos los objetos. En cada celda M [i, j] se indican los
permisos de acceso concretos que tiene el sujeto i sobre el objeto j.
El mecanismo de protección es la
matriz, junto con todos los elementos que se han de añadir para que se cumplan
de manera efectiva todas las restricciones de acceso a los objetos.
•
La política consiste en decidir cómo rellenar las distintas celdas de la
matriz.
•
La MA permite implementar operaciones de cambio de domino.
•
El objeto sobre el que trabajamos es el Dominio →
aparecen tantas columnas como dominios haya en el sistema.
•
La operación es la conmutación de un dominio a otro.
•
También la MA es un objeto que se puede modificar. De este modo podemos
definir tres operaciones:
•
Copiar derechos de acceso de una celda a otra dentro de la misma
columna. Consiste en pasar el derecho de acceso a un objeto de un Dominio que
lo tiene, a otro donde originalmente no lo tenía. Se señala con un asterisco
(*).
•
Copia ilimitada con propagación del propio derecho de copia.
•
Copia limitada sin propagación.
•
Movimiento de derecho.
•
Dueño. Un proceso ejecutándose en un dominio que tiene derecho de “dueño”
sobre un objeto, puede repartir cualquier derecho de acceso sobre cualquier
dominio para dicho objeto.
•
Control. Opera solo sobre dominios. Ejercer el control sobre un dominio
implica que se puede quitar cualquier derecho sobre una fila de dominio.
•
La MA también ha de ser protegida.
Implementación
de la Matriz de Acceso
*Tabla Global
Sencilla. Se almacena una lista de
ternas {<dominio, objeto, permisos>...}.
Como el número de objetos y dominios
es posiblemente muy grande, se debería guardar en memoria virtual →
lento.
*Lista de acceso para objetos (ACL)
Se expresa la MA por columnas
{<dominio, permisos>,...}. Se descartan las entradas vacías.
Se puede crear una lista de permisos
por defecto para hacer más fácil su uso.
Dado que cada vez que se va a usar
un objeto hay que comprobar si hay o no permiso para hacerlo, es lógico poner
la ACL allí donde estén descritos los atributos del objeto.
Asocia a cada objeto una lista
ordenada con:
- · Todos los dominios que pueden tener acceso al objeto.
- · La forma de dicho acceso (ej.: lectura (r), grabación (w), ejecución (x)).
- · Una forma de implementar las ACL consiste en:
- · Asignar tres bits (r, w, x) para cada archivo, para:
- · El propietario, el grupo del propietario y los demás usuarios.
- · Permitir que el propietario de cada objeto pueda modificar su ACL en cualquier momento:
- · Permite prohibir accesos antes permitidos.
*Lista de Capacidades
Se expresa la MA por filas. Cada
dominio tiene una lista de la forma {<objeto, permisos>,...}
Para identificar el objeto se usa o
bien su nombre lógico, o un puntero a él (la estructura de datos que le
describe); a esta dirección se la llama capacidad.
Solo se podrá realizar la operación
M sobre el objeto O si se dispone de la capacidad (puntero) al objeto.
*Mecanismo de Cerradura-Llave
·
Cada
objeto tiene una lista de patrones llamados cerradura.
·
Cada
dominio tiene una lista de patrones llamados claves.
·
Un
proceso que se ejecuta en un dominio solo tendrá acceso a un objeto si el
dominio contiene una llave que coincida con una de las cerraduras.
No hay comentarios:
Publicar un comentario