Подсистема безопасности в Windows NT/2000 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Подсистема безопасности в Windows NT/2000



Подсистема безопасности NT представляет собой сложную комбинацию тесно связанных между собой "зон ответственности", таких, как политика учетных записей, права пользователей, политики аудита, списки контроля доступа, административные полномочия и системные службы.

Архитектура NT – с точки зрения безопасности.

Структурно Windows NT может быть представлена в виде двух частей: часть операционной системы, работающая в режиме пользователя, и часть операционной системы, работающая в режиме ядра (рис. 42).

 

Рис. 42. Схема архитектуры ОС Windows NT

Часть Windows NT, работающая в режиме ядра, называется executive - исполнительной частью. Она включает ряд компонент, которые управляют виртуальной памятью, объектами (ресурсами), вводом-выводом и файловой системой (включая сетевые драйверы), взаимодействием процессов и частично системой безопасности. Эти компоненты взаимодействуют между собой с помощью межмодульной связи. Каждая компонента вызывает другие с помощью набора тщательно специфицированных внутренних процедур.

Вторую часть Windows NT, работающую в режиме пользователя, составляют серверы - так называемые защищенные подсистемы. Серверы Windows NT называются защищенными подсистемами, так как каждый из них выполняется в отдельном процессе, память которого отделена от других процессов системой управления виртуальной памятью NT executive. Так как подсистемы автоматически не могут совместно использовать память, они общаются друг с другом посредством посылки сообщений. Сообщения могут передаваться как между клиентом и сервером, так и между двумя серверами. Все сообщения проходят через исполнительную часть Windows NT. Ядро Windows NT планирует нити защищенных подсистем точно так же, как и нити обычных прикладных процессов.

Поддержку защищенных подсистем обеспечивает исполнительная часть - Windows NT executive, которая работает в пространстве ядра и никогда не сбрасывается на диск. Ее составными частями являются:

-Менеджер объектов. Создает, удаляет и управляет объектами NT executive - абстрактными типами данных, используемых для представления ресурсов системы.

-Монитор безопасности. Устанавливает правила защиты на локальном компьютере. Охраняет ресурсы операционной системы, выполняет защиту и регистрацию исполняемых объектов.

-Менеджер процессов. Создает и завершает, приостанавливает и возобновляет процессы и нити, а также хранит о них информацию.

-Менеджер виртуальной памяти.

-Подсистема ввода-вывода.

Исполнительная часть основывается на службах нижнего уровня, предоставляемых ядром NT, в функции которого входит:

-планирование процессов;

-обработка прерываний и исключительных ситуаций;

-синхронизация процессоров для многопроцессорных систем;

-восстановление системы после сбоев.

Система безопасности Windows 2000 состоит из множества компонентов, предоставляющих возможность обеспечения безопасности работы с данными в любой точке сети, начиная с хранения информации в файлах на дисках серверов и рабочих станций и заканчивая средствами обеспечения гарантированного уровня безопасности при передаче данных по сети путем использования механизмов виртуальных частных сетей (VPN). Сейчас Windows 2000 содержит более 40 различных интегрированных между собой механизмов безопасности, каждый из которых может быть расширен разработчиками для учета особенностей применения этой ОС в сети своего предприятия.

1). Файловая система NTFS 5.0. Эта версия файловой системы является объектно-ориентированным хранилищем данных, представляемых в виде привычных для пользователя объектов — файлов и каталогов. В NTFS 5.0 теперь можно хранить потенциально любую информацию и в любых форматах представления. Реализуются эти возможности за счет появления в файловой системе нового механизма Reparse points (повторный грамматический анализ). Reparse points — это объекты, которые могут быть связаны с файлами или каталогами, и описывают правила хранения и обработки информации, хранящейся в нестандартном для файловой системы виде. С использованием этого механизма в NTFS уже реализованы механизмы шифрации данных и механизмы монтирования томов (представление любого тома в виде каталога на другом диске — возможность создания виртуальной файловой системы, состоящей только из файлов и каталогов на любой рабочей станции или сервере).

При попытке открытия выбранного пользователем файла (или каталога), запрос на чтение данных передается приложением ядру ОС. Ядро, анализируя свойства выбранного файла и обнаруживая связанный с ним объект Reparse points, анализирует хранящуюся в этом объекте информацию (в этом и состоит суть названия механизма — повторный грамматический анализ). Объект Reparse points, по сути, содержит ссылку на специальный драйвер, создаваемый любым разработчиком. Этот драйвер и определяет реальный формат хранения данных на томах NTFS. При попытке открытия файла управление передается созданному разработчиком модулю, который и считывает данные с диска в известном ему формате. Поэтому с появлением этого нового механизма любой разработчик имеет возможность обеспечить безопасность и удобство хранения данных для своего специфического приложения.

Еще одним новшеством файловой системы NTFS 5.0 стали обновленные механизмы разграничения прав доступа и появившиеся средства квотирования дискового пространства. Отныне система прав доступа обладает встроенными механизмами наследования, позволяющими с большой степенью удобства выполнять разграничение полномочий в файловых системах с большим количеством уровней вложенности каталогов. В составе Windows 2000 появился инструментарий, позволяющий описывать маски наследуемых прав для любых комбинаций каталогов, файлов и целых ветвей файловой системы. Сами права доступа стали обладать существенно большей гибкостью, не создающей путаницу из-за обилия вариантов разграничения прав.

2). Интерфейсы прикладного программирования (API) сетевой аутентификации Windows, являющиеся частью SSPI (Security Support Provider Interface). Приложения и службы Windows 2000 используют SSPI для изоляции протоколов прикладного уровня от деталей протоколов сетевой безопасности. Windows 2000 поддерживает интерфейс SSPI в целях сокращения кода уровня приложений, необходимого для работы с многочисленными протоколами аутентификации. Интерфейс SSPI представляет уровень, поддерживающий различные механизмы аутентификации и шифрации, использующие протоколы с симметричными или асимметричными ключами.

SSPI — это инструмент, с помощью которого реализована вся внутренняя система безопасности Windows 2000 и ее сервисов. SSPI обеспечивает существование 3 основных механизмов сетевой безопасности: аутентификацию, гарантию целостности и конфиденциальность. Под аутентификацией понимается возможность проверки того, что полученные вами данные пришли действительно от того, чей адрес стоит в поле отправителя. Гарантия целостности подразумевает наличие набора средств, позволяющих проверить получение тех данных, которые были посланы вам. Соблюдение конфиденциальности требует, чтобы сообщение было получено и прочитано только тем пользователем, кому оно адресовано.

Аутентификация и управление доступом.

Эти функции в Windows NT выполняют (см. рис. 43):

-база данных учетных записей SAM (Security Accounts Manager);

-списки управления доступом ACL (Access Control Lists).

 

Каждая станция NT поддерживает локальную базу данных учетных записей (SAM) в реестре по адресу: HKEY LOCAL_MACH1NE\SAM. SAM содержит имена учетных записей и пароли к ним, а каждая запись - специальный уникальный идентификатор SID (Security Identifier), используемый в качестве указателя на нее другими компонентами подсистемы безопасности. Списки управления доступом (ACL) формируются отдельно для каждого защищаемого ресурса и представляют собой таблицу, в которой содержатся указатели (SID) на учетные записи SAM и права доступа, определенные для этой записи.

Рис. 43. Механизм аутентификации и управления доступом в Windows NT

Подобная система безопасности работает следующим образом:

-при входе в систему (локальном или удаленном) пользователь проходит процедуру аутентификации, т. е. сообщает системе имя и пароль своей учетной записи;

-система безопасности проверяет в SAM наличие такой учетной записи и при успешном результате формирует для пользователя так называемый маркер доступа (Access Token), содержащий указатель (SID) на пользовательскую запись. Затем система безопасности "прикрепляет" этот маркер доступа ко всем процессам, которые пользователь инициирует и которыми управляет;

-при попытке пользовательского процесса получить доступ к защищенному объекту система безопасности сравнивает его SID со списком управления доступом к объекту. Если данному указателю соответствует запись в ACL, то пользователь (вернее, пользовательский процесс) получает доступ, в противном случае в доступе будет отказано.

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

Верхний уровень. Верхний уровень подсистемы аутентификации Windows NT включает в себя процесс аутентификации WinLogon.exe и так называемые библиотеки-провайдеры или просто провайдеры - заменяемые библиотеки, реализующие большую часть высокоуровневых функций процесса аутентификации. WinLogon автоматически запускается при старте операционной системы и остается активным до выключения питания или перезагрузки. При аварийном завершении этого процесса происходит аварийное завершение работы всей операционной системы ("синий экран"). Таким образом, подменить WinLogon в процессе функционирования операционной системы практически невозможно.

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

Вход пользователя в Windows NT производится следующим образом:

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

2). Провайдер осуществляет аутентификацию, передавая имя и пароль на средний уровень подсистемы аутентификации с помощью системного вызова LogonUser. При этом, если аутентификация прошла успешно, создается маркер доступа пользователя.

3). Если маркер доступа пользователя создан успешно, провайдер осуществляет авторизацию пользователя, запуская процесс Userlnit.exe от имени аутентифицированного пользователя. Для этого используется системный вызов CreateProcessAsUser, который отличается от вызова Сге-ateProcess только тем, что запускаемому процессу назначается маркер доступа, отличный от маркера доступа процесса-родителя. В данном случае процессу Userlnit назначается только что созданный маркер доступа авторизуемого пользователя.

4). Процесс Userlnit загружает индивидуальные настройки пользователя из его профиля (profile), монтирует ключ реестра, соответствующий данному пользователю, загружает программную среду пользователя (по умолчанию в Windows NT 4.0 – Explorer) и завершает работу.

При выполнении второго этапа данной процедуры WinLogon использует привилегии псевдопользователя SYSTEM создавать маркеры доступа и выступать от имени операционной системы, а при выполнении третьего этапа - привилегию назначать процессам маркеры доступа. Таким образом, если эти привилегии не будут предоставлены псевдопользователю SYSTEM, вход пользователей в систему станет невозможен.

Средний уровень. В средний уровень подсистемы аутентификации Windows NT входят локальный распорядитель безопасности (local security authority, LSA) и так называемые пакеты аутентификации - заменяемые библиотеки, реализующие большую часть низкоуровневых функций аутентификации. Так же как и WinLogon, LSA представляет собой обычный процесс (по имени lsass.exe), выполняющийся от имени псевдопользователя SYSTEM. Аварийное завершение LSA приводит к аварийному завершению работы всей операционной системы. Как и WinLogon, LSA передоверяет большинство своих функций заменяемым библиотекам. Стандартная схема аутентификации реализуется пакетом MSV 1.0 (msv1_0.dll).

Пакет аутентификации осуществляет аутентификацию пользователя в процессе обработки системного вызова LogonUser. Аутентификация производится следующим образом:

1). Пакет аутентификации получает от верхнего уровня подсистемы аутентификации имя и пароль пользователя и генерирует образ пароля.

2). Используя услуги нижнего уровня подсистемы аутентификации, пакет аутентификации получает эталонный образ пароля и сравнивает его с образом пароля из п. 1.

3). При совпадении образов паролей LSA получает от нижнего уровня подсистемы аутентификации информацию о том, может ли данный пользователь начинать в данный момент работу с данной рабочей станцией (не устарел ли пароль, не заблокирован ли бюджет пользователя и т.д.).

