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 immagazzinaggio usa un attributo della risorsa comune. Una scanalatura segreta di sincronizzazione usa un rapporto temporale o d'ordinamento fra gli accessi ad una risorsa comune.

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.

  

Una scanalatura segreta senza rumore è una scanalatura segreta che usa una risorsa disponibile al mittente ed alla ricevente soltanto. Una scanalatura segreta rumorosa è una scanalatura segreta che usa una risorsa disponibile agli oggetti tranne il mittente e la ricevente, così come al mittente e la ricevente.

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 segrete

Le 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.

  1. I simboli di obiettivo specificano dichiara che devono esistere affinchè le informazioni fluiscano. Ci sono parecchi tali dichiarano:

    1. Un obiettivo di modifica è raggiunto quando un attributo è modificato.

    2. Un obiettivo di riconoscimento è raggiunto quando una modifica di un attributo è rilevata.

    3. Un obiettivo diretto di riconoscimento è raggiunto quando un oggetto può rilevare la modifica di un attributo riferendolo direttamente o denominando una funzione che ritorni esso.

    4. Un obiettivo arguito di riconoscimento è raggiunto quando un oggetto può rilevare la modifica di un attributo senza riferirlo direttamente e senza denominare una funzione che riferisce direttamente l'attributo. Per esempio, l'oggetto può denominare una funzione che effettua uno di due calcoli secondo il valore dell'attributo in questione.

    5. Argu-via l'obiettivo è raggiunto quando le informazioni sono comunicate da un attributo ad altri attributi usando un esercizio primitivo specificato (quale una chiamata del sistema).

    6. Un obiettivo di recognize-new-dichiarare è raggiunto quando un attributo che è stato modificato quando le informazioni sono state comunicate usando è specificato dall'argu-via l'obiettivo. Il valore non deve essere determinato, ma il fatto che l'attributo è stato modificato deve essere determinato.

  2. Un simbolo di funzionamento è un simbolo che rappresenta un funzionamento primitivo. I simboli di funzionamento possono variare fra i sistemi se hanno funzionamenti primitivi differenti.

  3. Un simbolo di guasto indica che le informazioni non possono essere trasmesse lungo il percorso su cui si trovano. Significa che l'obiettivo a cui è fissato non può essere venuto a contatto di.

  4. E simbolo è un obiettivo che è raggiunto quando entrambe la seguente stretta per tutti i bambini:

    1. Se il bambino è un obiettivo, quindi l'obiettivo è raggiunto.

    2. Il bambino è un funzionamento.

  5. O simbolo è un obiettivo che è raggiunto quando una di seguenti strette per qualsiasi bambini:

    1. Se il bambino è un obiettivo, quindi l'obiettivo è raggiunto.

    2. Il bambino è un funzionamento.

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.

  Lockfile Unlockfile Filelocked Openfile Fileopened
riferimento locked, inuse locked locked locked, inuse inuse
modifichi locked Ø Ø inuse Ø
ritorno Ø Ø locked Ø inuse

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.

  1. L'obiettivo superiore richiede che l'attributo è modificato e che la modifica è riconosciuta. Quindi, ha un bambino (e simbolo), che a sua volta ha due bambini (un simbolo di obiettivo di modifica e un simbolo di obiettivo di riconoscimento).

  2. Un obiettivo di modifica richiede un certo funzionamento primitivo modificare l'attributo. Quindi, ha uno o bambino, che hanno un simbolo di funzionamento del bambino per il funzionamento per tutti i funzionamenti che modificano l'attributo.

  3. Un obiettivo di riconoscimento richiede che un oggetto direttamente riconosce o arguisce un cambiamento in un attributo. Ha o simbolo come relativo bambino. O simbolo ha due bambini, uno un simbolo diretto di obiettivo di riconoscimento e l'altro un simbolo arguito di obiettivo di riconoscimento.

  4. Un obiettivo diretto di riconoscimento richiede che un accesso di funzionamento l'attributo. Come l'obiettivo di modifica, ha uno o bambino e quel bambino a sua volta ha un simbolo di funzionamento del bambino per ogni funzionamento che restituisce l'attributo. Se nessun funzionamento restituisce l'attributo, un simbolo di guasto è fissato.

  5. Un obiettivo arguito di riconoscimento richiede che la modifica è arguita in base ad uno o più altri attributi. Quindi, ha un bambino, o simbolo, che hanno un bambino argu-via il simbolo per ogni funzionamento che riferisce un attributo e che modifica un certo attributo (possibilmente stesso quello che si è riferito).

  6. Argu-via l'obiettivo richiede che il valore dell'attributo è arguito via un certo funzionamento e un riconoscimento del nuovo dichiara dell'attributo derivando da quel funzionamento. Quindi, ha un bambino (e simbolo), che ha due bambini (un simbolo di funzionamento che rappresenta il funzionamento primitivo ha usato disegnare l'illazione e un simbolo di obiettivo di recognize-new-dichiarare).

  7. Un obiettivo di recognize-new-dichiarare richiede che il valore dell'attributo è arguito via un certo funzionamento e un riconoscimento del nuovo dichiara dell'attributo derivando da quel funzionamento. Il posteriore richiede un obiettivo di riconoscimento per l'attributo. Così, il nodo del bambino del simbolo di obiettivo di recognize-new-dichiarare è o simbolo e per ogni attributo permettere l'illazione della modifica dell'attributo in questione, o il simbolo ha un bambino di simbolo di obiettivo di riconoscimento.

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 segrete

Le 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


Diniego: Il nostro Web site non è responsabile delle informazioni contenute da questo articolo. Questo articolo in nessun modo riflette le viste, le opinioni, i pensieri o la credenza del personale dell'indice degli articoli.

Avviso di traduzione: L'articolo "scanalature segrete" è stato tradotto usando un servizio di traduzione automatizzato. Chiediamo scusa francamente per tutti gli errori di traduzione che hanno accaduto. Grazie per capire.

Online: 399 users browsing the articles directory