Пояснительная записка Баранов (1206710), страница 3
Текст из файла (страница 3)
Например, один из аргументов функции CreateFile - указатель на структуру SECURITY_ATTRIBUTES, которая содержит указатель на дескриптор защиты.
Дескриптор безопасности представлен на рисунке 2.1, он содержит SID владельца объекта, SID групп для данного объекта и два указателя на списки DACL (Discretionary ACL) и SACL (System ACL) контроля доступа. DACL и SACL содержат разрешающие и запрещающие доступ списки пользователей и групп, а также списки пользователей, чьи попытки доступа к данному объекту подлежат аудиту.
С
труктура каждого ACL списка проста. Это набор записей ACE (Access Control Entry), каждая запись содержит SID и перечень прав, предоставленных субъекту с этим SID.
Рисунок 2.1 – Дескриптор безопасности
Разрешения определяются в дескрипторе безопасности объекта. Разрешения ставятся в соответствие, или назначаются, конкретным пользователям или группам. Например, встроенной группе «Администраторы» могут быть назначены разрешения на чтение, запись и удаление файла temp.dat, а группе «Операторы архива» –- только на чтение и запись.
Каждое назначение разрешений пользователю или группе представлено в системе как запись управления доступом (ACE). Весь комплект элементов разрешений в дескрипторе безопасности называется набором разрешений, или таблицей управления доступом (ACL). Так, набор разрешений для файла Temp.dat включает два элемента: один для встроенной группы «Администраторы», другой для группы «Операторы архива».
Существуют два типа разрешений: явные разрешения и унаследованные разрешения.
-
явные разрешения устанавливаются по умолчанию на недочерние объекты при их создании или в результате действия пользователя на недочерние, родительские или дочерние объекты;
-
унаследованные разрешения наследуются объектом от родительского объекта. Унаследованные разрешения облегчают управление разрешениями и обеспечивают единообразие разрешений всех объектов, находящихся в данном контейнере.
По умолчанию объекты наследуют разрешения контейнера, в котором они создаются. В операционной системе Windows на базе файловой системы NTSF реализованы следующие стандартные и специальные разрешения, используемые при управление доступом к папкам и файлов.
Для папок реализованы следующие стандартные разрешения:
-
чтение. Разрешается просматривать содержащиеся в папке файлы, вложенные папки. А также их свойства, которые включает в себя: имя владельца, разрешения и некоторые атрибуты;
-
запись. Позволяется создавать и размещать внутри папки новые файлы и подпапки. Изменять атрибуты папки и просматривать ее свойства;
-
список содержимого папки. Предоставляет возможность просматривать имена файлов и папок, содержащихся в папке;
-
чтение и выполнение. Даёт возможность получить доступ к файлам в подпапках, если изначально не предоставлен доступ к самой папке. Так же данное разрешения включает в себя действия следующих разрешений: «Чтение», «Список содержимого папки»;
-
изменение. Является совокупностью разрешений «Чтение», «Чтение и выполнение», а также позволяет производить удаление папки;
-
полный доступ. Разрешает полный доступ к папке, является совокупностью всех выше описанных разрешений. Так же позволяет становиться владельцем объекта и изменять её разрешения.
Стандартные разрешения файлов имеют следующий вид:
-
чтение. Разрешает чтение файла, просмотр его свойств: имя владельца, атрибутов и разрешений;
-
запись. Позволяет перезаписать файл, изменить его атрибуты и просмотреть его владельца и разрешения;
-
чтение и выполнение. Представляет совокупность ранее описанных двух разрешений, а также если файл исполняемый предоставляет возможность его запуска;
-
изменение. Разрешает производить изменение и удаление файла, а также тех действие которые предоставлены в разрешениях: «Запись», «Чтение и выполнение»;
-
полный доступ. Даёт полный доступ над файлом, позволяет становиться владельцем файла, изменять его разрешения, а также выполнять все те действия, которые описаны в ранее рассмотренных разрешениях файла.
Для более детальной настройки в операционной системе Windows предусмотрены специальные разрешения. Они реализованы как для папок, так и для файлов. Этих разрешения выглядят следующим образом:
-
траверс папок/выполнение файлов. Позволяет или запрещает перемещение по структуре папок для поиска файлов или вложенных папок. Данное разрешение работает даже тогда, когда пользователь не обладает правами на допуск к просматриваемым папкам. Работает только в том случае если пользователь или группа не обладает правом “Обход перекрёстной проверки”. С точки зрения действия разрешения на фал оно разрешает или запрещает запуск программ;
-
содержание папки/чтение данных. Для файлов разрешает чтение данных из файлов. С точки зрения взаимодействие с папками разрешает или запрещает просмотр имён файлов, содержащихся в папке и вложенных папок;
-
чтение атрибутов. Одинаково воздействует на файл и папку, разрешая или запрещая просмотр следующих атрибутов: «Только чтение», «Скрытый».
-
чтение дополнительных атрибутов. Одинаково воздействует на файл и папку, позволяя просматривать дополнительные их атрибуты;
-
создание файлов/запись данных. Для папок “Создание файлов” означает разрешение позволяющее создание файлов внутри папки. “Запись данных” означает для файлов разрешение изменения содержимого в файле, а также запись новых данных в файле поверх старых;
-
создание папок/дозапись данных. Для папок разрешает или запрещает создание новой папки внутри этой папки. С точки зрения действия на файл разрешает внесение данных в конец файла, но изменение ранее содержащейся в файле информации не происходит;
-
запись атрибутов. Позволяет изменять такие атрибуты файлов и папок как: «Только чтение», «Скрытый»;
-
запись дополнительных атрибутов. Позволяет производить изменения дополнительных атрибутов файлов и папок. Причём дополнительные атрибуты могут различаться для разных программ;
-
удаление. Разрешает или запрещает удаление файла или папки;
-
удаление подпапок и файлов. Применяется только для папок и позволяет произвести удаление, содержащийся внутри папки файлов или подпапок, так же работает если отсутствует разрешение «Удаление»;
-
чтение разрешений. Разрешает или запрещает чтение разрешений на допуск к файлу или папке;
-
смена разрешений. Позволяет изменить разрешения по допуску к файле или папке;
-
смена владельца. Позволяет вступать во владение файлом или папкой, что означает, что пользователь всегда сможет изменять разрешения на допуск к файлу или папке, не смотря на защищающие разрешения к этим объектам.
Выше описанные специальные разрешения, при некотором объединение создают стандартные разрешения, стандартные разрешения содержат в себе совокупность специальных разрешений. Эти соотношения выглядят следующим образом:
-
стандартное разрешение «Чтение» содержит в себе такие специальные разрешения как: «Содержание папки/Чтение данных», «Чтение атрибутов», «Чтение дополнительных атрибутов», «Чтение разрешений»;
-
стандартное разрешение «Запись» содержит в себе такие специальные разрешения как: «Создание файлов/Запись данных», «Создание папок/Дозапись данных», «Запись атрибутов», «Запись дополнительных атрибутов», «Чтение разрешений»;
-
стандартное разрешение «Чтение и выполнение» содержит в себе такие специальные разрешения как: «Траверс папок/Выполнений файлов» и совокупность специальных разрешений, входящих в стандартное разрешение «Запись»;
-
стандартное разрешение «Список содержимого папки» содержит в себе совокупность специальных разрешений входящие в стандартное разрешение «Чтение и выполнение» и применимо только к папкам;
-
стандартное разрешение «Изменение» содержит в себе все ранее описанные специальные разрешения кроме: «Удаление папок и файлов», «Смена разрешений», «Смена владельца»;
-
стандартное разрешение «Полный доступ» содержит в себе все специальные разрешения.
Благодаря такому разбиению стандартных разрешений на специальные, появляется возможность производить детальную настройку прав доступа.
Так же, как и объекты, субъекты должны иметь отличительные признаки - контекст пользователя, для того, чтобы система могла контролировать их действия. Сведения о контексте пользователя хранятся в маркере доступа. При интерактивном входе в систему пользователь обычно вводит свое имя и пароль. Система (процедура Winlogon) по имени находит соответствующую учетную запись, извлекает из нее необходимую информацию о пользователе, формирует список привилегий, ассоциированных с пользователем и его группами, и все это объединяет в структуру данных, которая называется маркером доступа. Маркер также хранит некоторые параметры сессии, например, время окончания действия маркера. Таким образом, именно маркер является той визитной карточкой, которую субъект должен предъявить, чтобы осуществить доступ к какому-либо объекту. Основные компоненты маркера доступа показаны на рисунке 2.2.
Рисунок 2.2 – Основные компоненты маркера доступа
Включая в маркер информацию о защите, в частности, DACL, Windows упрощает создание объектов со стандартными атрибутами защиты. Если процесс не позаботится о том, чтобы явным образом указать атрибуты безопасности объекта, на основании списка DACL, присутствующего в маркере, будут сформированы права доступа к объекту по умолчанию. Поскольку объекты в Windows отличаются большим разнообразием, в списке DACL "по умолчанию" можно указать только так называемые базовые права доступа, из которых система будет формировать стандартные права доступа в зависимости от вида создаваемого объекта. То, как это делается и как сформировать список DACL, по умолчанию присутствующий в маркере.
Этапов проверки прав доступа довольно много. Наиболее важные этапы из них:
-
если SID субъекта совпадает с SID владельца объекта и запрашиваются стандартные права доступа, то доступ предоставляется независимо от содержимого DACL;
-
далее система последовательно сравнивает SID каждого ACE из DACL с SID маркера. Если обнаруживается соответствие, выполняется сравнение маски доступа с проверяемыми правами. Для запрещающих ACE даже при частичном совпадении прав доступ немедленно отклоняется. Для успешной проверки разрешающих элементов необходимо совпадение всех прав.
Очевидно, что для процедуры проверки важен порядок расположения ACE в DACL. Поэтому Microsoft предлагает так называемый предпочтительный порядок размещения ACE. Например, для ускорения рекомендуется размещать запрещающие элементы перед разрешающими.
Модели управления доступом регламентируют доступ субъектов к объектам. Наиболее распространена так называемая дискреционная (произвольная) модель, в которой обычные пользователи могут принимать участие в определении функций политики и присвоении атрибутов безопасности. Среди дискреционных моделей классической считается модель Харрисона-Руззо-Ульмана - в ней система защиты представлена в виде набора множеств, элементами которых являются составные части системы защиты: субъекты, объекты, уровни доступа, операции и т.п.
С концептуальной точки зрения текущее состояние прав доступа при дискреционном управлении описывается матрицей, матрица доступа предоставлена на рисунке 2.3, в строках которой перечислены субъекты, в столбцах - объекты, а в ячейках - операции, которые субъект может выполнить над объектом. Операции зависят от объектов. Например, для файлов это операции чтения, записи, выполнения, изменения атрибутов, а для принтера - операции печати и управления. Поведение системы моделируется с помощью понятия состояния Q = (S,O,M), где S,O,M – соответственно текущие множества субъектов, объектов и текущее состояние матрицы доступа.
Рисунок 2.3 – Матрица доступа
С учетом дискреционной модели можно следующим образом сформулировать задачу системы защиты информации. С точки зрения безопасности, поведение системы может моделироваться как последовательность состояний, описываемых совокупностью субъектов, объектов и матрицей доступа. Тогда можно утверждать, что для безопасности системы в состоянии
не должно существовать последовательности команд, в результате которой право R будет занесено в ячейку памяти матрицы доступа M, где оно отсутствовало в состоянии
.