4). При положительном результате проверки LSA формирует маркер доступа пользователя, получая необходимую информацию от нижнего уровня подсистемы аутентификации.

5). LSA передает сформированный маркер доступа верхнему уровню подсистемы аутентификации.

Для генерации образа пароля стандартный пакет аутентификации MSV 1.0 применяет хеш-функцию MD4. Для совместимости с более ранними версиями Windows MSV 1.0 поддерживает другой формат образа пароля. В этом случае пароль преобразуется в формат ANSI, все латинские буквы приводятся к верхнему регистру, пароль разбивается на две строки по 7 байт (если пароль короче, он дополняется нулями). Затем каждая половина пароля используется в качестве ключа при шифровании "магической" строки "KGS!@#$%" по алгоритму DES. Полученные два шифртекста по 8 байт каждый и представляют собой образ пароля.

Недостатком обоих алгоритмов генерации образа пароля является то, что ни один из них не использует маркант, и поэтому одинаковым паролям различных пользователей соответствуют одинаковые образы паролей.

Нижний уровень. Нижний уровень подсистемы аутентификации Windows NT отвечает за хранение в системе учетной информации о пользователях, в том числе и эталонных образов паролей. При аутентификации пользователя нижний уровень подсистемы аутентификации передает среднему уровню эталонный образ пароля пользователя, а при авторизации - список групп и привилегий пользователя.

При стандартной конфигурации операционной системы нижний уровень подсистемы аутентификации включает в себя систему управления списком пользователей SAM и сервис NetLogon. SAM используется для извлечения информации из реестра локального компьютера, a NetLogon - информации из реестра контроллера домена. Администраторы системы могут устанавливать и другие сервисы аналогичного назначения.

Учетная информация о пользователях хранится в ключах реестра \Registry\Machine\SAM и \Registry\Machine\SECURITY. Эталонные образы паролей хранятся зашифрованными на идентификаторе пользователя по алгоритму DES.

Подсистема управления доступом

Для просмотра и обслуживания локальных учетных записей и локальных групп необходимо открыть User Manager. С помощью этой программы осуществляется администрирование SAM, в том числе настройка политики учетных записей, прав пользователей и политики аудита.
Политика учетных записей (Account policy). Использование учетных записей определяют настройки для пароля и блокировок. Можно потребовать от пользователей соблюдать ограничения на минимальную длину пароля, регулярно менять пароли и запретить повторное их использование. Настройки блокировок снижают риск перехвата паролей со стороны злоумышленников.
Права пользователей (User rights). Права пользователя (привилегии) - это особые полномочия, которые дают возможность выполнять определенные операции на системном уровне. Например, чтобы зарегистрироваться с локальной консоли, требуется право Logon locally. В окне User Rights Policy приводится список привилегий, доступных пользователю локальной станции.

Списки контроля доступа (ACL). Для доступа к файлам и каталогам используются разрешения на объектном уровне. Каждый объект обладает списком разрешений ACL, который определяет, какие пользователи и группы имеют право обращаться к объекту и как именно. При этом разрешения (permissions) не совпадают с правами (rights). Разрешения настраиваются на объектном уровне через списки контроля доступа – ACL. Чтобы просмотреть список ACL какого-либо файла, нужно открыть Windows Explorer и обратиться к контекстному меню файла. Выбрав Properties, следует открыть вкладку Security и затем выбрать Permissions. NT назначает пользователям кумулятивный доступ на основе его принадлежности той или иной группе.

Административные полномочия (Administrative authority). Они распространяются на встроенные группы Administrators и Power Users. Члены группы Administrators могут помечать для совместного использования каталоги и принтеры, создавать и обслуживать локальные учетные записи SAM, назначать права пользователям и устанавливать политики аудита. В отличие от группы Administrators, члены Power Users не могут устанавливать политики аудита.

Стандартные типы объектов доступа в Windows NT.

