Тема: Изучение политики безопасности операционной системы Windows XP
Цель: изучить систему безопасности Windows XP
Оборудование: персональный компьютер, ОС Windows XP
Вид работы: групповой
Время выполнения: 2 часа
Теоретические сведения
В операционной системы Windows XP существует единая система для идентификации, проверки подлинности, контроля доступа и записи информации о событиях связанных с безопасностью. В рамках данной архитектуры все процессы Windows XP подчиняются требованиям системы безопасности. Последняя включает в себя несколько основных компонентов (рис 1).
Рисунок 1 - Компоненты системы безопасности
Процессы входа в систему (logon processes) обрабатывают запросы пользователей о входе в систему. Сюда включается начальный интерактивный вход в систему, осуществляемый через диалоговое окно входа пользователя, и процессы удаленного входа, открывающие доступ к серверу с удаленных компьютеров.
Центральная часть системы безопасности Windows XP - Локальный администратор безопасности (Local Security Authority, LSA) - проверяет, есть ли у пользователя необходимые полномочия для входа в систему. Этот компонент создает маркеры доступа, управляет локальными правами безопасности (local security policy), обеспечивает службы интерактивной проверки подлинности. LSA также контролирует правила аудита и записывает в журнал аудита сообщения, полученные от монитора безопасности.
При старте операционной системы вначале запускается подсистема Win32, которая автоматически инициализирует процесс winlogon.exe запускающий в свою очередь Локальный администратор безопасности (Isass.exe). Лишь после этого winlogon выводит диалоговое окно Press Ctrl+Alt+DeJ to log on.
Журнал аудита (Security log) содержит записи о событиях, связанных с работой системы безопасности. Сюда может заносится информация о входах пользователей изменениях в базе учетных записей и системной политике, событиях доступа пользователей к секретным файлам.
Пакет проверки подлинности (Authentication package) проверяет подлинность пользователя. Windows XP no умолчанию использует пакет проверки подлинности MSV1_0, однако эта операционная система может поддерживать несколько таких пакетов выполненных как динамические библиотеки DLL.
Пакет MSV1_0 обращается к диспетчеру учетных записей, причем последний может находиться как на локальном, так и на удаленном компьютере, Технически это достигается разбиением пакета на две части. Одна выполняется на компьютере, где осуществляется вход пользователя, другая - на компьютере, который хранит базу учетных записей. Пакет MSV1_0 по имени домена определяет, где находится база данных учетных записей, и, если она расположена на удаленном компьютере, первая часть пакета передает запрос на удаленный компьютер, где вторая часть пакета MSV1_0 проверяет подлинность. Этот процесс; называется сквозной проверкой подлинности.
Диспетчер учетных записей (Security Account Manager, SAM) поддерживает базу данных учетных записей (Security Account Database). В ней хранятся все учетные записи пользователей и групп. Эта база является частью реестра операционной системы и недоступна обычным пользователям в ходе нормальной работы. SAM обеспечивает службы подтверждения подлинности пользователя, используемые администратором локальной безопасности.
Монитор безопасности (Security Reference Monitor, SRM) проверяет, имеет ли пользователь достаточные права для доступа к объекту. В отличие о других компонентов система безопасности он работает в режиме ядра. Компоненты ядра и пользовательские процессы обращаются к монитору безопасности, чтобы выяснить, имеют ли право пользователи и процессы получить доступ к объекту.
SRM хранит в себе весь код, ответственный за подтверждение доступа, и это единственна копия данного кода для любой системы Windows XP. Благодаря этому все проверки выполняются одинаково для всех объектов в системе.
Структура маркера доступа
При входе пользователя в систему локальный администратор безопасности LSA создает маркер доступа, содержащий важную для системы безопасности информацию. Вот как структуру маркера доступа можно представить на логическом уровне (рис. 2).
Следует отметить,- что вместо имени пользователя и групп в реальном маркере доступа указываются их идентификаторы безопасности. Точнее, маркер представляет собой структуру данных, в которой предусмотрены поля;
Поле |
Назначение |
TokenUser |
Идентификатор безопасности пользователя |
GroupCount |
Количество групп, членом которых является пользователь |
TokenGroups |
Массив идентификаторов SID групп, членом которых является пользователь |
PrivilegeCount |
Количество прав, которыми обладает пользователь |
TokenPrivileges |
Массив прав пользователя |
TokenOwner |
Указатель на SID, который будет использоваться в качестве владельца объекта, создаваемого данным процессом. Обычно он указывает на SID пользователя в поле TokenUser, однако для членов Administrators он указывает на SID группы Administrators в поле TokenGroups |
TokenPrimaryGroup |
Указатель на SID группы в поле TokenGroups, которая будет прописана в качестве первичной группы при создании какого-либо объекта (используется только подсистемой POSIX) |
TokenDefaultDad |
Указатель на список контроля доступа по умолчанию, который приписывается любому объекту, когда его создает процесс, предъявляющий данный маркер доступа |
TokenSource |
Строка из 8 символов, позволяющая узнать источник маркера доступа, например Session Manager, LAN Manager, или RPC Server. Строка позволяет разработчикам добавлять имена других компонентов, способных выдавать маркеры доступа. Эта информация используется при создании записей аудита. |
Tokenid |
Идентификатор LUID данного маркера доступа |
Authenticationid |
Идентификатор LUID сессии, в рамках которой создан данный маркер. В рамках одной сессии может быть создано много маркеров доступа |
Modifiedid |
Идентификатор LUID, характеризующий изменение контекста безопасности. Он изменяется каждый раз, когда меняется данный маркер доступа, позволяя, таким образом, определить, менялся или нет данный маркер доступа с момента последнего обращения |
ExpirationTime |
Время устаревания маркера доступа |
TokenType |
Отличает первичный маркер доступа и маркер, созданный в процессе олицетворения |
TokenImpersonationLevel |
Уровень олицетворения |
Рисунок 2 - Маркер доступа
Подобный маркер доступа связывается с каждым запускаемым пользователем процессом. Монитор безопасности использует маркер доступа при попытке процесса получить доступ к объекту. Идентификаторы безопасности из маркера доступа сравниваются с имеющимися в списке контроля доступа, связанном с объектом. Тем самым проверяются права пользователя на выполнение запрашиваемых действий.
Создание маркера доступа осуществляется вызовом процедуры NtCreateToken() и ядра Windows XP. Такой вызов может выполнить только один процесс - Локальны администратор безопасности LSA.
Объект доступа
Доступ ко всем именованным и некоторым неименованным объектам Windows XP можно контролировать. Связанная с контролем доступа информация размещается структуре данных, называемой дескриптором безопасности (security descriptor) объект Логическая структура Дескриптора безопасности показана ниже (рис. 1-8).
В зависимости от ситуации Windows NT создает абсолютный (absolute) или самодостаточный (self-relative) дескриптор безопасности. Разница между ними в том, что первом случае в дескриптор помещены только Указатели на соответствующие идентификаторы безопасности, а во втором - сами значения идентификаторов безопасности. В дескриптор безопасности включены следующие поля:
Поле |
Назначение |
Revision level |
Показывает версию данного идентификатора безопасности. |
Owner |
Идентификатор безопасности владельца объекта (owner security ID). Владелец объекта всегда может поменять разрешения доступа к объекту. |
Group |
Идентификатор безопасности группы (group security ID), используемый только подсистемой POSIX; другими подсистемами игнорируется. |
Discretionary ACL |
Дискреционный список контроля доступа. В этом списке перечислены пользователи и группы, которым разрешен или запрещен доступ к объекту. Обычно список контроля доступа устанавливает владелец объекта. |
System ACL |
Системный список контроля доступа, определяющий, какие записи аудита будут генерироваться системой. Системные списки контроля доступа устанавливает администратор. |
Control |
Набор флагов: SEOWNERDEFAULTED – SID владельца объекта получен в результате действия механизма «по умолчанию»; SEGROUPDEFAULTED – SID основной группы получен по умолчанию; SE DACL_PRESENT – в дескрипторе присутствует DACL; SEDACLDEFAULTED – DACL получен по умолчанию; SESACLPRESENT – в дескрипторе присутствует SACL; SESACLDEFAULTED – SACL был получен по умолчанию; SESELFRELATTVE – дескриптор является самодостаточным. |
Рисунок 1-8 - Дескриптор безопасности объекта, В реальном дескрипторе даются идентификаторы безопасности пользователей и групп
В реальном дескрипторе даются идентификаторы безопасности пользователей и групп.
Типы доступа, разрешения на которые могут быть даны пользователям, определяются типом объекта. Например, для принтера можно установить разрешения Manage Documents и Print, для папки - указать Read, Write, Execute и т. д.
Контроль доступа
При попытке процесса пользователя получить доступ к объекту Монитор безопасности Windows XP сравнивает информацию безопасности в маркере доступа пользователя с информацией в дескрипторе безопасности объекта,.
Основываясь на типе доступа к объекту, Windows XP создает маску запроса на доступ. Эта маска последовательно сравнивается с масками доступа, находящимися в дискреционном списке контроля доступа к объекту.
Задания к практической работе
1. Изучить теоретическую часть.
2. Выполнить задания.
3. Предоставить отчет о проделанной работе. (Отчет должен содержать:
- описание процесса регистрации пользователя в системе
- описание процесса регистрации пользователя на удаленной машине - маркер доступа
- дескриптор доступа
- Print Screen окна доступа к папке
- ответы на контрольные вопросы)
Контрольные вопросы
1. Перечислить модули, отвечающие за работу системы безопасности?
2. Что выполняет локальный администратор безопасности (LSA)?
3. Какой пакет проверки пользователя используется в Windows XP? Могут ли использоваться пакеты, разработанные независимыми поставщиками?
4. Чем занимается монитор безопасности (Security Reference Monitor, SRM)
5. Какая структура данных используется в Windows XP для однозначного определения пользователя или группы?
6. Какие преимущества дает применение идентификаторов безопасности вместо имен пользователей?
7. Какой модуль системы безопасности создает маркер доступа?
8. Что указывается в поле TokenSource?
9. Вызовом, какой процедуры осуществляется создание маркера доступа?
10. Где размещается информация, связанная с контролем доступа к объекту?
11. Какие дескрипторы безопасности может создавать Windows XP?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.