Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Средства достижения безопасности в ОС Windows 2000



ОС Windows NT была разработана так, чтобы соответствовать уровню С2 требований безопасности Министерства обороны США (DoD 5200.28 - STD) [37]. Этот стандарт требует наличия у операционных систем определенных свойств по обеспечению надежности для выполнения военных задач определенного рода.

Windows 2000 унаследовала от NT множество свойств безопасности, включая следующие: 1. Безопасная регистрация в системе с мерами предосторожности против попыток­применения фальшивой программы регистрации.

2. Дискреционное управление доступом.

3. Управление привилегированным доступом.

4. Защита адресного пространства для каждого процесса. 5. Обнуление страниц перед выделением их процессу. 6. Аудит безопасности. Безопасная регистрация означает, что системный администратор может потребовать от всех пользователей наличия пароля для входа в систему. Программа, имитирующая регистрацию в системе, использовалась ранее на некоторых системах злоумышленникамис целью выведать пароль пользователя. В ОС Windows 2000 подобный обман пользователя невозможен, так как пользователь для входа в систему должен нажать комбинацию клавиш CTRL + ALT + DEL. Эта комбинация всегда перехватывается драйвером клавиатуры, который вызывает законную программу регистрации. Дискреционное управление доступом позволяет владельцу файла или другого объекта указать, кто может пользоваться объектом и каким образом. Средства управления привилегированным доступом позволяют системному администратору получать доступ к объекту, несмотря на установленные его владельцем разрешения доступа. Под защитой адресного пространства понимается то, что у каждого процесса есть свое защищенное виртуальное адресное пространство, недоступное для любого неавторизованного процесса. Обнуление страниц перед выделением их процессу означает, что при увеличении стека выделяемые для него страницы заранее обнуляются, так что процесс не может обнаружить в них информации, помещенной предыдущим владельцем страницы. Аудит безопасности следует понимать как регистрацию системой в журнале­определенных событий, относящихся к безопасности (для действий и анализа системным администратором).­У каждого пользователя (и группы) ОС Windows 2000 есть идентификатор безопасности SID (Security IDentifier), по которому операционная система отличает его от других пользователей. SID представляют собой двоичные числа с коротким заголовком, за которым следует длинный случайный компонент. Каждый SID должен быть уникален в пределах всей планеты. Когда пользователь запускает процесс, этот процесс и его потоки работают под идентификатором пользователя. Система безопасности гарантирует предоставление доступа к каждому объекту только потокам с авторизованными идентификаторами безопасности. У каждого процесса есть маркер доступа, в котором указываются SID и другие свойства. Как правило, он назначается при регистрации в системе процедурой Winlogon. Структура маркера показана на рис. 7.11.­

