Práctica Protección y Seguridad (Sistemas Operativos)
Ejercicio 01:
Si uno consigue crear un archivo que usa los mismos sectores que el viejo archivo borrado, y no se borra la informacion, y le cambia el tamaño, sin escribir ninguna informacion en el archivo, luego podra leer los contenidos del archivo ya borrado, al cual puede ser que uno no halla tenido permisos de acceso.
Ejercicio 02:[*]
- Matriz de Accesos:
Term1 Term2 ... Termn Alumnos 0h..8h 0h..8h ... 0h..8h Investig. 7h..24h 7h..24h ... 7h..24h Admin S. 0h..24h 0h..24h ... 0h..24h
- Tabla Global:
<Alumnos Term1 0h..8h>, <Alumnos Term2 0h..8h>,... <Investig. Term1 7h..24h>, <Investig. Term2 7h..24h>,... ...
- Lista de Accesos:
Term1 -> <Alumnos 0h..8h>, <Investig 7h..24h>,... Term2 -> <Alumnos 0h..8h>, <Investig 7h..24h>,... ...
- Lista de Capacidades:
Alumnos -> <Term1 0h..8h>, <Term2 0h..8h>,... Investig. -> <Term1 7h..24h>, <Term2 7h..24h>,... ...
- Lock-Key:
0h..7h Alu Adm
7h..8h Alu Inv Adm
8h..24h Inv Adm
(Hay que sacar una clave para cada dominio en base al rango horario)
De todas estas implementaciones, la mas eficiente es lock-key, ya que solo es necesario realizar un calculo matematico que permita saber si con tal "llave" puedo "abrir la cerradura" de acceso, y ademas no requiere espacio adicional.
Ejercicio 03:
La principal diferencia es que una guarda por objetos y la otra guarda por dominios. Cuando un usuario crea un objeto, establece sus derechos, pero es difícil determinar el conjunto de derechos para cada dominio. Las listas de capacidades son útiles para localizar información de un proceso en particular pero no se corresponden con las necesidades del usuario.
Ejercicio 04:[*]
Cuando se acceden a paginas que no están cargadas en los bloques (Page Fault).
Ejercicio 05:[*]
Todo indica que utiliza una estructura de anillo (como Multics)
Ejercicio 06:[*]
Conviene LCA, porque si la cantidad permitida de accesos estuviera determinada por un contador, seria mas facil modificarla en esta estructura.
Ejercicio 07:
Conviene la lista de capacidades (por ej: LCU)
Ejercicio 08:[*]
Se puede poner esa parte de la memoria como solo lectura. (Ver pag 3 tag)
Ejercicio 09:[*]
Se puede ver que vale para cualquier clave, si agarran un mensaje M y una clave C y encriptan y desencriptan les queda:
(M XOR C) XOR C = M XOR (C XOR C) = M XOR 0 = M
Ejercicio 10:[*]
Mensaje=M=A=0
Ejercicio 11:[*]
De quien es la capacidad?
Lista de Accesos -> Objetos
Lista de Capacidades -> Dominios
Lock key -> Entre el Dominio y el Objeto (depende de ambos)
Ejercicio 12:
Guardar los "hash" o shadow de los password. Tambien se puede modificar cada uno de los passwords guardados segun cierta clave o informacion interna que nadie tenga permiso a acceder.
Ejercicio 13:[*]
a)
sacamos las repeticiones:
S I T E M A O P R V
metemos el resto del alfabeto y lo comparamos con el original:
S I T E M A O P R V B C D F G H J K L N Q U W X Y Z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
entonces ABEJA = SIMVS
b)
este es facil, es sumarle 4 a las letras, entonces ABEJA = EFINE
Ejercicio 14:[*]
son el b) y el c)
Ejercicio 15:
Ventajas.. Es efectivo y flexible
Desventajas.. Si el sistema es muy volatil (muchos cambios de derechos y objetos) no es seguro
Ejercicio 16:[*]
a) No se puede (D1 solo puede hacer SWITCH con D2, que solo puede hacer CONTROL con D3, con lo cual no se puede copiar el acceso de lectura)
b) No se puede (Idem a)
c) Se puede (D1 hace SWITCH con D2, pasa a ser OWNER y tiene acceso a L/G)
Ejercicio 17:[*]
a) Esquema de Lista de Accesos
b) No cambiaria, ya que en este esquema se pueden implementar mejor los permisos genericos.
c) Tampoco.