Scanalature Segrete
L'uso delle scanalature segrete ha ripartito le risorse come percorsi della comunicazione. Ciò richiede la compartecipazione dello spazio o la compartecipazione del tempo.
Una scanalatura segreta di sincronizzazione è definita solitamente in termini di temporizzatore in tempo reale o temporizzatore, ma i rapporti temporali a volte non usano nessuno. Un ordinamento degli eventi implica un rapporto tempo-basato che coinvolge nè un temporizzatore in tempo reale nè un temporizzatore. Una seconda proprietà si distingue fra una scanalatura segreta a che soltanto il mittente e la ricevente hanno accesso e una scanalatura segreta che altre hanno accesso a pure.
La differenza fra questi due tipi di scanalature si trova nella necessità di filtrare fuori le informazioni estranee. Tutte le informazioni che la ricevente ottiene da una scanalatura senza rumore vengono dal mittente. Tuttavia, in una scanalatura rumorosa, le informazioni del mittente sono mescolate con le informazioni insignificanti, o il rumore, da altre entità usando la risorsa. Una scanalatura segreta rumorosa richiede un protocollo minimizzare questa interferenza. Le proprietà chiave delle scanalature segrete sono esistenza e larghezza di banda. L'esistenza ci dice che ci sia una scanalatura lungo cui le informazioni possono essere trasmesse. La larghezza di banda ci dice quanto le informazioni possono essere trasmesse velocemente. L'analisi della scanalatura segreta stabilisce entrambe le proprietà. Allora le scanalature possono essere eliminate o le loro larghezze di banda possono essere ridotte. Rilevazione delle scanalature segreteLe scanalature segrete richiedono la compartecipazione. Il modo in cui la risorsa è ripartita controlla che gli oggetti possono trasmettere e ricevere le informazioni usando quella risorsa comune. I metodi di rilevazione cominciano con questa osservazione. Porras e Kemmerer hanno inventato un metodo a rappresentare le violazioni di sicurezza che balzano dall'applicazione degli alberi degli errori. Modellano il flusso delle informazioni attraverso le risorse comuni con un albero. I percorsi di flusso sono identificati in questa struttura. L'analista determina se ogni flusso sia legittimo o segreto. Un albero segreto di flusso è una rappresentazione tree-structured della sequenza dei funzionamenti che spostano le informazioni da un processo verso un altro. Consiste di cinque tipi di nodi.
La costruzione dell'albero è un processo in tre tappe. Per fare i punti calcestruzzo, presentiamo un insieme semplice dei funzionamenti ed allora chiediamo se possono generare una scanalatura segreta. ESEMPIO: Consideri un sistema di lima in cui ogni lima ha tre attributi. Gli attributi booleani hanno bloccato ed isopen sono allineare quando la lima è locked o aperta, rispettivamente ed è falsa al contrario. Il terzo attributo, inuse, è un insieme che contiene l'identificazione di processo di ogni processo che ha la lima aperta. Il read_access(p di funzione, f) è allineare se il processo p ha letto i diritti sopra la lima f ed il empty(s) è allineare se l'insieme s non ha membri. I ritorni casuali uno di funzione delle relative discussioni scelte a caso. I seguenti funzionamenti sono definiti. (* blocchi la lima se non è locked e non aperta *) (* indichi al contrario che è bloccata rinviando falso *) procedura Lockfile(f: lima): booleano; cominci se non f.locked ed empty(f.inuse) allora f.locked: = allineare; estremità; (* sblocchi la lima *) procedura Unlockfile(f: lima); cominci se f.locked allora f.locked: = falso; estremità; (* dica se la lima è locked *) funzione Filelocked(f: lima): booleano; cominci Filelocked: = f.locked; estremità; (* apra la lima se non è locked e *) (* il processo ha la destra leggere la lima *) procedura Openfile(f: lima); cominci se non f.locked ed il read_access(process_id, f ) allora (* aggiunga l'identificazione di processo al inuse regolato *) f.inuse = f.inuse + process_id; estremità; (* se il processo può leggere la lima, l'ad esempio se *) (* la lima è aperta, altrimenti restituisce un valore a caso *) funzione Fileopened(f: lima): booleano; cominci se non il read_access(process_id, la f ) allora Fileopened: = random(true, falsi); Fileopened altro: = non isempty(f.inuse); estremità Supponendo che i processi non sono permessi comunicare tra loro, il lettore è invitato a provare a trovare una scanalatura segreta di immagazzinaggio. Il primo punto nella costruzione dell'albero segreto di flusso è determinare che cosa attribuisce (se c'è ne) il riferimento primitivo di funzionamenti, modifica e rinvia. ESEMPIO: Le funzioni nell'esempio preceding interessano gli attributi della lima nei sensi differenti, come segue.
Il Ø di simbolo significa che nessun attributo è influenzato nel modo specificato. Il secondo punto comincia con l'obiettivo di posizionamento della scanalatura segreta di immagazzinaggio che usa un certo attributo. L'analista costruisce l'albero segreto di flusso. Il tipo di obiettivo controlla la costruzione, come segue.
La costruzione dell'albero si conclude quando tutti i percorsi attraverso l'albero terminano in simbolo di funzionamento o in simbolo di guasto. Poiché la costruzione è ricorsiva, l'analista può incontrare un ciclo nella costruzione dell'albero. Se questo accade, un parametro denominato ripetizione definisce il numero di volte che il percorso può essere attraversato. Ciò dispone un limite superiore sul formato dell'albero. Il modello comune della tabella delle risorse e gli alberi segreti di flusso balzano dall'idea di esaminare le risorse comuni per modifica ed i funzionamenti di riferimento ed entrambi possono essere usati ad un punto qualunque all'interno del ciclo di vita di sviluppo del software. Un vantaggio degli alberi segreti di flusso sopra il modello di SRM è che il precedente identifica le sequenze esplicite dei funzionamenti che inducono le informazioni a scorrere da un processo ad un altro. Il posteriore identifica le scanalature piuttosto che le sequenze dei funzionamenti. Nei confronti che coinvolgono i funzionamenti di accesso del sistema di lima e l'obiettivo sicuro del Ada, il metodo segreto dell'albero di flusso ha identificato le sequenze dei funzionamenti che corrispondono alle scanalature segrete di immagazzinaggio trovate con il metodo di SRM ed il metodo di noninterference, come pure uno non trovato dagli altri due. Mitigation delle scanalature segreteLe scanalature segrete trasportano le informazioni variando l'uso delle risorse comuni. Un senso evidente eliminare tutte le scanalature segrete deve richiedere i processi dichiarare che risorse hanno bisogno prima che esecuzione e forniscono queste risorse in maniera tale che soltanto il processo possa accedere loro. Ciò include il tempo di esecuzione e quando il tempo di esecuzione dichiarato è raggiunto, il processo è terminato e le risorse sono liberate. Le risorse rimangono assegnate per il tempo di esecuzione completo anche se il processo termina più presto. Altrimenti, un secondo processo potrebbe arguire le informazioni dalla sincronizzazione del rilascio delle risorse (accesso compreso al CPU). Questa strategia effettua efficacemente l'idea del Lampson di isolamento totale, ma è solitamente inattuabile in pratica. Un metodo alternativo deve oscurare la quantità di risorse che un processo usa. Un processo di ricezione non può determinare che quantità di uso delle risorse è attribuibile al mittente e che importo è attribuibile alla confusione. Ciò può essere fatta in due sensi. In primo luogo, le risorse dedicate ad ogni processo possono essere rese ad uniforme. Ciò è una variante di isolamento, perché ogni processo ottiene la stessa quantità di risorse e non può dire a se un secondo processo stia accedendo alla risorsa misurando la sincronizzazione o la quantità di risorse disponibili. Essenzialmente, il sistema elimina le irregolarità espressive nella ripartizione e nell'uso delle risorse. In secondo luogo, un sistema può iniettare la casualità nella ripartizione e nell'uso delle risorse. L'obiettivo è di rendere alla scanalatura segreta rumoroso e di fare dominare il rumore la scanalatura. Ciò non chiude la scanalatura segreta (perché ancora esiste) ma la rende inutile. Entrambe queste tecniche interessano l'efficienza. Assegnando le ripartizioni fisse e costringendo uso risorse residue. La riparazione delle fette di tempo sul sistema di KVM significa che il CPU sarà inutilizzato (o eseguirà un processo al minimo) quando un'altra macchina virtuale potrebbe fare funzionare un processo non-al minimo. L'aumento della probabilità delle terminazioni nel sistema sicuro multilivelli della base di dati abbandonerà alcune transazioni che commetterebbero normalmente, aumentanti il numero previsto di prove all'aggiornamento la base di dati. Se la chiusura della scanalatura segreta o limitare della larghezza di banda compensa adeguatamente la perdita nell'efficienza è una decisione politica. Un dispositivo conosciuto come una pompa è la base di parecchie tecniche per la sconfitta delle scanalature segrete. ciò è un articolo aggiunto da Fred Foster
|
|||||||||||||||||||||||||||
|