Говоря о моделях безопасности системы, помним о том, что механизм, свойства которого должны уточняться в результате моделирования (монитор ссылок), отражает свойства механизмов безопасности всей системы. Если в начале проектирования безопасных систем данный монитор реализовывался в виде отдельного модуля, встроенного в операционную систему, то в настоящее время существует тенденция к реализации данной концепции в форме совместно работающего программного и аппаратного обеспечения, называемого ТСВ системы.
Немного о математической логике, которую будем использовать при рассмотрении моделей.
В логике существует понятие предикатов первого и второго порядка.
Логика первого порядка (исчисление предикатов) - формальное исчисление, допускающее высказывания относительно переменных, фиксированных функций, и предикатов. Расширяет логику высказываний. В свою очередь является частным случаем логики высшего порядка.
Логика высказываний (или пропозициональная логика) - это формальная теория, основным объектом которой служит понятие логического высказывания. С точки зрения выразительности, её можно охарактеризовать как классическую логику нулевого порядка. Логика высказываний является простейшей логикой, максимально близкой к человеческой логике неформальных рассуждений и известна ещё со времён античности.
|
|
Базовыми понятиями логики высказываний являются пропозициональная переменная - переменная, значением которой может быть логическое высказывание, - и (пропозициональная) формула, определяемая индуктивно следующим образом:
• Если Р - пропозициональная переменная, то Р - формула.
• Если А - формула, то -<А — формула.
• Если А и В - формулы, то (^ ~~* Щ — формула.
• Других соглашений нет.
Знаки ""'j Л, V и _^ (отрицание, конъюнкция, дизъюнкция и импликация) называются пропозициональными связками. Подформулой называется часть формулы, сама являющаяся формулой. Собственной подформулой называется подформула, не совпадающая со всей формулой.
Язык логики первого порядка строится на основе сигнатуры, состоящей из множества функциональных символов ^и множества предикатных символов V. С каждым функциональным и предикатным символом связана арность, то есть число возможных аргументов (Арность пре-
диката, операции или функции в математике - количество их аргументов, или операндов. Слово образовалось из названий предикатов небольшой арности (унарный - один аргумент, бинарный - два, тернарный - три)). Кроме того используются следующие дополнительные символы
• Символы переменных (обычно x,y,z,xl,yl,zl,x2,y2,z2, и т. д.),
|
|
• Пропозициональные связки: V, Л, ->, —^
• Кванторы: всеобщности Уи существования 3,
• Служебные символы: скобки и запятая.
Перечисленные символы вместе с символами из V и Т образуют Алфавит логики первого порядка. Более сложные конструкции определяются индуктивно:
Терм есть символ переменной, либо имеет вид A*i, ■■ ■, *п)? где f -функциональный символ арности n, a *ii - ■ ■ ■> *п - термы.
Атом имеет вид где р - предикатный символ арности п,
a *i 1- - - 1 *п - термы.
Атом в математической логике - простейший случай формулы; формула, которую нельзя расчленить на подформулы.
Предикат (n-местный, или п-арный) - это функция с множеством значений {0,1} (или «ложь» и «истина»), определённая на множестве М — Aii х М2 х... х Мп Таким образом, каждый набор элементов множества М он характеризует либо как «истинный», либо как «ложный».
Предикат можно связать с математическим отношением: если п принадлежит отношению, то предикат будет возвращать на ней 1.
Предикат - один из элементов логики первого и высших порядков. Начиная с логики второго порядка, в формулах можно ставить кванторы по предикатам.
Предикат называют тождественно-истинным и пишут:
Р(х1,...,хп) = \
если на любом наборе аргументов он принимает значение 1. Предикат называют тождественно-ложным и пишут: Р(х1,...,хп) = 0?
если на любом наборе аргументов он принимает значение 0.
Предикат называют выполнимым, если хотя бы на одном наборе аргументов он принимает значение 1.
Так как предикаты принимают только два значения, то к ним применимы все операции булевой алгебры, например: отрицание, импликация, конъюнкция, дизъюнкция и т.д.
Формула - это либо атом, либо одна из следующих конструкций: ->F, Fi V F?, Fi Л F2, Fi —> F2, VxF, EtaF где p pi Y2 - формулы, а х -
переменная.
Переменная х называется связанной в формуле F, если F имеет вид \/з;С?либо 3xG или же представима в одной из форм -i#, F\ V F2, Fi A F2, Fi —► F2^ причем х уже связанна в H, Fl и F2. Если х не связанна в F, ее называют свободной в F. Формулу без свободных переменных называют замкнутой формулой, или предложением. Теорией первого порядка называют любое множество предложений.
Логика второго порядка - расширяет логику первого порядка, позволяя проводить квантификацию общности и существования не только над атомами, но и над предикатами.
Логика второго порядка не упрощается к логике первого порядка.
Логика первого порядка подходит для описания рутинных свойств системы, то есть тех, ради которых ABC создается. Так как свойства безопасности системы являются дополнительным всеобъемлющим требованием, то необходимо применение логики второго порядка. Ядро безопасности ABC гарантирует безопасность системы вне зависимости от того, какие функции ядра и в какой последовательности задействованы. При этом свойства безопасности системы в целом могут быть описаны следующим выражением:
Va.(E pos:P(a), (l)
где pos - множество всех возможных последовательностей вызовов функций, предоставляемых ядром безопасности системы;
Р() - предикат, определяющий выходную реакцию в системе в зависимости от входного воздействия.
Выражение (1) является предикатом второго порядка и определяет следующее свойство: любая операция, выполняемая пользовательским программным обеспечением, преобразуется в последовательность вызовов функций ядра безопасности системы (функций в множестве pos = свойство полноты) и при условии защиты программного обеспечения ядра системы от модификации (= свойство изоляции), свойство Р() является свойством системы в целом. Доказательство безопасности системы сводится к демонстрации инвариантности модели системы по отношению к некоторому свойству безопасности, определяемому предикатом Р. Таким образом, для синтеза защищенной вычислительной системы необходимо выполнение следующих условий:
|
|
• свойства безопасности системы должны быть реализованы с помощью ядра безопасности системы;
• данные свойства должны быть выражены предикатом второго порядка (1).
В анализируемых далее моделях безопасности предикат Р конкретизируется, а вместо исследования выражений, описываемых логикой второго порядка, изучаются модели состояний системы. Для модели системы необходимо доказать следующую теорему, называемую основной теоремой безопасности: «Если система начинает работу в безопасном состоянии и все переходы системы из состояния в состояние являются безопасными, то система является безопасной».
Таким образом, необходимо ввести понятия, пригодные для описания свойств состояния системы. Самыми естественными понятиями, с помощью которых можно описать состояние системы, являются понятия субъекта, объекта и доступа, которые и являются основой описания состояния моделей безопасности защищенных ABC.
Сущность - любая именованная составляющая компьютерной системы.
Объект - пассивная сущность, используемая для хранения и получения информации. Возможные примеры объекта:
• Записи;
• Сегменты;
• Файлы;
• Терминалы;
• Узлы сети;
• Биты;
• Байты...
Субъект - активная сущность. Она может инициировать запросы к ресурсам и использовать их для выполнения каких-либо вычислительных заданий. В процессе исполнения субъекты исполняют операции. Примеры субъектов:
• Пользователь;
• Процесс;
• Устройство...
Взаимодействие субъекта и объекта, в результате которого производится перенос информации между ними, называется доступом. Существует две фундаментальные операции, переносящие информацию между ними:
• Операции чтения - такая операция, результатом которой является перенос информации от объекта к субъекту;
• Операция записи - такая операция, результатом которой является перенос информации от субъекта к объекту.
Основной характеристикой субъекта является уровень безопасности.
|
|
Уровень безопасности - иерархический атрибут, который может быть ассоциирован с сущностью компьютерной системы для обозначения степени ее чувствительности по безопасности. Эта степень чувствительности может отражать степень ущерба от нарушений безопасности.
В связи с тем, что в системе существуют иерархические отношения, то нам необходимо знать этот набор уровней, т.е. ту иерархию, по которой мы классифицируем систему. Пример:
• Неклассифицированная информация;
• Конфиденциальная информация;
• Секретная информация;
• Совершенно секретная информация.
Для того, чтобы сопоставлять уровни безопасности, нужно внести математические обозначения.