Чтобы получить эту информацию, процесс должен вызвать функцию GetTokenlnformation, так как информация может измениться со временем. Заголовок содержит некоторую административную информацию. По значению срока действия можно определить, когда маркер перестанет быть действительным. Поле Группы (Groups) указывает группы, к которым принадлежит процесс. Это поле необходимо для соответствия требованиям стандарта POSIX. Поле Default DACL (DACL по умолчанию, Discretionary Access Control List - список разграничительного контроля доступа) представляет собой список управления доступом, назначаемый объектам, созданным процессом, если не определены другие списки ACL. Идентификатор безопасности пользователя указывает пользователя, владеющего процессом. Ограниченные идентификаторы SID позволяют ненадежным процессам принимать участие в заданиях вместе с надежными процессами, но с меньшими полномочиями и меньшими возможностями причинения ущерба. Перечисленные в маркере привилегии дают процессу особые полномочия, такие как право выключить компьютер или получить доступ к файлам, к которым в противном случае в этом доступе процессам было бы отказано. Привилегии позволяют развить полномочия системного администратора на отдельные права, которые могут предоставляться процессам по отдельности. Таким образом, пользователю может быть предоставлена часть полномочий суперпользователя. Когда пользователь регистрируется в системе, процесс winlogon назначает маркер доступа начальному процессу. Последующие процессы наследуют этот маркер. Он же изначально применяется ко всем потокам процесса. Однако поток во время выполнения может получить другой маркер доступа. В этом случае маркер доступа потока перекрывает маркер доступа процесса. В частности, клиентский поток может передать свой маркер доступа серверному потоку, чтобы сервер мог получить доступ к защищенным файлам и другим объектам клиента. Такой механизм называется перевоплощением. Другим основным понятием безопасности является дескриптор защиты. У каждого объекта есть ассоциированный с ним дескриптор защиты, содержащий список пользователей и групп, имеющих доступ к данному объекту. Дескриптор защиты состоит из заголовка, за которым следует список DACL с одним или несколькими элементами АСЕ (Access Control Entry - элемент списка контроля доступа). Два основных типа элементов списка - это разрешение и запрет доступа. Разрешающий элемент содержит SID пользователя или группы и битовый массив, определяющий набор операций, который процессы с данным идентификатором SID могут выполнять с определенным объектом. Запрещающий элемент работает аналогично, но совпадение идентификаторов означает, что обращающийся процесс не может выполнять перечисленные операции. Кроме списка DACL у дескриптора защиты есть список SACL (System Access Control List - системный список контроля доступа), который похож на DACL, только вместо пользователей и групп, имеющих доступ к объекту, в нем перечислены операции с этим объектом, регистрируемые в специальном журнале. В основе большей части механизмов управления доступом в Windows 2000 лежат дескрипторы защиты. Как правило, когда процесс создает объект, он передает функции CreateProcess, CreateFile или другой функции в качестве одного из параметров дескриптор защиты. Этот дескриптор защиты затем становится дескриптором защиты, при­соединенным к объекту. Если при создании объекта не предоставляется дескриптор за-­щиты, используется дескриптор защиты вызывающего процесса по умолчанию.­Для управления дескрипторами защиты существует множество вызовов Win32 API.­Чтобы создать дескриптор защиты, для него выделяется место хранения, после чего он­инициализируется с помощью вызова InitializeSecurityDescriptor. Этот вызов заполняет­заголовок. Если SID владельца неизвестен, он может быть найден по имени при помощи­вызова LookupAccountSid. Затем он может быть вставлен в дескриптор защиты. То же­самое справедливо для SID группы, если группа существует. Как правило, используется­SID вызывающего процесса, а также SID одной из групп вызывающего процесса, но сис-­темный администратор может записать в дескриптор защиты любой SID.­Список DACL или SACL дескриптора защиты может быть проинициализирован­при помощи функции InitializeAcl. Элементы списка ACL могут бытьдобавлены с­помощью функций AddAccessAllowedAce и AddAccessDeniedAce.­К этим вызовам можно обращаться многократно, чтобы добавить столько записей­ACL, сколько необходимо. Удаление записи происходит при помощи функции­DeleteAce. Когда список ACL готов, его можно присоединить к дескриптору защиты с­помощью функции SetSekurityDescriptor Dacl. Наконец, когда объект создан, к нему­можно присоединить дескриптор защиты.­Защита в автономной системе Windows 2000 реализуется при помощи нескольких­компонентов. Регистрацией в системе управляет программа winlogon, а аутентифика-­цией - lsass и msgina.dll. Результатом успешной регистрации в системе является новая­оболочка с ассоциированным с ней маркером доступа. Этот процесс использует в реест-­ре ключи SECURITY и SAM. Первый ключ определяет общую политику безопасности,­а второй ключ содержит информацию о защите для индивидуальных пользователей.­Как только пользователь регистрируется в системе, выполняется операция защиты­при открытии объекта. Для каждого вызова ОрепХХХ требуются имя открываемого­объекта и набор прав доступа к нему. Во время обработки процедуры открытия объекта­менеджер безопасности проверяет наличие у вызывающего процесса соответствующих­прав доступа. Для этого он просматривает все маркеры доступа вызывающего процесса,­а также список DACL, ассоциированный с объектом. Он просматривает по очереди эле-­менты списка ACL. Как только он находит запись, соответствующую идентификатору SID вызывающего процесса или одной из его групп, поиск прав доступа считается законченным. Если вызывающий процесс обладает необходимыми правами, объект открывается, в противном случае в открытии объекта отказывается. Помимо разрешающих записей списки DACL могут также содержать запрещающие записи. Поскольку менеджер безопасности прекращает поиск, найдя первую запись с указанным идентификатором, запрещающие записи помещаются в начало списка DACL, чтобы пользователь, которому строго запрещен доступ к какому-либо объекту, не смог получить его как член какой-либо группы, которой этот доступ предоставлен. После того как объект открыт, дескриптор объекта возвращается вызывающему процессу. При последующих обращениях проверяется только, входит ли данная операция в число операций, разрешенных в момент открытия объекта, чтобы, например, не допустить записи в файл, открытый только для чтения.





Дата публикования: 2014-11-04; Прочитано: 375 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...