Разграничение доступа к объектам в операционной системе Microsoft Windows: дескриптор безопасности объекта, виды доступа, алгоритм проверки прав доступа

Разграничение доступа к объектам

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

o идентификатор безопасности (SID) владельца объекта;

o идентификатор безопасности первичной группы владельца;

o дискреционный список контроля доступа (discretionary access control list, DACL);

o системный список контроля доступа (system access control list, SACL).

Списки управления доступом

o Список SACL управляется администратором системы и предназначен для аудита безопасности.

o Список DACL управляется владельцем объекта и предназначен для идентификации пользователей и групп, которым предоставлен или запрещен определенный тип доступа к объекту.

Элементы списков управления доступом

Каждый элемент списка DACL (access control entry, ACE) определяет права доступа к объекту одному пользователю или группе. Каждый ACE содержит следующую информацию:

o идентификатор безопасности SID субъекта, для которого определяются права доступа;

o маска доступа (access mask, AM), которая специфицирует контролируемые данным ACE права доступа;

o тип ACE;

o признак наследования прав доступа к объекту, определенных для родительского объекта.

Элементы списка DACL могут быть двух типов – элементы, запрещающие определенные в них права доступа (Access-allowed ACE), и элементы, запрещающие определенные в них права доступа (Access-denied ACE). Элементы для запрещения субъектам использования определенных прав доступа должны размещаться в «голове» списка, до первого из элементов, разрешающих использование субъектом тех или иных прав доступа.

Права доступа (разрешения)

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

o Стандартные права доступа определяют возможность доступа к объекту по методу, применимому к любому объекту, – изменение владельца объекта, изменение списка DACL объекта, удаление объекта и т.д.

Права доступа (разрешения)

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

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

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

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

Разграничение доступа к объектам

Маркер доступа субъекта, обращающегося к некоторому объекту, поступает в локальную службу безопасности LSA. От LSA маркер доступа поступает к монитору безопасных ссылок (security reference monitor, SRM), который просматривает DACL из дескриптора безопасности SD соответствующего объекта и принимает решение R о предоставлении доступа субъекту или отказе в доступе. Получив от SRM результат R, LSA передает его субъекту, запросившему доступ к объекту.

Алгоритм проверки прав доступа к объекту

1. Если SID из маркера доступа субъекта AT не совпадает с SID, содержащемся в элементе ACE списка контроля доступа к объекту, то осуществляется переход к следующему ACE, иначе переход к п. 2.

2. Если в элементе ACE запрещается доступ к объекту для субъекта с данным SID, но этот субъект является владельцем объекта и запрашиваемая маска доступа содержит только попытку доступа к объекту по методу «чтение (или) изменение дискреционного списка контроля доступа к объекту» (чтение или смена разрешений, запись DAC), то доступ субъекта к объекту разрешается, иначе осуществляется переход к п.3.

3. Если в элементе ACE запрещается доступ к объекту для субъекта с данным SID, то сравниваются запрашиваемая маска доступа и маска доступа, определенная в ACE. Если при сравнении находится хотя бы один общий метод доступа, то попытка доступа субъекта к объекту отклоняется, иначе происходит переход к следующему ACE.

4. Если в элементе ACE разрешается доступ к объекту для субъекта с данным SID, то также сравниваются запрашиваемая маска доступа и маска доступа, определенная в ACE. Если при этом маски доступа полностью совпадают, то доступ субъекта к объекту разрешается, иначе происходит переход к следующему ACE.

5. Если достигнут конец списка DACL из дескриптора безопасности объекта, то попытка доступа субъекта к объекту отклоняется.

Следствия из рассмотренного алгоритма

o Если DACL объекта пуст, то любой доступ к нему запрещен всем субъектам, за исключением владельца объекта, которому разрешены чтение и (или) изменение списка контроля доступа к объекту.

o Если у объекта нет дескриптора безопасности (например, у папок и файлов, размещенных на дисках под управлением файловой системы FAT), то любые пользователи и группы могут получить любые права доступа к данному объекту.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: