Sistemas operativos modernos
permiso para leer el archivo a todos los usuarios del sistema, vigentes, insertando el derecho “leer” en la entrada correspondiente al nuevo archivo en cada uno de ios dominios. En cualquier instante dado, la matriz determina lo que puede hacer un proceso en cual quier dominio, no lo que está autorizado a hacer. La matriz es lo que el sistema hace cumplir; la autorización tiene que ver con la política de administración. Como ejemplo de esta distinción, consideremos el sistema sencillo de la figura 9-30 en la que los dominios corresponden a usua rios. En la figura 9-30a vemos la política de protección deseada: Enrique puede leer y escribir Correo?, Roberto puede leer y escribir Secreto, y ios tres usuarios pueden leer y ejecutar Com pilador. Objetos Compilador Correo? Secreto Objetos Compilador Correo? Secreto Ernesto Leer Ejecutar Ernesto Leer Ejecutar Enrique Leer Ejecutar Leer Escribir Enrique Leer Ejecutar Leer Escribir Roberto Leer Ejecutar Leer Escribir Roberto Leer Ejecutar Leer Leer Escribir (a) (b) Figura 9-30. a) Estado autorizado, b) Estado no autorizado. Imaginemos ahora que Roberto es muy astuto y encontró una forma de emitir comandos para cambiar la matriz a la de la figura 9-30b. Con esto, ha obtenido acceso a Correo?, lo cual no está autorizado. Si trata de leer ese archivo, el sistema operativo atenderá su solicitud por que no sabe que no está autorizado el estado de la figura 9-30b. Ahora debe ser evidente que el conjunto de todas las posibles matrices puede dividirse en dos conjuntos sin intersección: el conjunto de todos los estados autorizados y el conjunto de todos los estados no autorizados. Una pregunta en tomo a la cual han girado muchas investi gaciones teóricas es ésta: “Dado un estado autorizado inicial y un conjunto de instrucciones, ¿puede demostrarse que el sistema nunca podrá llegar a un estado no autorizado?” De hecho, estamos preguntando si el mecanismo disponible (las instrucciones de protec ción) es adecuado para hacer cumplir alguna política de protección. Dada esa política, un esta do inicial de la matriz y el conjunto de comandos para modificar la matriz, nos gustaría encontrar la forma de demostrar que el sistema es seguro. Resulta que tal demostración es di fícil en extremo; muchos sistemas de uso general no son seguros desde el punto de vista teóri co. Harrison et al. (1976) demostraron que en el caso de una configuración arbitraria para un sistema de protección arbitrario, la seguridad es indecidible desde la perspectiva teórica. No obstante, en el caso de un sistema específico, podría ser posible demostrar si el sistema puede pasar alguna vez de un estado autorizado a un estado no autorizado. Si desea más información al respecto, puede consultar Landwehr (1981).
RkJQdWJsaXNoZXIy MjI4NDcx