Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 6: Разделение прав доступа - доклад 3 (Зайцев).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
294.4 Кб
Скачать
  1. AuthZ api и условные ace

AuthZ API, впервые введенный в Windows XP, реализует ту же модель защиты, что и Security Reference Monitor (монитор состояния защиты), но исключительно для пользовательского режима; все функции AuthZ API находятся в библиотеке \Windows\System32\Authz.Dll. Это позволяет приложениям, нуждающимся в защите своих закрытых объектов (вроде таблиц базы данных), задействовать Windows-модель защиты без издержек, связанных с переходами из пользовательского режима в режим ядра, которые были бы неизбежны при использовании Security Reference Monitor.

AuthZ API оперирует стандартными структурами дескриптора защиты, SID и привилегиями. Вместо применения маркеров для представления клиентов, AuthZ использует AUTHZ_CLIENT_CONTEXT. AuthZ включает эквиваленты всех функций проверки прав доступа и защиты Windows; например AuthzAccessCheck — это AuthZ-версия Windows-функции AccessCheck, которая вызывает функцию SeAccessCheck, принадлежащую Security Reference Monitor.

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

Формат строк языка определения дескрипторов безопасности – SDDL (Security Description Definition Language) был расширен для поддержки ACE-элементов с условными выражениями. Новый формат строки SDDL имеет следующий вид: AceType; AceFlags; Rights; ObjectGuid; InheritObjectGuid; AccountSid; (ConditionalExpression).

Типом ACE (AceType) для условного ACE является либо XA (для разрешающего SDDL_CALLBACK_ACCESS_ALLOWED), либо XD (для запрещающего SDDL_CALLBACK_ACCESS_DENIED). Следует заметить, что АСЕ-элементы с условными выражениями используются для авторизации по заявке (конкретно функциями AuthZ API и AppLocker) и не распознаются диспетчером объектов или файловыми системами.

Условное выражение может включать любые элементы, указанные в таблице:

Элемент выражения

Описание

Имя_атрибута

Проверяет у конкретного атрибута наличие ненулевого значения

exists Имя_атрибута

Проверяет существование указанного атрибута в контексте клиента

Имя_атрибута оператор значение

Возвращает результат указанной операции. Для тестирования значений атрибутов для использования в условных выражениях используются следующие бинарные операторы, имеющие форму Имя_атрибута оператор значение: Contains_any_of, ==, !=, <, <=, >, >=

Усл_выражение || Усл_выражение

Проверяет, не имеет ли любое из указанных условных выражений значение true

Усл_выражение && Усл_выражение

Проверяет, не имеют ли оба указанных условных выражения значение true

!(Усл_выражение)

Превращает условное выражение в его противоположность

Member_of{SidArray}

Проверяет, содержит ли массив SID_AND_ATTRIBUTES, относящийся к контексту клиента, все идентификаторы безопасности (SID) в списке с запятыми в качестве разделителей, определенным с помощью SidArray

Условный АСЕ-элемент может содержать любое количество условий, и он либо игнорируется, если в результате вычисления условия будет получено значение false, либо применяется, если результат значения равен true. Условный АСЕ может быть добавлен к объекту с использованием API-функции AuthzAccessCheck.

Условный АСЕ может указать, какой доступ к конкретным записям данных внутри программы должен быть предоставлен только тому пользователю, который отвечает следующим критериям:

- у него имеется атрибут Role со значением Architect (создатель), Program Manager (Диспетчер программ) или Development Lead (ведущий разработчик) и атрибут Division (подразделение) со значением Windows;

- его атрибут ManagmentChain (цепочка управления) содержит значение John Smith;

- его атрибут ComissionType (тип полномочий) имеет значение Officer (служащий), а значение его атрибута PayGrade (разряд заработной платы) выше 6 (то есть соответствует званию генерала - General Officer в вооруженных силах США).

В составе Windows нет средств для просмотра и редактирования условных АСЕ-элементов.