1. Файловые объекты:

-файлы;

-дисковые директории - директории, расположенные на логических дисках; дисковые директории могут содержать файлы и другие дисковые директории;

-устройства - объекты, используемые для взаимодействия приложений с драйверами физических и логических устройств;

-каналы, или трубы, или пайпы (pipes), - объекты, используемые для организации взаимодействия процессов;

-почтовые ящики (mailslots) - объекты, используемые для асинхронной передачи сообщений между процессами.

2. Объектовые директории (object directories) - объекты, содержащие в себе другие объекты. В отличие от дисковых директорий объектовые директории могут содержать любые объекты. Объектовые директории являются временными объектами и хранятся только в оперативной памяти.

3. Ключи реестра (registry keys) - подмножества элементов конфигурации операционной системы.

4. Процессы - экземпляры программ, выполняющихся в данный момент на данном компьютере.

5. Потоки или нити (threads) - потоки машинных команд, последовательно выполняющиеся на процессоре. Один процесс может включать в себя несколько одновременно работающих параллельных потоков.

6. Диспетчер сервисов (service control manager) - объект Windows NT, используемый для управления сервисами.

7. Сервисы (services) - исполняемые модули, управляемые диспетчером сервисов. Сервисы используют программный интерфейс, несколько отличный от интерфейса, используемого обычными процессами и библиотеками. В программном интерфейсе Win32 к сервисам относятся как собственно сервисы, так и драйверы устройств. В "родном" программном интерфейсе ядра Windows NT управление драйверами осуществляется посредством управления соответствующими им устройствами. Таким образом, при выполнении запроса управления драйвером, инициированного из среды Win32, проверяется доступ к двум разным объектам - сервису и устройству, фактически представляющим собой единый объект-драйвер.

8. Объекты управления окнами (window-management objects, появились в версии 4.0):

-рабочие столы или рабочие поля (desktops) - совокупности взаимодействующих между собой окон; окна различных рабочих столов не могут быть видимы на экране компьютера одновременно;

-оконные станции (window stations) - совокупности рабочих столов; на разных оконных станциях могут одновременно работать разные пользователи.

9. Порты (ports) - объекты, используемые при передаче сообщений между процессами.

10. Секции разделяемой памяти (shared memory sections) или просто секции — области памяти, разделяемые между несколькими процессами.

11. Символические связи (symbolic links) - объекты, позволяющие создавать синонимы для имени объекта.

12. Маркеры доступа (access tokens) - объекты, содержащие информацию о работающих в системе пользователях и псевдопользователях.

13. Объекты синхронизации:

-события (events) - объекты, используемые при асинхронных обращениях к файловым системам и устройствам;

-пары событий (event pairs) - объекты, используемые при передаче сообщений от одного процесса к другому;

-семафоры (semaphores) - объекты, используемые для ограничения количества одновременных обращений разных потоков к одному объекту операционной системы;

-мьютексы (mutexes) - объекты, используемые для исключения одновременного доступа нескольких потоков к одному объекту операционной системы.

Файлы, дисковые директории и ключи реестра являются постоянными объектами и могут храниться на дисках компьютера. Остальные объекты являются временными и хранятся только в оперативной памяти.

Объекты, которые могут содержать другие объекты, а именно дисковые и объектовые директории, а также ключи реестра, называются контейнерами.

Windows NT позволяет прикладным и сервисным процессам создавать объекты доступа и других (нестандартных) типов. Перед созданием объекта нестандартного типа процесс должен зарегистрировать в системе данный тип объекта. Разграничение доступа субъектов к нестандартным объектам организуется в точности так же, как и к стандартным.

Субъекты доступа Windows NT.

Перечислим типы субъектов доступа, которые поддерживает операционная система Windows NT.

1). Пользователи (включая псевдопользователей). К псевдопользователям относятся следующие субъекты:

