che cosa è un dominio di protezione? | un dominio di protezione che definisce le risorse a cui un processo può accedere e le operazioni lecite i cui permessi sono decisi dagli utenti o
amministratori.
Un dominio può essere realizzato in diversi modi: un utente, un processo o anche una procedura |
in quali modi può essere affidato un dominio ad un processo? | in maniera statica :
il set di risorse disponibili per il processo è fissato all'inizio per tutta la durata dell'esecuzione; è semplice da implementare ma spesso assegna più diritti di quanto effettivamente il processo abbia bisogno
in maniera dinamica :
vengono forniti meccanismi per cambiare dominio di protezione piu difficile da implementare |
che cosa è il principio di minima conoscenza? | principio su cui si basa il dominio di protezione
Un processo deve poter accedere solo alle risorse strettamente necessarie per effettuare la propria computazione |
quali sono le varianti della matrice di accesso? | matrice d'accesso
matrice d'accesso con domini
matrice d'accesso con diritto di copia
matrice d'accesso con diritti di proprietà |
cosa sono le liste di controllo degli accessi ? | • Liste di controllo degli accessi (associate alle singole risorse)
Siccome le matrici occupano tanto spazio inutilizzato, con le liste le informazioni vengono raggruppate :
per colonne -> liste di capacità delle risorse
Ogni risorsa ha la sua bella lista
Per righe -> liste di capacità dei domini
Ogni dominio ha la sua lista di risorse
Per cambiare i diritti devo prendere la lista della risorsa interessata e togliere il diritto
possono essere specificate dagli utenti e contengono informazioni globali, ma sono inefficienti su grandi sistemi |
cosa sono le liste di controllo dei domini?
come avviene la revoca per queste? | • Liste di capacità dei domini (lista di risorse in un dominio e le sue funzioni)
Quando raggruppo le matrici per righe e ogni dominio ha la sua lista di risorse
Se voglio revocare i diritti devo scorrere le liste di domini e cercare la risorsa giusta
Per semplificare il tutto posso mettere dei puntatori che dalle risorse puntano alle loro capacità
hanno informazioni localizzate e sistemi di revoca poco efficienti |
come funziona il meccanismo serrature-chiavi? | • Meccanismo serrature-chiavi
Ai processi viene assegnata una chiave (determinata da una lista di bit)
e alle risorse una serratura ciascuna(una lista di bit).
Nel momento in cui un processo vuole fare una operazione con una risorsa, prova la sua chiave. |
che cosa si intende per protezione? | Per protezione si intende la messa in sicurezza delle risorse da parte di accessi non autorizzati di utenti, programmi o processi. |
quali tipi di revoche di accessi esistono? | la revoca dei diritti di accesso di un utente puo' essere:
- immediate o ritardate
- selettive (che si riflettono su un numero limitato di utenti) o generali (su tutti)
- parziali (riguardano un numero limitato di diritti) o totali (tutti)
- temporanee o permanenti |
come avviene la protezione basata sul linguaggio? | nella protezione basata sul linguaggio e' compito del programamatore quello di definire i dati e le risorse che devono essere necessarie per il programma.
una volta che il programma viene compilato allora sara' noto sin da subito quante e quali risorse saranno necessarie sin dall'inizio |
quali sono i diversi tipi di meccanismi di protezione(capitolo protezione)? | I diversi tipi di meccanismi di protezione sono: le matrici di accesso, le liste di controllo degli accessi (ACL), le liste di capacità (CL) e i meccanismi lock-key. |
quali sono i pro e i contro di ogni meccanismo di protezione? | I pro e i contro di ogni tipo di meccanismo di protezione sono:
Le matrici di accesso sono semplici da implementare, ma non sono efficienti su grandi sistemi.
Le liste di controllo degli accessi sono più efficienti delle matrici di accesso, ma possono essere difficili da gestire.
Le liste di capacità sono molto efficienti, ma possono essere difficili da revocare.
I meccanismi lock-key sono un compromesso tra le liste di controllo degli accessi e le liste di capacità. |
quali sono i vantaggi e gli svantaggi di scaricare la responsabilita' della protezione sul compilatore? | I vantaggi di scaricare la responsabilità della protezione sul compilatore sono:
Maggiore flessibilità rispetto all'implementazione nel sistema operativo.
Minore carico sul sistema operativo.
Gli svantaggi di scaricare la responsabilità della protezione sul compilatore sono:
Minore sicurezza rispetto all'implementazione nel sistema operativo.
Maggiore complessità del compilatore. |
come funziona la revoca quando si utilizzano delle liste di capacita'? | Esistono varie soluzioni:
Riacquisizione: le CL sono periodicamente svuotate. Se un processo tenta di usare una capability cancellata, tenterà di riacquisirla. Se è stata revocata gli sarà negata
Puntatori alle capacità: per ogni oggetto si tiene una lista di puntatori a tutte le capability ad esso associate. Per cancellare una capability basta seguire il puntatore. Costoso ma efficace
Indirezione: le capacità puntano a una cella di una tabella globale con tutte le capability, che a sua volta punta all’oggetto associato. La revoca cancella il valore in questa tabella. Non consente la revoca selettiva
Chiavi: Ogni capability ha una key. Ogni oggetto possiede una master key, in base alla quale la capacità è ricercata e verificata. Alla creazione di una capability, le viene associata una key uguale alla master key in quel momento. La revoca cambia la master key. Non consente la revoca selettiva |
cosa sono le matrici di accesso? | Fornisce un meccanismo per specificare le politiche. Ha come righe i domini e come colonne le risorse. Nella cella i,j sono presenti le operazioni che un processo del dominio i può fare sulla risorsa j. I domini possono essere visti anche come risorse, con operazione switch (se nella cella i,j è presente switch, allora un processo del dominio i può passare al dominio j).
La modifica del contenuto della matrice è controllata da 3 operazioni: Copia: copia l’autorizzazione che un dominio ha su un oggetto a un altro dominio, con o senza diritto di propagarlo. Copiando e cancellando si possono trasferire autorizzazioni
Proprietà: consente a un processo di cambiare i diritti che altri domini su un oggetto di proprietà del suo dominio
Controllo: consente a un processo di cambiare i diritti di un dominio di cui il suo dominio ha il controllo |
che cosa e' una ACL? | Access Control List (ACL): per ogni oggetto si memorizza una lista di coppie. Si possono anche definire dei diritti predefiniti. Questo sistema risponde ai bisogni degli utenti, e memorizza informazioni globali, ma è inefficiente su grandi sistemi, poiché le ACL sono scandite spesso |
che cosa e' una capacity list? | Capability List (CL): per ogni dominio si memorizza una lista di coppie dette capability. Questo sistema rende semplice l’accesso a informazioni sui processi, e memorizza informazioni locali, ma la revoca è poco efficiente. Queste strutture non sono direttamente accessibili ai processi, che potrebbero alterarle, ma solo dal SO |
in che cosa consiste il meccanismo lock-key? | Meccanismo lock-key: compromesso tra ACL e CL. Ogni oggetto ha una lista di stringhe di bit uniche dette lock, e ogni dominio ne ha un’altra di key. Un processo in un dominio può accedere a un oggetto solo se una sua key apre uno dei lock della risorsa |
che cosa e' una tabella globale? | Tabella globale: è l’implementazione più semplice. Memorizza una lista di terne . Un processo in un dominio i è autorizzato a eseguire un’operazione m su un oggetto j solo se esiste una terna con m ϵ d. Questa lista è molto grande, e non permette di raggruppare oggetti o domini, che ne faciliterebbe la gestione |