Фентон `ы Данные Марка машины


  Share  
|


Фентон создана абстрактная машина называется Данные Марка машины для изучения обработки скрытых потоков на время исполнения. Каждая переменная в этой машине имеет ассоциированных безопасности класса или тега. Фентон также включает тег для программы борьбы (ПК).

Включение компьютера разрешается Фентон рассматривать как косвенное потоков четко потоков, поскольку филиалы являются лишь заданий к компьютеру. Он определяет семантику данных Марк Machine. В ходе последовавшей дискуссии пропустить означает, что инструкция не выполнены, нажимаем (х, х) означает добиваться переменной х и безопасности класса х на программы стек, и поп (х, х) средств поп верхней ценность и класс безопасности покинуть программу стека и назначать им х и х соответственно.

Фентон определены пять инструкций. Отношения между исполнения инструкций и классы переменных заключаются в следующем.

  1. В прироста инструкция

      х: = х + 1 

    эквивалентно

      если PC <= х Затем х: = х + 1; еще пропустить 

  2. В условной инструкции

      если х = 0 то goto н остальное х: = х 1 

    эквивалентно

      если х = 0 то (нажимаем (PC, PC); PC = lub (PC, х); PC: = н;) если же (PC <= (х Затем х: = х 1;) остальное пропустить) 

    Это филиалы, и заставляет компьютер и его безопасность класс на программу стека. (Как обычно, компьютер увеличивается так, что когда он popped, инструкция после если заявление оформляется.) Это отражает компьютер, содержащий информацию от х (в частности, что х - 0), а после goto.

  3. Возвращение

      вернуться 

    эквивалентно

      поп (PC, PC); 

    Это возвращает контроль на заявление после последнего, если заявление. Поскольку поток контроль прибыли на это заявление, PC не содержит информацию о х и старые сорта могут быть восстановлены.

  4. Подразделение обучения

      если "х = 0 то goto н остальное х: = х 1 

    эквивалентно

      если х = 0 то (если х <= (PC затем ПК: = н;) остальное пропустить) (если еще PC <= (х Затем х: = х 1;) остальное пропустить) 

    Это филиалы без сохранения на ПК стека. Если власть происходит, компьютер в большей безопасности класса, чем условная переменная х, так добавления информации с х к ПК не влияет на безопасность компьютера класса.

  5. Приостановка инструкция

      прекратить 

    эквивалентно

      если программа штабеля пустых затем остановить казни 

    Программа стека порожняком гарантирует, что пользователь не может получить информацию, посмотрев в программе стека после программы прекращена (например, чтобы определить, какие, если заявление было принято в прошлом).

ПРИМЕР: Рассмотрим следующую программу, в которой х первоначально содержит 0 или 1.

 1.  если х = 0 то goto 4 остальное х: = х 1 2.  если z = 0 Затем goto 6 остальное z: = z 1 3.  прекратить 4.  z: = z + 1 5.  вернуться 6.  у: = у + 1 7.  вернуться 

Эта программа копирует значение х в г. Предположим, что х = 1 первоначально. В приводимой ниже таблице содержимого памяти, безопасность класса ПК на каждом шаге, а также проверить соответствующую сертификацию.

x у z ПК ПК стек сертификации проверить
1 0 0 1 Низкий
0 0 0 2 Низкий Low <= х
0 0 0 6 x (3, Low)
0 1 0 7 x (3, Low) PC <= у
0 1 0 3 Низкий

Фентон машине обрабатывает ошибки, игнорируя их. Предположим, что в программе выше, у <= х Тогда на пятом этапе сертификации проверить, не (потому PC = х). Итак, уступка пропустить, и в конце у = 0 независимо от значения х Но если машина сообщения ошибок, сообщение об ошибке, информирующее пользователя о непредставлении сертификации проверить означает, что программа пытается выполнить шаг 6. Он может сделать это, только если он принял власть в шаге 2, что означает, что z = 0. Если z = 0, то другое подразделение заявление 1 не были приняты, значит, что х = 0 изначально.

Для предотвращения такого рода вычеты, Фентон машине по-прежнему осуществляет в условиях ошибки, но игнорирует заявление о том, что повлечет за собой нарушения. Это удовлетворяет требованиям. Прерывание программы, или создании исключением прозрачна для пользователя, но и будет причиной потока информации от политики.

Проблема с отчетности ошибок заключается в том, что пользователь с низким очистки, чем информация, в результате чего ошибка может сделать вывод информации из зная, что произошла ошибка. Если ошибка находится таким образом, что записи в журнал, и действия лесозаготовок, которые видны только тем, кто адекватного оформления, то никаких нарушений политики происходит. Но если расчистка пользователю достаточно высоким, то пользователь может просматривать ошибки без нарушения политики. Таким образом, ошибка может быть вход для системного администратора (или других соответствующих пользователей), даже если она не может быть показана для пользователя, который работает программа. Аналогичные замечания применяются к любому исключением действий, таких, как прекращение избыточной.

в этой статье идет речь добавил Фред Фостер

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions