4.1.-
Técnicas De Protección:
Nominación
Los esquemas de protección de varios sistemas dependen de que el usuario no tenga acceso a un
archivo que no puede nombrar; si no es capas de nombrarlo, entonces no es posible que opere con él.
Este esquema supone que no hay ningún mecanismo para obtener los nombres de los archivos de otros
usuarios y que es difícil adivinarlos. En realidad, como los nombres de archivos se eligen para que sean
mnemónicos, a menudo es fácil adivinarlos.
Contraseñas
Otra estrategia consiste en asociar una contraseña con cada archivo. De la misma manera que el
acceso al computador se controla por medio de una contraseña, también así se puede controlar el
acceso a cada archivo. Si las contraseñas se eligen al azar y se cambian con frecuencia, esta estrategia
puede ser eficaz para restringir el acceso a los usuarios que conozcan la contraseña.
No obstante, existen varias desventajas con este esquema. Si se asocia una contraseña individual con
cada archivo, puede ser muy grande el número de contraseñas que hay que recordar, lo que no resulta
práctico. Si se emplea la misma contraseña para todos los archivos, una vez que esta se descubre todos
los archivos se hacen accesibles. Algunos sistemas permiten que el usuario asocie una contraseña con
un subdirectorio, en vez de con un archivo.
Dominios de Protección
Un dominio de protección es un conjunto de pares (objeto, operaciones); cada par identifica un objeto y
las operaciones permitidas sobre él.
En cada instante, cada proceso se ejecuta dentro de un dominio de protección. Los procesos pueden
cambiar de un dominio a otro en el tiempo; el cómo depende mucho del sistema. En UNIX, se asocia un
dominio a cada usuario/grupo; dado un usuario y el grupo al cual pertenece, se puede construir una lista
de todos los objetos que puede acceder y con qué operaciones. Cuando un usuario ejecuta un programa
almacenado en un archivo de propiedad de otro usuario B, el proceso puede ejecutar dentro del dominio
de protección de A o B, dependiendo del bit de dominio o SETUSERID bit del archivo. Este mecanismo
se usa con algunos utilitarios. Por ejemplo, el programa passwd debe tener privilegios que un usuario
común no tiene, para poder modificar el archivo donde se guardan las claves. Lo que se hace es que el
archivo /bin/passwd que contiene el programa es propiedad del superusuario, y tiene el SETUSERID
encendido. Este esquema es peligroso: un proceso puede pasar de un estado en que tiene poco poder a
otro en que tiene poder absoluto (no hay términos medios). Cualquier error en un programa como
passwd puede significar un gran hoyo en la seguridad del sistema. Cuando se hace una llamada al
sistema también se produce un cambio de dominio, puesto que la llamada se ejecuta en modo protegido.
Matriz De Acceso
Otra Ahora bien, ¿cómo se las arregla el sistema para llevar la cuenta de quién puede acceder a qué
objetos y con qué operaciones? Conceptualmente al menos, se puede ver este modelo de protección
como una gran matriz de acceso.
Los cambios de dominio que un proceso puede hacer también pueden integrarse a la matriz, tratando a
los dominios como otros objetos, con una operación: entrar.
Una política de protección involucra decidir cómo se va a llenar esta matriz. Normalmente el usuario que
crea un objeto es quién decide cómo se va a llenar la columna de la matriz correspondiente a ese objeto.
La matriz de acceso es suficientemente general como para apoyar diversas políticas. Por ejemplo:
• La capacidad para copiar o transferir un derecho de un objeto a otro dominio.
• Capacidad de un dominio para modificar los derechos en otros dominios (todos, o para un recurso
específico).
El problema es cómo almacenar esta matriz. Como es una matriz poco densa (muchos de los elementos
son vacíos), no resulta práctico representarla como matriz propiamente. Podríamos usar una tabla con
triples (dominio, objeto, derechos). Si un proceso dentro de un dominio D intenta efectuar una operación
M sobre un objeto O, se busca (D, O, C), y se verifica si M pertenece a C. De todas maneras, la tabla es
grande, y el esquema no es muy eficiente. Además, si un objeto puede ser, por ejemplo, leído por todo el
mundo, debe tener entradas para cada dominio.
Listas De Acceso
Otra estrategia es hacer que el acceso dependa de la identidad del usuario. Los distintos usuarios
pueden requerir tipos de acceso diferentes para un archivo o un directorio, al cual puede asociarse una
lista de acceso que especifique los nombres de los usuarios y los tipos de acceso permitidos para cada
uno. Cuando un usuario solicita el acceso a un archivo, el sistema operativo comprueba la lista de
acceso correspondiente. Si el usuario aparece en la lista junto con el acceso solicitado, se permite el
acceso; de lo contrario, ocurre una violación de la protección y se niega el acceso.
Mecanismo Llave/Cerradura
Hay tres clases de elementos para la verificación de autenticidad con los cuales puede establecerse la identidad de un usuario de un sistema:
· Algo característico de la persona. Esto incluye huellas dactilares, patrones de voz, fotografías firmas.
· Algo que posee la persona. Esto incluye credenciales, tarjetas de identificación y claves.
· Algo que sabe la persona. Esto incluye contraseñas y combinaciones de candados.
La manera más fácil de proveer un sistema de verificación de identidad una matriz de accesos sobre dominios de protección. El usuario debe escoger una contraseña la que no siempre es la más apropiada porque se dejan llevar por cosas tribales como : nombre de mascota, banda de rock favorita, nombre de su novia etc. Sin ocupar como debería ser contraseñas de gran longitud y mezcladas con letras para que su adivinación sea mucho más complicada o inaccesible.
Una defensa sencilla contra los intentos repetidos es limitar el número de intentos de entrada que
Pueden iniciarse en cualquier periodo desde una misma terminal o estación de trabajo (o desde una misma cuenta). Sin duda, cualquier persona comete errores de tecleo cuando intenta entrar en el sistema. Pero no es razonable que una persona que conoce la contraseña correcta requiera decenas, cientos o miles de intentos. Por tanto, un sistema podría permitir tres o cuatro intentos, y después desconectar automáticamente la terminal durante varios minutos. Después de un periodo de espera, el terminal se puede volver a conectar. Si ocurre otra serie de intentos inútiles por entrar en el sistema, el sistema operativo podría desplegar un aviso en la terminal indicando que su intento de violación al sistema ha sido detectado.