Опубликован: 27.05.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Вятский государственный гуманитарный университет
Самостоятельная работа 5:

Обеспечение безопасности в Windows

< Лекция 9 || Самостоятельная работа 5: 123 || Лекция 10 >

Задание 7. Исследовать дескриптор защиты (security descriptor).

Указания к выполнению.

1. Адрес дескриптора защиты объекта (в данном случае – файла) содержится в параметре SecurityDescriptor функции SeAccessCheck:


2. Дескриптор защиты, зная его адрес, можно посмотреть при помощи команды !sd:

!sd 0xE186ABC0 1

Параметр 1 в конце указывает, что нужно по возможности указывать имена для SID.


Уровень доступа к объекту определяется в списке DACL маской доступа (поля Mask выделены на рисунке красным). В маске отдельные биты отвечают за определенные виды доступа.

Выделяют стандартные права доступа (Standard Access Rights), применимые к большинству объектов, и специфичные для объектов права доступа (Object-Specific Access Rights) (см. лекцию 9 "Безопасность в Windows"). Описание стандартных прав доступа и соответствующих значений масок приведено в файле public\sdk\inc\ntseapi.h (строки 72–166), а также описаны в статье MSDN "Access Mask Format"2http://msdn.microsoft.com/en-us/library/windows/desktop/aa374896(v=vs.85).aspx. Описание прав доступа для файлов и каталогов имеется в файле public\sdk\inc\ntioapi.h (строки 41–108), а также в статье MSDN "Access Mask"3http://msdn.microsoft.com/en-us/library/windows/hardware/ff538834(v=vs.85).aspx.

Для примера рассмотрим две маски, используемые для файла input.txt (см. рисунок выше): 0x001F01FF и 0x001200A9.

Представим маску 0x001F01FF в двоичном виде и укажем, за что отвечает каждая единица:


Как видно из рисунка, маска 0x001F01FF обозначает полный доступ к файлу. Такой доступ имеют члены группы Administrators и системная учетная запись Система (System).

Рассмотрим вторую маску доступа 0x001200A9:


Таким образом, члены группы Пользователи (Users) имеют доступ только на чтение и исполнение.

Задания для самостоятельного выполнения

Задание 1. Изменить права доступа на файл и зафиксировать изменения в DACL дескриптора защиты файла.

Указания к выполнению.

1. В виртуальной машине измените права доступа на файл input.txt. Для этого в свойствах файла перейдите на вкладку Security и сделайте необходимые изменения (добавьте/удалите пользователей и/или группы, измените их права):


Замечание. Для осуществления некоторых действий (например, удаления пользователей) может потребоваться отказаться от наследования прав доступа объекта родителя (папки). Для этого нажмите кнопку Advanced – снимите флажок Allow inheritable permissions… – в появившемся окне нажмите кнопку Copy:


2. Просмотрите дескриптор безопасности файла, повторив действия из задания 7 основной части работы.

Задание 2. Исследовать функцию SeAccessCheck.

Указания к выполнению.

1. Выполните трассировку функции SeAccessCheck, пользуясь материалом лекции 9 "Безопасность в Windows" и документацией WRK.

Задание 3. Исследовать расположение в памяти структуры SECURITY_DESCRIPTOR.

Указания к выполнению.

1. Выясните расположение в памяти структуры SECURITY_DESCRIPTOR, пользуясь информацией, изложенной в задании 7 данной лабораторной работы, материалом лекции 9 "Безопасность в Windows", документацией WRK и статьей MSDN "SECURITY_DESCRIPTOR"4http://msdn.microsoft.com/en-us/library/cc230366(v=prot.10).aspx.

< Лекция 9 || Самостоятельная работа 5: 123 || Лекция 10 >
Фанис Гильманов
Фанис Гильманов
Россия, г. Нижнекамск
chunhu wu
chunhu wu
Аргентина, jhkh jk k