Macchina Del Contrassegno Di Dati Di Fenton`s
Fenton ha generato una macchina astratta denominata la macchina del contrassegno di dati per studiare la manipolazione dei flussi impliciti a tempo di esecuzione. Ciascuno variabile in questa macchina ha avuto un codice categoria collegato di sicurezza, o modifica. Fenton inoltre ha incluso una modifica per il contatore di programma (pc). L'inclusione del pc ha permesso che Fenton trattasse i flussi impliciti come flussi espliciti, perché i rami sono soltanto assegnazioni al pc. Ha definito la semantica della macchina del contrassegno di dati. Nella seguente discussione, il salto significa che l'istruzione non è eseguita, push(x, x) significa spingere la x variabile ed il relativo codice categoria di sicurezza x sulla pila di programma e pop(x, x) mezzi per schioccare il valore ed il codice categoria superiori di sicurezza fuori della pila di programma ed assegnarli alla x ed alla x, rispettivamente. Fenton ha definito cinque istruzioni. I rapporti fra l'esecuzione delle istruzioni ed i codici categoria delle variabili sono come segue.
La macchina del Fenton maneggia gli errori ignorandoli. Supponga quello, nel programma qui sopra, y < = x. Allora al quinto punto, il controllo di certificazione viene a mancare (perché pc = x). Così, l'assegnazione è saltata ed all'estremità y = 0 senza riguardo al valore della x. Ma se la macchina segnala gli errori, il messaggio di errore che informa l'utente del guasto del controllo di certificazione significa che il programma ha tentato di eseguire punto 6. Potrebbe fare così soltanto se avesse preso il ramo a punto 2, significare quel z = 0. Se la z = 0, allora il ramo altro della dichiarazione 1 non potesse essere presa, significare quel x = 0 inizialmente. Per impedire questo tipo di deduzione, la macchina del Fenton continua ad eseguire di fronte agli errori, ma ignora la dichiarazione che causerebbe la violazione. Ciò risponde alle esigenze. L'abbandono del programma, o generare un'eccezione visibile all'utente, inoltre indurrebbe le informazioni a fluire contro la politica. Il problema con la segnalazione degli errori è che un utente con spazio più basso che le informazioni che causano l'errore può dedurre le informazioni dal sapere che ci è stato un errore. Se l'errore è entrato un tal senso che le entrate nel ceppo e l'azione di annotare, sono visibili soltanto a coloro che ha spazio sufficiente, quindi nessuna violazione della politica accade. Ma se la distanza dell'utente è sufficiente alta, quindi l'utente può vedere l'errore senza una violazione della politica. Quindi, l'errore può essere annotato per il coordinatore di sistema (o l'altro utente adatto), anche se non può essere visualizzato all'utente che sta facendo funzionare il programma. Le osservazioni simili si applicano a tutta l'azione di eccezione, quale il termine anormale. ciò è un articolo aggiunto da Fred Foster
|
|||
|