<<
>>

Домены защиты

Компьютерная система подразумевает множество «объектов», которые требуется защищать. Это может быть аппаратура (например, центральный процессор, память, диски или принтеры) или программное обеспечение (процессы, файлы, базы данных или семафоры).

У каждого объекта есть уникальное имя, по которому к нему позволено обращаться, и набор операций, которые вправе выполнять с объектом процессы. Так, к файлу применимы операции read и write, к семафору — операции up и down.

Очевидно, что для ограничения доступа к объектам требуется определенный механизм. Более того, этот механизм должен предоставлять возможность не полного запрета доступа, а ограничения в пределах подмножества разрешенных операций. Например, процессу А может быть разрешено читать файл F, но не писать в него.

Чтобы обсудить различные механизмы защиты, полезно ввести концепцию домена. Домен представляет собой множество пар (объект, права доступа). Каждая пара указывает объект и некоторое подмножество операций, разрешенных с ним.

Права доступа означают в данном контексте разрешение выполнить одну из операций. Домен может соответствовать одному пользователю или группе пользователей.

На рис. 5.21 показаны три домена, содержащие объекты и разрешения для каждого объекта в формате RWX (Read, Write, eXecute — чтение, запись, исполнение). Обратите внимание, что объект Принтер 1 одновременно присутствует в двух доменах. Хотя это и не отражено в данном примере, один и тот же объект может иметь в различных доменах разные разрешения.

Рис. 5.21. Три домена защиты

В каждый момент времени каждый процесс работает в каком-либо одном домене защиты.

Другими словами, имеется некоторая коллекция объектов, к которым он вправе получить доступ, и для каждого объекта у него есть определенный набор разрешений. Во время выполнения процессы имеют право переключаться с одного домена на другой. Правила переключения между доменами в значительной степени зависят от системы.

Чтобы идея домена защиты выглядела конкретнее, рассмотрим пример из системы и№Х. В 1Ж1Х домен процесса определяется идентификаторами ШБ и вГО процесса. По заданной комбинации (ШБ, ИБ) можно составить полный список всех объектов (файлов, включая устройства ввода-вывода, представленные в виде специальных файлов и т. д.), к которым процесс может получить доступ с указанием типа доступа (чтение, запись, исполнение). Два процесса с одной и той же комбинацией (ШБ, ИБ) будут иметь абсолютно одинаковый доступ к одинаковому набору объектов.

Более того, каждый процесс в 1Ж1Х состоит из двух частей: пользовательской и системной. Когда процесс выполняет системный вызов, он переключается из пользовательской части в системную. Пользовательская и системная части процесса различаются по уровню доступа к различным множествам объектов. Например, системная составляющая может иметь доступ ко всем страницам в физической памяти, ко всему диску и ко всем другим защищенным ресурсам. Таким образом, системный вызов осуществляет переключение доменов защиты.

Когда процесс выполняет системный вызов ехес с файлом, у которого установлен бит SETUID или SETGID, процесс может получить новые идентификаторы UID и GID. При новой комбинации UID и GID процесс получает новый набор доступных файлов и операций. Запуск программы с установленным битом SETUID или SETGID также представляет собой переключение домена, так как права доступа при этом изменяются.

Важным вопросом является то, как система отслеживает, какой объект какому домену принадлежит. Можно себе представить большую матрицу, в которой рядами являются домены, а колонками — объекты. На пересечении располагаются ячейки, содержащие права доступа для данного домена к данному объекту.

Матрица для рис. 5.21 показана на рис. 5.22. При наличии подобной матрицы операционная система может для каждого домена определить разрешения к любому заданному объекту.

Рис. 5.22. Матрица защиты

Переключение между доменами также легко реализуется при помощи все той же матрицы, если считать домены объектами, над которыми разрешена операция enter (вход). На рис. 5.23 снова изображена та же матрица, что и на предыдущем рисунке, но с тремя доменами, выступающими и в роли объектов. Процессы в состоянии переключаться с домена 1 на домен 2, но обратно вернуться уже не могут. Эта ситуация моделирует выполнение программы с установленным битом SETUID в UNIX. Другие переключения доменов в данном примере не разрешены.

Рис. 5.23. Матрица защиты с доменами в роли объектов

5.5.2.

<< | >>
Источник: Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание. 2007

Еще по теме Домены защиты:

  1. § 8. Основание защиты владения: Постановка проблемы. Теории защиты владения (п. 1313-1318)
  2. Сейчас наша популяция сократилась до такого уровня, что нам всё труднее обеспечивать защиту Западного Побережья, которую мы до сих пор предоставляли, в то время как в самом близком будущем вам потребуется гораздо более эффективная защита.
  3. ЗАЩИТА
  4. Защита
  5. Защиты
  6. Защиты
  7. Защита
  8. Защиты
  9. Защиты
  10. Статья 20. Осуществление права на защиту
  11. Мантры защиты
  12. Тема 5. Защита гражданских прав
  13. § 3. Судебная защита
  14. ЗАЩИТА ПСИХОЛОГИЧЕСКАЯ
  15. Защиты
  16. Глава 15. ПРАВО НА ЗАЩИТУ