Политика и модели дискреционного доступа
Политика дискреционного (избирательного) доступа реализована в большинстве защищенных систем и исторически является первой проработанной в теоретическом и практическом плане.
Первые описания моделей дискреционного доступа к информации появились еще в 1960-х гг. и подробно представлены в литературе. Наиболее известны модель АДЕПТ-50 (конец 1960-х гг.), пятимерное пространство Хартсона (начало 1970-х гг.), модель Хариссона - Руззо-Ульмана (середина 1970-х гг.), модель Take-Grant (1976 г.). Авторами и исследователями этих моделей был внесен значительный вклад в теорию безопасности информационных систем, а их работы заложили основу для последующего создания и развития защищенных информационных систем.
Модели дискреционного доступа непосредственно основываются на субъектно-объектной модели и развивают ее как совокупность некоторых множеств взаимодействующих элементов (субъектов, объектов и т. д.). Множество (область) безопасных доступов в моделях дискреционного доступа определяется дискретным набором троек «пользователь (субъект) - поток (операция) - объект».
В модели, исходя из способа представления области безопасного доступа и механизма разрешений на доступ, анализируется и доказывается, что за конечное число переходов система останется в безопасном состоянии.
Модели на основе матрицы доступа. На практике наибольшее применение получили дискреционные модели, основанные на матрице доступа. В данных моделях область безопасного доступа строится как прямоугольная матрица (таблица), строки которой соответствуют субъектам доступа, столбцы - объектам доступа, а в ячейках записываются разрешенные операции (права) субъекта над объектом. В матрице используются следующие обозначения: w - «писать», r - «читать», e - «исполнять».
Права доступа в ячейках матрицы в виде разрешенных операций над объектами определяют виды безопасного доступа субъекта к объекту. Для выражения типов разрешенных операций используются специальные обозначения, составляющие основу (алфавит) некоторого языка описания политики разграничения доступа. Таким образом, в рамках дискреционной политики каждая ячейка содержит некоторое подмножество троек «субъект - операция - объект».
Матрица доступа представляет собой ассоциированный с монитором безопасности объект, содержащий информацию о политике разграничения доступа в конкретной системе. Структура матрицы, ее создание и изменение определяются конкретными моделями и конкретными программно-техническими решениями систем, в которых они реализуются.
Принцип организации матрицы доступа в реальных системах определяет использование двух подходов - централизованного и распределенного.
При централизованном подходе матрица доступа создается как отдельный самостоятельный объект с особым порядком размещения и доступа к нему. Количество объектов и субъектов доступа в реальных системах может быть велико. Для уменьшения количества столбцов матрицы объекты доступа могут делиться на две группы - группу объектов, доступ к которым не ограничен, и группу объектов дискреционного доступа. В матрице доступа представляются права пользователей только к объектам второй группы. Наиболее известным примером такого подхода являются «биты доступа» в UNIX-системах.
При распределенном подходе матрица доступа как отдельный объект не создается, а представляется или «списками доступа», распределенными по объектам системы, или «списками возможностей», распределенными по субъектам доступа. В первом случае каждый объект системы, помимо идентифицирующих характеристик, наделяется еще своеобразным списком, непосредственно связанным с самим объектом и представляющим, по сути, соответствующий столбец матрицы доступа. Во втором случае список с перечнем разрешенных для доступа объектов (строку матрицы доступа) получает каждый субъект при своей инициализации.
И централизованный, и распределенный принципы организации матрицы доступа имеют свои преимущества и недостатки, присущие в целом централизованному и децентрализованному принципам организации и управления.
Согласно принципу управления доступом выделяются два подхода:
принудительное управление доступом;
добровольное управление доступом.
В случае принудительного управления право создания и изменения матрицы доступа имеют только субъекты администратора системы, который при регистрации для работы в системе нового пользователя создает с соответствующим заполнением новую строку матрицы доступа, а при возникновении нового объекта, подлежащего избирательному доступу, образует новый столбец матрицы доступа. Подобный подход наиболее широко представлен в базах данных.
Принцип добровольного управления доступом основывается на принципе владения объектами. Владельцем объекта доступа называется пользователь, инициализировавший поток, в результате чего объект возник в системе, или определивший его иным образом. Права доступа к объекту определяют их владельцы.
Заполнение и изменение ячеек матрицы доступа осуществляют субъекты пользователей-владельцев соответствующих объектов. Подобный подход обеспечивает управление доступом в тех системах, в которых количество объектов доступа является значительным или неопределенным. Такая ситуация типична для операционных систем.
Все дискреционные модели уязвимы для атак с помощью «троянских» программ, поскольку в них контролируются только операции доступа субъектов к объектам, а не потоки информации между ними. Поэтому, когда «троянская» программа переносит информацию из доступного этому пользователю объекта в объект, доступный нарушителю, то формально никакое правило дискреционной политики безопасности не нарушается, но утечка информации происходит.