Теоретические основы компьютерной безопасности: Методические указания к выполнению лабораторных работ, страница 23

Упоминание только одной операции доступа без правила также приводит к ошибке, поэтому недопустимо следующее объявление:

RULES

             WRITES

ENDRULES

В условии необходим доступ к атрибутам по их именам, определенным в секции «имена атрибутов».

Доступ к значению атрибута по его имени осуществляются образом:

            имя атрибута [номер субъекта(объекта)]

имя атрибута - уже объявленное ранее имя.

номер субъекта(объекта) - конкретно номер сущности, значение атрибута которой хочет получить пользователь.

Номер варьируется от 1 до 16. Выход за пределы этого интервала не об­рабатывается. Здесь можно использовать такие служебные слова, как THISS, THISO. Во время работы программы «Монитор безопасности» пользователь выбирает активную, пассивную сущности и вид доступа. В этом случае:

·  THISS - это номер выбранной текущей активной сущности на момент вызо­ва «Монитора безопасности»,

·  THISO - номер текущей пассивной сущности.

В теле условия возможен вызов конкретного атрибута по его имени (ат­рибута, именованного при помощи функций AS и АО), а также по прямому вы­зову функций AS и АО. Особенности этих функций рассмотрены в секции «имена атрибутов».

Таким образом, правильным будет следующее описание (переменная tmp определена в файле prefile): RULES

READO IF(tmp++==0 && seclevel_s[THISS] >= seclevel[1] || Orole==5)

CHATTRS

                  tmp=50;

                  IF(AS(1,1)==tmp || seclevel_s[THISS]<NEW_ATTR(1))

ENDRULES

Видно, что в примере задействованы новые служебное слово -NEW_ATTR. Оно необходимо при операциях изменения атрибутов пассивной сущности и при создании новых сущностей. Правило доступа может основы­ваться на новых атрибутах сущности. При вызове, например, операции CHATTRS происходит сопоставление изменяемых и новых атрибутов, на осно­ве чего либо происходит замена атрибутов, либо - нет. Формат рассмотренного слова:

NEW_ATTR(Hомep атрибута)

номер атрибута - порядковый номер атрибута пассивной сущности, варьи­руемый от 1 до 8. Выход за пределы этого интервала не обрабатывается. По умолчанию никакие значения номера атрибута не назначаются.

Практический пример

Рассмотрим практическое определение файла описания модели на том же примере, с которого мы начали изучение языка описания:

// секция «субъекты»

S( 1,      1,2,3,4, 5, 6, 7, 8 ); // создание субъекта №1

// секция «объекты»

0(1,    15,16,17,18,19,20,21,25 ); //создание объекта   №1

// секция «имена атрибутов»

// определение имен атрибутов субъекта и объекта

ATTRNAME seclevelS IS ATTRS(1), seclevelO IS ATTRO(1);

// определение имени конкретного атрибута, а именно, первого атрибута первого субъекта

ATTRNAME imp = AS(1,1);

// секция «правила доступа»

// начало блока правил доступа RULES

// правило по чтению

READO   IF(seclevelS[THISS]>seclevelO[THISO])

// правило по записи

WRITEO IF(seclevelS[THISS]<seclevelO[THISO] &&tmp = = 1)

// конец блока правил доступа

ENDRULES

В файле описания модели определено, что в начале в системе сущест­вуют две сущности - один субъект и один объект. Далее присвоено первому ат­рибуту субъектов имя seclevelS, а первому атрибуту объектов - seclevelO. Вве­дена переменная Imp, которой присвоено значение определенного атрибута (первый атрибут первого субъекта). Затем, с целью дальнейшего исследования поведения модели только при записи и чтении, описаны правила доступа субъ­екта по чтению и записи к пассивной сущности.

Дополнительные файлы prefile и postfile не использовались.

Приложение 3

Порядок создания исполняемого файла описания модели

1.      Задание модели безопасности при помощи языка описания модели в файлеописания.

2.      Запуск в MS-DOS служебной программы expert.ехе. Формат ввода:

expert.exe    файл описания модели

Программа expert.exe добавляет к началу и концу файла описания моде­ли необходимый код (рис.1). В результате получается программа, которая автоматически компилируется средствами Си ++.

Рис. 1. Служебный код программы «Монитор безопасности» - процесс создания исполняемого файла описания модели программой expert.exe