Произвольное разграничение доступа

Автор: Администратор
Дата публикации: 1 августа 2012 года
Раздел: Защита от взлома
разграничение доступа

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

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

  • размер предоставляемого ресурса, например, размер области внешней памяти;
  • имя компонента предоставляемого ресурса, например, имя каталога или логического диска;
  • код, определяющий права доступа к ресурсу, например, 012 - только чтение, 102 - чтение и запись и т.д.;
  • ссылку на другую информационную структуру, задающую права доступа к ресурсу, например, ссылку на другую матрицу доступа;
  • ссылку на программу, регулирующую права доступа к ресурсу.

Программа, регулирующая права доступа пользователя к ресурсу, может регулировать права доступа не только в зависимости от времени, но и в зависимости от предыстории работы пользователя, например, пользователь Z26 может записывать данные в файл F только в том случае, если он уничтожил файл G. Также может учитываться и состояние компьютерной системы, например, текущий размер свободной части ресурса.

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

  • объединение пользователей, имеющих идентичные полномочия в группы;
  • объединение ресурсов, полномочия на доступ к которым совпадают;
  • декомпозиция главной матрицы на более простые таблицы.

Несмотря на данные рекомендации, матрицу доступа, ввиду ее разреженности, в используемых системах разграничения доступа не хранят в виде двумерного массива. В принципе можно представлять ее по строкам, поддерживая для каждого субъекта перечень доступных ему объектов, однако, поскольку объекты гораздо динамичнее субъектов, подобный подход чрезмерно усложняет администрирование. Поэтому на практике матрицу доступа чаще всего хранят по столбцам, поддерживая для каждого объекта список допущенных субъектов вместе с их правами. Элементами списков могут быть имена групп и шаблоны субъектов, что служит существенным подспорьем администратору. Такое представление матрицы доступа получило название "списка управления доступом" (Access Control List - ACL). Подобный вид задания матрицы реализован практически во всех современных сетевых операционных системах, например, в Windows NT и Novell NetWare. Ограниченная форма списков доступа реализована в классическом варианте ОС UNIX. В UNIX-списке всегда три элемента: владелец, группа владельца и прочие пользователи. Теоретически, создав достаточно большое число групп, можно и при ограниченной форме добиться индивидуальной избирательности прав, но на практике это, конечно, нереально.

Процедура разграничения доступа к компьютерным ресурсам при использовании списков управления доступом к объектам выполняется в следующей последовательности:

  • По данным, содержащимся в запросе пользователя, выбирается список пользователей и групп, которым разрешен доступ к запрашиваемому ресурсу и прав их доступа;
  • В выбранной строке проверяется наличие идентификатора пользователя, выдавшего запрос, или идентификатора группы, в которую входит данный пользователь;
  • Если наличие установлено и тип запрашиваемого доступа соответствует правам пользователя, то ресурс предоставляется в соответствие с правами доступа на него. В противном случае доступ пользователя к запрашиваемому ресурсу блокируется и применяются санкции, предусмотренные за попытку несанкционированного доступа.

К достоинствам использования списков управления доступом к объектам относятся:

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

Недостатки здесь следующие:

  • неудобство отслеживания ограничений и зависимостей по наследованию полномочий субъектов;
  • неудобство получения сведений об объектах, к которым имеет какой либо вид доступа данный субъект;
  • некоторые проблемы возникают при удалении субъекта, когда приходится устранять его имя из всех списков доступа.

Несмотря на имеющиеся недостатки, в настоящее время разграничение доступа по спискам является наиболее распространенным способом произвольного управления доступом.

Fatal error: Call to a member function return_links() on a non-object in /var/www/zoleg9992/data/www/e2epro.com/page/footer.php on line 42