Списки управления доступомРефераты >> Программирование и компьютеры >> Списки управления доступом
Прямолинейное представление подобной матрицы невозможно (поскольку она очень большая), да и не нужно (поскольку она разрежена, то есть большинство клеток в ней пусто). В операционных системах более компактное представление матрицы доступа основывается либо на структуризации совокупности субъектов (владелец/группа/другие у ОС UNIX), либо на механизме списков управления доступом (ACL, Access Control List), то есть на представлении матрицы по столбцам, когда для каждого объекта перечисляются субъекты вместе с их правами доступа. За счет использования метасимволов можно компактно описывать группы субъектов, удерживая тем самым размеры ACL в разумных пределах.
Каждая колонка в матрице может быть реализована как список доступа для одного объекта. Очевидно, что пустые клетки могут не учитываться. В результате для каждого объекта имеем список упорядоченных пар <субъект, набор полномочий>, который определяет все субъекты с непустыми наборами прав для данного объекта.
Если матрицу доступа хранить по строкам, то есть каждый субъект хранит список объектов и для каждого объекта список допустимых операций, то такой способ хранения называется capability list (список возможностей). Примерами систем такого рода являются Hydra, Cambridge CAP System.
Иногда применяется комбинированный способ. Например, в том же UNIX на этапе открытия файла происходит анализ ACL. В случае благоприятного исхода (у процесса были соответствующие права) файл заносится в список открытых файлов, и при последующих операциях чтения и записи проверки прав доступа не происходят. Список открытых файлов можно рассматривать как capability list.
Большинство операционных систем (Windows, Linux) и систем управления базами данных реализует именно дискреционное управление доступом и, как правило, на механизме ACL. Главное его преимущество - гибкость. Главные недостатки - рассредоточенность управления и сложность централизованного контроля, а также оторванность прав доступа от данных, что позволяет копировать секретную информацию в общедоступные файлы.
2.3 Мандатное управление доступом
Мандатное управление доступом основано на сопоставлении меток безопасности субъекта и объекта. Метка субъекта определяет уровень его полномочий. Метка объекта - степень его конфиденциальности.
Метки безопасности состоят из двух частей: уровня секретности и списка категорий. Уровни секретности, поддерживаемые системой, образуют упорядоченное множество, которое может выглядеть, например, так:
§ особенной важности;
§ совершенно секретно;
§ секретно;
§ несекретно.
Категории образуют неурегулированный набор. Их назначение состоит в описании наглядной области, к которой относятся данные. В военной области каждая категория может отвечать, например, определенному виду вооружений. Механизм категорий позволяет разделить информацию "по отсекам", что способствует лучшей защищенности. Субъект не может получить доступ к "чужим категориям", даже если его уровень полномочий - "совершенно секретно".
Главная проблема, которую необходимо решать в связи с метками, - это обеспечение их целостности. Во-первых, не должно быть незамеченных субъектов и объектов иначе в такой безопасности появятся проломы, что легко используются. Во-вторых, при любых операциях с данными метки должны оставаться правильными. Особенно это относится к экспорту и импорту данных. Например, печатный документ должен открываться заглавием, которое содержит текстовое и/или графическое представление метки безопасности. Аналогично, при передаче файла по каналу связи должна передаваться и ассоциируемая с ним метка, причем в таком виде, чтоб отдаленная система могла ее проинтерпретировать, несмотря на возможные отличия в уровнях секретности и наборе категорий.
Метки безопасности субъектов более подвижные, чем метки объектов. Субъект может во время сеанса работы с системой изменять свою метку, не выходя за выделенные для него рамки. Другими словами, он может сознательно занижать свой уровень полномочий, чтоб уменьшить достоверность неумышленной ошибки.
Субъект может читать информацию из объекта, если уровень секретности субъекта не ниже, чем у объекта, а все категории, перечисленные в метке безопасности объекта, присутствующие в метке субъекта. В таком случае говорят, что метка субъекта доминирует над меткой объекта.
Субъект может записывать информацию в объект, если метка безопасности объекта доминирует над меткой субъекта. В частности, "конфиденциальный субъект" может писать в секретные файлы, но не может - в несекретные (должны также выполняться ограничения на набор категорий). Ни при каких операциях уровень секретности информации не должен снижаться, хотя обратный процесс вполне возможен.
Описанный способ управления доступом называется принудительным, поскольку он не зависит от воли субъектов (даже системных администраторов). После того, как зафиксированные метки безопасности субъектов и объектов, оказываются зафиксированными и права доступа. В терминах принудительного управления нельзя выразить предложение "позволить доступ к объекту X еще и для пользователя В". Конечно, можно изменить метку безопасности пользователя В, но тогда он получит доступ до многих дополнительных объектов, а не только до X.
Принудительное управление доступом реализовано во многих вариантах операционных систем и СУБД с повышенными мероприятиями безопасности. В частности, такие варианты существуют для SunOS и СУБД Ingres.
Независимо от практического использования принципы принудительного управления являются удобными методологическим базисом для начальной классификации информации и распределения прав доступа.
2.4 Модели политики безопасности
2.4.1 Модель Харрисона-Руззо-Ульмана
Данная модель реализует дискреционное (произвольное) управление доступом субъектов к объектам и контроль за распространением прав доступа. Обозначим:
S – множество субъектов (осуществляют доступ к информации) |
O – множество объектов, содержащих защищаемую информацию |
- конечное множество прав доступа, означающих полномочия на выполнение соответствующих действий (чтение, запись, выполнение) |
Принято считать, что , т.е. субъекты одновременно являются и объектами (это сделано для того, чтобы включить в область действия модели отношения между субъектами).
Поведение системы моделируется с помощью понятия состояния.
- пространство состояний системы |
M – матрица прав доступа, описывающая текущие права доступа субъектов к объектам (строки – субъекты, столбцы – объекты) |
- текущее состояние системы |