Sistemas operativos modernos
9.6 MECANISMOS DE PROTECCION En las secciones anteriores examinamos muchos problemas potenciales, algunos de ellos téc nicos, otros no. En las que siguen nos concentraremos en los pormenores de algunas de las es trategias técnicas que se usan en los sistemas operativos para proteger archivos y otras cosas. Todas estas técnicas hacen una distinción clara entre política (los datos de quién se van a pro teger contra quién) y mecanismo (cómo cumple la política el sistema). La separación de polí tica y mecanismo se trata en Sandhu (1993). Aquí haremos énfasis en los mecanismos, no en las políticas. En algunos sistemas, la protección se implementa con un programa llamado monitor de referencias. Cada vez que se intenta tener acceso a un recurso que podría estar protegido, el sistema pide al monitor de referencias verificar antes si está permitido. El monitor de referen cias consulta entonces sus tablas de políticas y toma una decisión. A continuación describire mos el entorno en el que opera un monitor de referencias. 9.6.1 Dominios de protección Un sistemas de computación contiene muchos “objetos” que es preciso proteger. Esos objetos pueden ser hardware (por ejemplo, CPU, segmentos de memoria, unidades de disco o impre soras) o software (por ejemplo, procesos, archivos, bases de datos o semáforos). Cada objeto tiene un nombre único con el que se hace referencia a él, y un conjunto fini to de operaciones que los procesos pueden realizar con él. Las operaciones read y write son apropiadas para un archivo; up y down fienen sentido en el caso de un semáforo. Es obvio que se necesita alguna forma de prohibir a los procesos acceso a objetos a los que no están autorizados. Además, tal mecanismo debe permitir restringir los procesos a un sub conjunto de operaciones válidas si es necesario. Por ejemplo, el proceso A podría tener dere cho de leer el archivo F, pero no a escribir en él. Para hablar de los diferentes mecanismos de protección, resulta útil introducir el concepto de dominio. Un dominio es un conjunto de pares (objeto, derechos). Cada par especifica un objeto y algún subconjunto de las operaciones que pueden ejecutarse con él. Un derecho en este contexto implica permiso para realizar una de las operaciones. Es común que un dominio corresponda a un solo usuario, e indique lo que el usuario puede y no puede hacer, pero un do minio puede ser algo más general que un solo usuario. La figura 9-22 muestra tres dominios, los objetos de cada dominio y los derechos (Leer [R], Escribir [W] y Ejecutar [X]) disponibles para cada objeto. Cabe señalar que Impresora! está en dos dominios al mismo fiempo. Aunque no se muestra en este ejemplo, es posible que el mismo objeto esté en múltiples dominios, con diferentes derechos en cada uno. En un instante dado, todo proceso se ejecuta en algún dominio de protección. Dicho de otro modo, existe alguna colección de objetos a los que puede tener acceso, y para cada objeto fiene algún conjunto de derechos. Los procesos también pueden cambiar de un dominio a otro duran te su ejecución. Las reglas para el cambio de dominio dependen en alto grado del sistema.
RkJQdWJsaXNoZXIy MjI4NDcx