Реализация защиты в Windows 2000

 

Защита в автономной системе Windows 2000 реализуется при помощи нескольких компонентов. Регистрацией в системе управляет программа winlogon, а аутентификацией занимаются Isass и msgina.dll. Результатом успешной регистрации в системе является новая оболочка с ассоци­ированным с ней маркером доступа. Этот процесс использует в реестре ключи SECURITY и SAM. Первый ключ определяет общую политику безопасности, а вто­рой ключ содержит информацию о защите для индивидуальных пользователей.

Как только пользователь регистрируется в системе, выполняется операция защиты при открытии объекта. Для каждого вызова ОрепХХХ требуется имя откры­ваемого объекта и набор прав доступа к нему. Во время обработки процедуры от­крытия объекта менеджер безопасности проверяет наличие у вызы­вающего процесса соответствующих прав доступа. Для этого он просматривает все маркеры доступа вызывающего процесса, а также список DACL, ассоциированный с объектом. Он просматривает по очереди элементы списка ACL. Как только он находит запись, соответствующую идентификатору SID вызывающего процесса или одной из его групп, поиск прав доступа считается законченным. Если вызыва­ющий процесс обладает необходимыми правами, объект открывается, в противном случае в открытии объекта отказывается.

Помимо разрешающих записей, списки DACL могут также содержать запре­щающие записи. Поскольку менеджер безопасности прекращает поиск, наткнув­шись на первую запись с указанным идентификатором, запрещающие записи по­мещаются в начало списка DACL, чтобы пользователь, которому строго запрещен доступ к какому-либо объекту, не смог получить его как член какой-либо группы, которой этот доступ предоставлен.

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