1.2.2. Формальные модели защиты Рассмотрим так называемую матричню модель защиты, получившую на сегодняшний день наибольшее распространение в реальной практике [18]. В терминах матричной модели, состояние системы защиты описывается тройкой: (S, O, M), где S - множество субъектов, являющихся активными структурными элементами модели (в большинстве случаев субъекты в свою очередь могут рассматриваться как объекты доступа, т.е. S является подмножеством O); O - множество объектов доступа, являющихся пассивными защищаемыми элементами модели; каждый объект однозначно идентифицируется с помощью имени объекта; M - матрица доступа, в которой строким соответствуют субъектам, а столбцы - обхектам; значение элемента матрицы M [S, O] определяет права доступа субъекта S к объекту O. Права доступа регламентируют способы обращения субъекта S к различным типам объектов доступа. Так, например, права доступа к файлам или сегментам памяти обычно определяют как чтение (R), запись (W) и выполнение (E). В некоторых системах используется еще одно право доступа - дополнение (A), означающее право субъекта производить запись данных в свободные области объекта без перекрытия имеющихся данных. С помощью матрицы доступа может быть описано состояние любой,сколь угодно сложной системы защиты в произвольный момент ее существования. Однако, несмотря на гибкие изобразительные возможности, матричным моделям присущи и серьезные недостатки. Во-первых, низкий, излишне детализированный уровень описания отношений субъектов и объектов затрудняет анализ соблюдения так называемых правил разграничения доступа, то есть тех высокоуровневых отношений между субъектами - людьми и объектами - документами, которые приняты в соцальных группах для регулирования доступа к секретным и другим охраняемым данным. Во- вторых, вследствие трудно поддающегося регулированию разрастания размеров матриц доступа в реальных системах, процедуры поих обслуживанию и поддержанию в адекватном изменяемым условиям состоянии, оказываются весьма трудоемкими. Централизованная в руках администратора защиты служба сопровождения становится узким мстом в работе систем, обладающих динамикой состава пользователей и программ. Для преодоления указанных выше недостатков матричных моделей разработаны так называемые многоуровневые модели защиты, классическими примерами которых являются модель конечных состояний Беллаи Ла-Падулы [19] и решетчатая модель Д.Деннинг [20]. Многоуровневые модели переносят в операционную среду ЭВМ, и мир "электронных" документов, общепринятые и хорошо отработанные принципы обращения с бумажными секретами, особоважными, конфиденциальными документами, в течение многих лет применяемые на практике. Активные элементы вычислительного процесса (пользователи, задачи и т.п.) при многоуровневой защите наделяются определенными правами доступа, надежно зафиксированными в мандате субъекта. Для задачи (процесса) они, например, могут опеределятся в соответствиис уровнем допуска лица, обслуживаемого данной задачей. Пассивные элементы вычислительного процесса - разнообразные контейнеры данных (периферийные устройства внешней памяти, тома и наборы данных, файлы, разделы, сегменты внешней и основной памяти т.п.) наделяются определенными признаками конфиденциальности, зависящими от уровня содержащейся в этих контейнерах информации. Признаки конфиденциальности надежно фиксируются в метке объекта. (В связи с использованием терминов "мандат" и "метка" многоуровневую защиту часто называют мандатной защитой или защитой с метками конфиденциальности). Права доступа каждого субъекта и характеристики конфиденциальности каждого объекта отображаются в виде совокупности уровня конфиденциальности и набора категорий конфиденциальности (возможнопустого). Уровень конфиденциальности может принимать одно из строго упорядоченного ряда фиксированных значений, например: конфиденциально, секретно, только для узкого круга лиц, несекретно и т.п. Отдельно взятые категории равнозначны, однако их наборы (множество) могут быть упорядочены на основании отношения включения подмножеств. С помощоью многоуровневых моделей удается проследить направление потоков информации, предупреждая возможность преднамеренного или случайного снижения уровня секретности защищаемой информации за счет ее утечки (умышленного переноса) - из объектов с высоким уровнем конфиденциальности и узким набором категорий доступа в объекты с меньшим уровнем конфиденциальности и более широким набором категорий доступа. Практика показывает, что многоуровневые модели защиты находятся гораздо ближе к потребностям реальной жизни, нежели матричные модели, и представляют собой хорошую основу для построения автоматизированных систем разграничения доступа. За счет более высокого "интеллекта", содержащегося в многоуровневых моделях, системы защиты с контролем доступа на уровне потоков данных во многих случаях могут без вмешательства человека принимать решения о допуске пользователей к охраняемым данным, чтоснижает опасность образования узких мест, связанных с деятельностью даминстратора защиты. Однаком в реализации многоуровневых систем разграничения доступа имеются серьезные теоретические и технические проблемы. Одна з них - возникновение состояний избыточной конфиденциальности, связанных с необходимостью периодической деклассификации (контролируемого снижения уровня секретности) конфиденциальных данных. Другие проблемы, связанные с трудностями реализации многоуровневых систем разграничения доступа рассматриваются в последующем материале.