-SYSTEM - операционная система локального компьютера; этот псевдопользователь всегда входит в группу Administrators и имеет все привилегии;

-псевдопользователи с именами вида <имя_компьютера>$, где <имя_компьютера> - сетевое имя компьютера; эти псевдопользователи представляют операционные системы других компьютеров сети и используются при аутентификации рабочей станции на контроллере домена 1.

2). Группы пользователей. В Windows NT группы пользователей могут пересекаться, т.е. каждый пользователь Windows NT может входить в несколько групп. При этом для совместимости с программным интерфейсом POSIX, поддерживаемым Windows NT, среди групп, в которые входит пользователь, выделяется так называемая первичная группа, которая играет роль той единственной группы, в которую может входить пользователь в POSIX.

3). Специальные (временные) группы. В отличие от обычных групп членство пользователя в таких группах определяется операционной системой в зависимости от действий пользователя. Например, группа INTERACTIVE включает в себя пользователя, работающего с системой интерактивно, группа NETWORK - пользователей, работающих с системой через сеть, а группа DIALJJP - пользователей, работающих с системой по модему. Специальная группа не может быть объявлена первичной группой пользователя.

4). Относительные субъекты. Эти субъекты имеют смысл только в применении к объекту, для которого определяются права доступа. Существуют следующие относительные субъекты:

-CREATORJDWNER - владелец объекта;

-CREATOR_GROUP - первичная группа владельца объекта.

Относительные субъекты используются, если нужно описать права доступа пользователей к объектам по принципу "что кому принадлежит, то ему и доступно".

Следующие субъекты доступа Windows NT имеют предопределенные идентификаторы и присутствуют во всех экземплярах этой операционной системы:

-SYSTEM;

-Everyone - группа, в которую входят все пользователи и псевдопользователи;

-INTERACTIVE;

-NETWORK; DIAL_UP;

-CREATOR OWNER;

-CREATOR_GROUP.

Также существует несколько предопределенных идентификаторов, которые используются операционной системой внутренне или зарезервированы для последующих версий.

Идентификаторы остальных субъектов доступа уникальны.

При инсталляции Windows NT автоматически создает следующих предопределенных субъектов доступа:

-Administrator - администратор операционной системы;

-Guest - гость операционной системы, пользователь с минимальными правами. Если политика безопасности, принятая в операционной системе, допускает анонимный вход пользователей в систему, эти пользователи входят в систему под именем Guest;

-Administrators - группа администраторов операционной системы;

-Users - группа пользователей операционной системы. При создании нового пользователя он по умолчанию включается в эту группу;

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

-Replicator - субъект доступа, используемый при автоматической репликации файлов и ключей реестра между компьютерами домена.

Кроме того, на рабочих станциях Windows NT автоматически создается предопределенная группа Power Users, пользователи которой по умолчанию обладают несколько большими полномочиями, чем пользователи из группы Users. На серверах Windows NT группа Power Users отсутствует, однако создаются следующие предопределенные группы:

- Account Operators - группа пользователей, которые могут работать с учетными записями непривилегированных субъектов доступа;

-Print Operators - группа администраторов печати;

-Server Operators - группа операторов сервера; пользователи из этой группы по умолчанию имеют некоторые права и привилегии, недоступные обычным пользователям (выключать сервер, работать с сервером с локальной консоли и т.д.).

В доменах Windows NT существуют также предопределенные глобальные группы, общие для всех компьютеров домена:

- Domain Admins - администраторы домена;

- Domain Users - пользователи домена; при создании в домене нового пользователя он по умолчанию включается в эту группу;

-Domain Guests - гости домена.

Члены предопределенной группы Administrators могут создавать, удалять и изменять свойства любых субъектов доступа, а члены группы Account Operators - создавать, удалять и изменять свойства только непривилегированных субъектов доступа (обычных пользователей).

Методы доступа к объектам в Windows NT

