III Antonio Mattioli Non-Interferenza e Composizione delle Policy Indice - Modello di Bell-La Padula…………1 - Non-Interferenza………………… Unwinding Theorem……………….7 - Composizione di Sistemi…………..8 - Non-Deducibilità………………….11 - Non-Interferenza Forte……………13 - Conclusioni………………………..14 Intro Di solito le organizzazioni hanno policy differenti a seconda della struttura a cui sono assegnate. Se ci sono conflitti o necessità differenti, quale policy deve essere adottata? Si possono fondere due policy differenti?
1 - Proprietà di Sicurezza Discrezionale: utilizzo di una matrice per controllare gli accessi Modello di Bell - La Padula 2 É un modello di policy di sicurezza che definisce un insieme di regole di accesso ad informazioni riservate. Definizione Modalità di Accesso ai Dati Regole Top Secret Secret High Subjects Low Public Top Secret Secret High Objects Low Public Read Write Utilizza una classificazione di sicurezza per gli oggetti ed autorizzazioni per i soggetti. Una modalità di accesso ad un oggetto è permessa solo dopo la comparazione tra classificazione ed autorizzazione. (Livello di Sicurezza) - Proprietà di Sicurezza Semplice: un soggetto con un certo livello di sicurezza non può accedere ad oggetti a livelli di sicurezza superiori (no read-up) - *-property (proprietà-stella): un soggetto con un livello di sicurezza non può scrivere oggetti con livelli di sicurezza inferiori (no write-down) Accesso ai Dati
3 Non-Interferenza: Definizione 4 Un gruppo di utenti [...] non-interferisce con un altro gruppo di utenti se quello che il primo gruppo fa [...] non ha effetto su quello che il secondo gruppo può vedere [Goguen, Meseguer] Definizione VM A System Problema VM B CPU Sharing Comunicazione tra A e B t t2t2 t1t1 t0t0 A CPU =100% Send B=1 A CPU =0% Send B=0 A CPU =100% Send B=1 Il Sistema Interferenza La non-interferenza è un metodo alternativo per costruire modelli di policy di sicurezza Per ottenere una separazione netta tra i soggetti di un sistema si devono interrompere tutti i canali tra di loro, e non solo quelli che tradizionalmente permettono la trasmissione delle informazioni
1 - Proprietà di Sicurezza Semplice: un soggetto con un certo livello di sicurezza non può accedere ad oggetti a livelli di sicurezza superiori (no read-up) - *-property (proprietà-stella): un soggetto con un livello di sicurezza non può scrivere oggetti con livelli di sicurezza inferiori (no write-down) - Proprietà di Sicurezza Discrezionale: utilizzo di una matrice per controllare gli accessi Modello Bell - La Padula 2 É un modello di policy di sicurezza che definisce un insieme di regole di accesso ad informazioni riservate. Definizione Modalità di Accesso ai Dati Regole Top Secret Secret High Subjects Low Public Top Secret Secret High Objects Low Public Read Write Utilizza una classificazione di sicurezza per gli oggetti ed autorizzazioni per i soggetti. Una modalità di accesso ad un oggetto è permessa solo dopo la comparazione tra classificazione ed autorizzazione. (Livello di Sicurezza)
3 Non-Interferenza: Definizione 4 Un gruppo di utenti [...] non-interferisce con un altro gruppo di utenti se quello che il primo gruppo fa [...] non ha effetto su quello che il secondo gruppo può vedere [Goguen, Meseguer] Definizione VM A System Problema VM B CPU Sharing Comunicazione tra A e B t t2t2 t1t1 t0t0 A CPU =100% Send B=1 A CPU =0% Send B=0 A CPU =100% Send B=1 Il Sistema Interferenza La non-interferenza è un metodo alternativo per costruire modelli di policy di sicurezza Per ottenere una separazione netta tra i soggetti di un sistema si devono interrompere tutti i canali tra di loro, e non solo quelli che tradizionalmente permettono la trasmissione delle informazioni
5 Non-Interferenza 6 Ogni comando può produrre un output, però alcuni utenti non hanno le autorizzazioni per visualizzarlo Considerazioni Non-Interferenza: Esempio Esempio Consideriamo questo automa: -Lo stato è definito da due bit: H(igh) e L(ow); -Due comandi: xor0 e xor1; -Due utenti: Holly (che può leggere informazioni di tipo High e Low) e Lucy (che può leggere solo informazioni Low); -L automa mantiene lo stato con due bit (H,L). (0,0) (0,1) (1,0) (1,1) xor0 xor1 (0,0) (0,1) (1,0) (1,1) Gli output dell automa sono concatenati. L output per Holly è costituito da entrambi i bit (es. (0,1)) mentre per Lucy solo dal bit Low (es. (1)) Eseguiamo i comandi con alcuni stati: Questo è l Automa a Due Bit. Automa a Due Bit
7 Composizione di Sistemi 8 Unwinding Theorem Idea Se si riesce a provare che in una sequenza di comandi ogni singolo comando che modifica lo stato di un automa è sicuro, allora lo sarà anche tutta la sequenza Una transizione è consistente se per ogni c lo stato rimane equivalente rispetto a d Sia c un comando che secondo la policy r non ha nessun effetto sul dominio d. Se applicando c allo stato corrente non si ottiene alcun effetto su d, allora il sistema rispetta r. Sia r una policy, X un sistema consistente rispetto all output ed alle transazioni, e che rispetti al policy r. Allora X è sicuro ripetto alla non-interferenza Consistenza Transazione Unwinding Theorem Rispetto Policy Sistema Hughie Prendiamo in esame questo sistema: - Louie e Dewey elaborano a livello Low - Hughie elabora a livello High - Tutti possono leggere il buffer di output b L - C è un buffer b H per gli input di tipo High - Ci sono tre buffer b LH, b DH, b LDH che connetono i sistemi; possono essere scritti da Louie e Dewey e letti da Hughie - I buffer b DH e b LH hanno capacità 1 Louie Dewey bHbH bLbL b LH b LDH b DH
9 Composizione di Sistemi 10 Composizione di Sistemi In Azione In questo caso un input di tipo High viene copiato in un buffer che contiene dati di tipo Low. Questo sistema non è sicuro rispetto alla non-interferenza Hughie Louie Dewey Non-Interferenza Ognuno dei tre sistemi è sicuro rispetto alla non-interferenza: -Hughie non ha output, quindi gli input non possono interferire. -Louie e Dewey non hanno input, quindi non c è interferenza con gli output. Houghie legge un bit da b H, riceve un messaggio da b LH (se legge 0 da b H ) o da b DH (se legge 1 da b H ) e poi riceve da b LDH. Esempio -Luoie invia un messaggio a b LH. Il buffer è pieno -Louie invia un secondo messaggio a b LH -Louie manda uno 0 a b L -Luoie manda un messaggio a b DLH per segnalare ad Houghie che Louie ha completato un ciclo Dewey segue la stessa procedura con b DH al posto di b LH e invia 1 a b L b LH bHbH b LDH bLbL
11 Non-Deducibilità 12 Lucy può visualizzare solo i bit Low, cioè Questa funzione non è sicura rispetto alla non-interferenza; infatti eliminando i comandi di Holly, l output per Lucy dovrebbe essere In quest ultimo caso Lucy non può dedurre quali istruzioni sono state eseguite e poi cancellate, perché non hanno influenzato l output (ma solo la sua lunghezza) Considerazioni Non-Deducibilità H,xor1 L,xor1 L,xor0 H,xor1 H L (1,0)(1,1)(0,1) L,xor0 (1,0) (1,1) (0,0) IS Un sistema è non-deducibile se, analizzando gli output, un utente non può dedurre gli input di un altro utente Se un utente Low, che può inserire e ottenere solo dati di tipo Low, da questi riesce a dedurre i dati High, allora i dati sono trapelati da High a Low. Adesso consideriamo l automa a due bit visto in precedenza, però con alcune modifiche: -Due set di input: High e Low; -Due set di output: High e Low; Introduciamo un altra modifica: se Holly esegue un operazione, cambia solo il bit High, se invece è Lucy a farlo, varia solo il bit Low. Lo stato iniziale è (0,0), i comandi eseguiti sono: (Holly,xor1), (Lucy,xor0), (Lucy,xor1), (Lucy,xor0), (Holly,xor1), (Lucy,xor0). L output risultante è compreso lo stato iniziale. I bit dispari sono gli High, i pari sono i Low Premessa (0,1) (0)(1)(1)(1) (0)(0) (1)(1) (0)(0)(1)(1) Definizione
13 Conclusioni 14 Conclusioni Non-Interferenza Forte Premessa La Non-Interferenza è una formulazione alternativa di modelli di policy di sicurezza; una separazione stretta tra i soggetti può avvenire solo se tutti i canali sono chiusi. La composizione di sistemi che presi singolarmente sono sicuri non sempre ha come risultato un sistema sicuro, ma ha sempre bisogno di modifiche ed ottimizzazioni, anche per garantire l autonomia degli oggetti che lo compongono In generale (ma non lo dimostriamo), i sistemi non-deducibili non sono componibili. C è una modifica che permette la composizione - Studiare come approssiamare il minimo numero di operazioni negate che permettono il massimo livello di sicurezza ed autonomia - I sistemi non deducibili non incorporano la probabilità degli eventi Non-Interferenza Forte Nessun output di tipo High viene prodotto senza un input di tipo High Nell automa a due bit un operazione modifica solo il bit corrispondente, però invia all output sia il bit High che quello Low; se invece inviasse all output solo il bit del livello dell operazione, allora soddisferebbe la non-interferenza forte Esempio Conclusione Si può dimostrare (ma non in questa sede) che dei sistemi che soddisfano la non-interferenza forte sono componibili tra di loro mantenendo il requisito della non-interferenza [Weber] Campi di Studio
IIIIV Antonio Mattioli Non-Iterferenza e Composizione delle Policy Bibliografia -libro, di ---, capitolo 8 -Abstract Non-Interference, di Mastroeni - Varie, risorse in rete Grazie per l Attenzione. Domande?
3 NonInterferenza 4 Dog Composizione delle Policy Cat La Macchina ha due livelli di input ed output, High e Low, e può accettarli da sinistra e da destra. Accetta input di tipo High; gli input High sulla sinistra diventano output High sulla destra. Dopo un certo numero di input la macchina emette un output Low: -stop_count se si sono verificati un numero pari di input ed output High (1 se gli gli output sono dispari) -1 o 0 se si sono verificati un numero dispari di input ed output High (1 se gli output sono pari). Gli input non influenzano gli output, la macchina è sicura riguardo la noninterferenza cat HIGH LOW stop_count1 or 0 dog LOW HIGH stop_count 1 or 0 HIGH Simile a cat, ma con qualche variante: -gli output High sono sulla sinistra -gli output Low 1 o 0 sono sulla sinistra -stop_count è un input da sinistra, causa l emissione di 1 o 0 Gli input non influenzano gli output, la macchina è sicura riguardo la noninterferenza
3 NonInterferenza 4 Composizione delle Policy Si può dimostrare che gli output di entrambi i lati sono uguali, catdog non ha ricevuto input da sinistra. In realtà è possibile comporre due sistemi di questo tipo, grazie all assenza di feedback: CatDog cat HIGH LOW dog LOW stop_count 1 or 0 HIGH 1 or 0 Due sistemi A e B sono connessi se l output di A è l input di B; quando A è connesso a B, ma non viceversa, allora il sistema è privo di feedback. Le informazioni scorrono in una sola direzione Gli Input High influenzano gli output Low, quindi la macchina non è sicura dal punto di vista della noninterferenza Assenza di Feedback Un sistema privo di feedback e composto da NISS è a sua volta un NISS