Está en la página 1de 9

6.

3 Implantación de matrices de acceso


Los derechos de acceso definen que acceso tienen varios sujetos sobre
varios objetos.Los sujetos a cceden a los objetos. Los objetos son
entidades que contienen información.

Los objetos pueden ser:

• Concretos:
o Ej.: discos, cintas, procesadores, almacenamiento, etc.
• Abstractos:
o Ej.: estructuras de datos, de procesos, etc.

Los objetos están protegidos contra los sujetos. Las autorizaciones a un


sistema se conceden a los sujetos.

Los sujetos pueden ser varios tipos de entidades:

• Ej.: usuarios, procesos, programas, otras entidades, etc.

Los derechos de acceso más comunes son:

• Acceso de lectura.
• Acceso de escritura.
• Acceso de ejecución.

Una forma de implementación es mediante una matriz de control de


acceso con:

• Filas para los sujetos.


• Columnas para los objetos.
• Celdas de la matriz para los derechos de acceso que un usuario
tiene a un objeto.

Una matriz de control de acceso debe ser muy celosamente protegida por
el S. O.

Dominios de protección

Un sistema de cómputos contiene muchos objetos que necesitan


protección. Estos objetos pueden ser el hardware, la CPU, los segmentos
de memoria, terminales, unidades de disco o impresoras; o bien ser del
software, como los proceso, archivos, bases de datos o semáforos.
Cada objeto tiene un único nombre mediante el cual se la hace referencia
y un conjunto de operaciones que se pueden realizar en él. READ y WRITE
son operaciones adecuadas para un archivo; UP y DOWN tiene sentido en
un semáforo.

Es evidente que se necesita una vía para prohibir el acceso de los procesos
a los objetos a los que no tiene permitido dicho acceso. Además, este
mecanismo debe posibilitar la restricción de los procesos a un subconjunto
de operaciones legales en caso necesario. Por ejemplo, puede permitirse
que el proceso A lea el archivo F, pero no escriba en él.

Para tener una forma de analizar los distintos mecanismos de protección,


es conveniente presentar el concepto de dominio. Un dominio es un
conjunto de parejas (objeto, derechos). Cada pareja determina un objeto
y cierto subconjunto de las operaciones que se pueden llevar a cabo en
él. Un derecho es, en este contexto, el permiso para realizar alguna de
las operaciones.

Una pregunta importante es la forma en que el sistema lleva un registro


de los objetos que pertenecen a un dominio dado. Al menos una teoría,
uno puede imaginar una enorme matriz, en la que los renglones son los
dominios y las columnas son los objetos. Cada cuadro contiene los
derechos correspondientes al objeto en ese dominio. Con esta matriz y el
número de dominio activo, el sistema puede determinar si se permite el
acceso de cierta forma a un objeto dado desde un domino especifico.

Un dominio es un conjunto de parejas (objeto, derechos):

• Cada pareja determina:


o Un objeto.
o Un subconjunto de las operaciones que se pueden llevar a
cabo en él.

Un derecho es el permiso para realizar alguna de las operaciones. Es


posible que un objeto se encuentre en varios dominios con “distintos”
derechos en cada dominio.

Un proceso se ejecuta en alguno de los dominios de protección:

• Existe una colección de objetos a los que puede tener acceso.


• Cada objeto tiene cierto conjunto de derechos.
Los procesos pueden alternar entre los dominios durante la
ejecución. Una llamada al S. O. provoca una alternancia de dominio. En
algunos S. O. los dominios se llaman anillos.

Una forma en la que el S. O. lleva un registro de los objetos que


pertenecen a cada dominio es mediante una matriz:

• Los renglones son los dominios.


• Las columnas son los objetos.
• Cada elemento de la matriz contiene los derechos correspondientes
al objeto en ese dominio, por ej.: leer, escribir, ejecutar.

Matriz de acceso

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 Sampson [4] como 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án 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.

La figura 6.3.2 representa una matriz de acceso, y la figura 6.3.3 es una


matriz de acceso derivada de la figura 6.3.1 de dominios de protección.
El mecanismo de protección es la matriz, junto con todos los elementos
que se han de anadir para que se cumplan de manera efectiva todas las
restricciones de acceso a los objetos.

• La política consiste en decidir como 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:

1.- 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.

2.- Dueño. Un proceso ejecutandose en un dominio que tiene derecho de


“dueno” sobre un objeto, puede repartir cualquier derecho de acceso
sobre cualquier dominio para dicho objeto.

3.- 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 tambien ha de ser protegida.

Implementacion de la Matriz de Acceso

Tabla Global Sencilla. Se almacena una lista de ternas {<dominio,


objeto, permisos>...}.

Como el numero de objetos y dominios es posiblemente muy grande, se


deberia guardar en memoria virtual → lento. Ver fig. 6.3.4
Lista de acceso para objetos(ACL)

Se expresa la MA por columnas {<dominio, permisos>, ...}. Se descartan


las entradas vacias.

Se puede crear una lista de permisos por defecto para hacer mas facil su
uso.

Dado que cada vez que se va a usar un objeto hay que comprobar si hay
o no permiso para hacerlo, es logico poner la ACL alli donde esten
descritos los atributos del objeto.

• Asocia a cada objeto una lista ordenada con:


o Todos los dominios que pueden tener acceso al objeto.
o La forma de dicho acceso (ej: lectura (r), grabacion (w),
ejecución (x)).

Una forma de implementar las ACL consiste en:

• Asignar tres bits (r, w, x) para cada archivo, para:


o El propietario, el grupo del propietario y los demas usuarios.
• Permitir que el propietario de cada objeto pueda modificar su ACL
en cualquier momento:
o 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 logico, o un puntero a
el (la estructura de datos que le describe); a esta direccion se la
llama capacidad .

Solo se podra realizar la operacion M sobre el objeto O si se dispone de


la capacidad (puntero) al objeto. Ver figura 6.3.6

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 tendra acceso a un objeto


si el dominio contiene una llave que coincida con una de las cerraduras.

Comparacion

La tabla global es una matriz dispersa, es ineficiente para su


almacenamiento.

ACL → Cuando se accede a un objeto es facil determinar si hay o no


permiso para usarlo.
Capacidades → Las ACL están distribuidas, es dificil saber cuales son los
derechos de acceso para un proceso, cosa que si se puede hacer con la
lista de capacidades.

Los sistemas reales suelen usar una mezcla de todos.

Ej. UNIX: Se abre un fichero, se verifica en la ACL si tiene permiso o no.


Si lo tiene, se consigue un descriptor de fichero, es decir una capacidad
que sera lo que se use a partir de entonces.

Fuente

https://sites.google.com/site/materiasisoperativo/unidad-6-proteccion-y-seguridad/6-3-
implantacion-de-matrices-de-acceso

También podría gustarte