Операционная система Windows NT поддерживает 22 метода доступа субъектов к объектам (для каждого типа объекта поддерживается до 16 специфичных методов).

Шесть из них представляют собой стандартные методы доступа и поддерживаются для объектов всех типов:

- удаление объекта;

- получение атрибутов защиты объекта;

- изменение атрибутов защиты объекта;

-изменение владельца объекта (субъект, изменяющий владельца объекта, может объявить новым владельцем объекта только себя).

- ACCESS_SYSTEM_SECURITY - получение и изменение параметров аудита в отношении объекта;

- SYNCHRONIZE - метод доступа, заключающийся в вызове системной функции WaitForSingleObject для данного объекта или функции WaitFor-MultipleObjects для списка объектов, включающего данный объект. Эти функции используются, когда поток должен ожидать какое-то изменение в состоянии объекта, не затрачивая на это процессорного времени. Хотя данный метод доступа определен для всех типов объектов, смысл ожидания зависит от типа объекта (обычно этот метод доступа применяется к объектам синхронизации, реже - к процессам и потокам).

Права доступа к объектам в Windows NT

1). Каждому специфичному методу доступа, поддерживаемому Windows NT, соответствует право на его осуществление. Эти права доступа называются специфичными, поскольку они специфичны для каждого типа объектов. Для каждого типа объектов может поддерживаться до 16 специфичных прав доступа.

2). Каждому стандартному методу доступа, за исключением ACCESS_SYSTEM_SECURITY, также соответствует право доступа, дающее возможность реализации соответствующего метода доступа. Такие права доступа называются стандартными.

Windows NT поддерживает также общие (generic) или отображаемые (mapped) права доступа. Поддерживаются следующие отображаемые права доступа:

- чтение (GENERIC READ);

- запись (GENERIC_WRITE);

- выполнение (GENERIC EXECUTE);

- все действия (GENERIC_ALL).

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

Например:

а). Отображаемое право на чтение объекта типа "файл" дает субъекту право выполнять доступ к объекту по следующим методам:

-чтение файла;

-получение DOS-атрибутов файла;

-получение расширенных атрибутов файла;

-получение атрибутов защиты файла;

-SYNCHRONIZE.

б). Отображаемое право на чтение объекта типа "ключ реестра" дает субъекту права осуществлять доступ к объекту по следующим методам:

-чтение значений ключа;

-перечисление подключений ключа;

-требование оповещения при доступе к ключу другого потока;

-получение атрибутов защиты ключа;

-SYNCHRONIZE.

Таким образом, отображаемое право на чтение объекта предоставляет субъекту осуществлять доступ к объекту по методам, соответствующим (как правило) интуитивному представлению о понятии "чтение". При этом конкретный набор разрешенных субъекту методов доступа определяется типом объекта. Процесс преобразования отображаемого права доступа в набор прав на реализацию методов доступа к объекту называется отображением права доступа. Отображаемые права доступа введены в подсистему разграничения доступа по следующим причинам:

-они позволяют пользователю устанавливать права доступа к объекту, ничего не зная о специфике объектов данного типа.

-для обеспечения совместимости с программный интерфейс POSIX, который поддерживает только три права доступа, определенные для всех типов объектов, - чтение, запись и выполнение.

3). Последним классом прав доступа, поддерживаемых Windows NT, являются виртуальные права доступа. Виртуальные права доступа не могут быть предоставлены субъекту, но могут быть запрошены им. Поддерживаются два виртуальных права доступа:

- MAXIMUM_ALLOWED;

- ACCESS_SYSTEM_SECURITY.

Запрашивая виртуальное право MAXIMUM_ALLOWED на доступ к объекту, субъект тем самым требует открытия объекта с максимально доступными ему правами. Это виртуальное право позволяет субъекту открыть объект с максимально доступными правами, не производя детального анализа того, какие именно права доступны данному субъекту по отношению к данному объекту. Операционная система сама проводит такой анализ в процессе проверки прав доступа субъекта к объекту.

