Sicurezza nel modello Access Control Matrix e Take-Grant

4

Sto imparando a conoscere il modello Take-Grant e la Matrice di controllo degli accessi, e ho un paio di domande sulla perdita e sulla domanda di sicurezza.

Definizioni

Queste sono le definizioni che sto usando (vedi per esempio qui [pdf] :)

  • Perdita: aggiunta di un diritto generico r dove non ce n'era uno
  • Sicuro: se un sistema S non può perdere correttamente r, è sicuro rispetto a destra r
  • Domanda di sicurezza: esiste un algoritmo per determinare se un sistema di protezione S è sicuro rispetto al diritto generico r?

Matrice di controllo di accesso

Diciamo che abbiamo una matrice di controllo degli accessi:

    S1      S2      O1
S1  o               r
S2  r,w,x   o
  • Potresti dire che in questa matrice, la destra r di S1 su O1 è trapelata a S2 (perché S2 può usare S1 per accedere a O1)?
  • o avresti bisogno di una sorta di copia giusta, che permetta la copia effettiva di un diritto da un campo a un altro? E se così fosse, la maggior parte dei sistemi che hanno una copia automaticamente non sono sicuri (vedi anche la mia domanda riguardo al modello di concessione di sovvenzioni)?

Modello Take-Grant

  • Nel modello take-grant, un sistema può essere sempre sicuro solo se per ogni soggetto S1 che ha ragione su un altro soggetto S2 ha anche tutti i diritti che S2 ha su qualsiasi oggetto e soggetto?
  • e se no, perché no? Sto fraintendendo cosa significa fuoriuscita?

Quindi ad esempio questo:

nonsarebbesicuro,perchéS1potrebbeottenerersuO1daS2,equindicisarebbeunrgiustodoveprimanoncen'erauno?

Inquestocaso,unsistemasicurodovrebbeessereprogettatoinquestomodo?:

Questo sembrerebbe un po 'strano per me, perché se fosse così, il take right (o il diritto di concessione) non avrebbe molto senso (almeno se si vuole creare un sistema sicuro).

    
posta tim 22.11.2014 - 19:49
fonte

1 risposta

2

Cercherò di risponderti separatamente:

Matrice di controllo di accesso

Q: "Potresti dire che in questa matrice, la r giusta di S1 su O1 è trapelata a S2 (perché S2 può usare S1 per accedere a O1)?"

A: No. Se consideri il diritto esecuzione di comportarsi come un prendere giusto, allora si , I diritti di lettura di S1 su O1 sono passati a S2, perché originariamente S2 non aveva diritti su O1. Ma i documenti che ho trovato hanno mostrato solo quel comportamento quando S2 aveva i diritti propri su S1. Pertanto, i diritti S1 di esempio non verrebbero persi in S2 perché S2 non disponeva di diritti propri su S1.

Modello Take-Grant

Q: "Nel modello take-grant, un sistema può essere sempre sicuro solo se per ogni soggetto S1 che ha diritto su un altro soggetto S2 ha anche tutti i diritti che S2 ha su qualsiasi oggetti e soggetti? "

A: È corretto. Ricorda che, secondo le definizioni 3-1 e 3-2 del documento che hai collegato, la sicurezza del tuo sistema è calcolata su base destra-per-destra. Se lo converti in una Turing Machine, il tuo sistema è considerato sicuro quando, date tutte le operazioni possibili, a partire da uno stato iniziale s0 , non è possibile raggiungere uno stato sN dove un Soggetto ha qualche diritto che non aveva in origine. Per dirla più chiara:

Is there an arbitrary sequence of commands that adds a generic right into a cell of the access matrix where it has not been in the initial configuration?

Penso che il grafico che hai creato non fosse molto didattico. Se sei disposto, il secondo link che post qui fornisce una migliore idea delle operazioni disponibili e dei possibili grafici risultanti.

Il terzo link fa riferimento al documento originale che descrive il modello Take-Grant. In questo documento, usano il nome "call" in uno dei comandi descritti. Dovresti notare che questa operazione è correlata al diritto di creare nuovi nodi in un grafico, non è il concetto di esecuzione che abbiamo usato sopra, ok?


References:

link
link
link

    
risposta data 01.12.2014 - 16:50
fonte

Leggi altre domande sui tag