Виртуальное право ACCESS_SYSTEM_SECURITY - это право на осуществление одноименного стандартного метода доступа, т.е. право на получение и изменение параметров аудита по данному объекту. Возможность доступа к объектам по этому методу полностью регулируется соответствующей привилегией субъекта доступа. Субъект, обладающий этой привилегией, может обращаться по методу доступа ACCESS_SYSTEM_SECURITY к любому объекту операционной системы, а субъект, не обладающий этой привилегией, не может применять данный метод доступа ни к одному объекту. Таким образом, субъект, имеющий доступ к параметрам аудита некоторого объекта, имеет доступ к параметрам аудита любого объекта операционной системы. Разрешить или запретить доступ конкретного субъекта к конкретному объекту по методу ACCESS_SYSTEM_SECURITY в Windows NT невозможно, и поэтому данное право доступа является виртуальным.

Привилегии субъектов в Windows NT

В Windows NT каждый субъект доступа обладает некоторым (возможно, пустым) набором привилегий. Привилегии представляют собой права на выполнение субъектом действий, касающихся системы в целом, а не отдельных ее объектов. Существуют следующие привилегии:

- завершать работу операционной системы и перезагружать компьютер;

- устанавливать системное время;

- анализировать производительность одного процесса;

- анализировать производительность всей операционной системы в целом;

- создавать постоянные объекты в оперативной памяти;

- создавать резервные копии информации, хранящейся на жестких дисках;

- восстанавливать информацию на жестких дисках с резервных копий;

- назначать процессам и потокам высокие приоритеты;

- изменять системные переменные среды;

- отлаживать программы;

- загружать и выгружать драйверы и сервисы (позволяет также приостанавливать и возобновлять выполнение сервисов, а также блокировать список сервисов);

- просматривать и очищать журнал аудита, получать информацию о политике аудита, изменять политику аудита и осуществлять доступ к любому объекту операционной системы по методу ACCESS_SYSTEM_SECURITY;

- объявлять себя владельцем любого объекта;

- привилегия добавлять записи в журнал аудита;

- создавать маркеры доступа; привилегия назначать процессам маркеры доступа;

- выступать как часть операционной системы; привилегия получать оповещения от файловых систем.

При входе в систему пользователь получает привилегии, предоставленные ему индивидуально, а также привилегии, предоставленные группам, в которые входит данный пользователь. Назначать привилегии субъектам доступа может только администратор. Если привилегии пользователя изменились за время его работы с системой, изменения начинают действовать только после того, как пользователь выйдет из системы и снова войдет в нее. Обычно все привилегии пользователя, кроме привилегии получать оповещения от файловых систем, выключены (disabled). Для того чтобы пользователь смог воспользоваться своей привилегией, он должен вначале ее "включить" (enable) с помощью системного вызова Ad-justTokenPrivileges. После использования привилегию рекомендуется снова выключить.

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

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

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

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

- Привилегия назначать процессам высокий приоритет позволяет пользователю "завесить" операционную систему, создав процесс с высоким приоритетом и введя его в вечный цикл.

- Пользователь, обладающий привилегией изменять системные переменные среды, может, изменив значения переменных path и windir, добиться того, чтобы поиск операционной системой исполняемых модулей для загрузки начинался с личной директории пользователя. Если затем пользователь поместит в эту директорию под именем одной из системных библиотек программную закладку, при первом же обращении операционной системы к данной библиотеке данная программная закладка будет запущена с полномочиями системного процесса.

- Привилегия отлаживать программы позволяет пользователю обращаться к любому процессу по любому методу доступа. В частности, программа, запущенная таким пользователем, может изменить произвольным образом содержимое адресного пространства любого процесса операционной системы, что предоставляет такому пользователю практически неограниченные полномочия.



Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 934; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.137.34 (0.121 с.)