Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Организация контроля доступа в ОС Windows NT/2000/ХР




 

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

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

Все объекты хранятся в древовидных иерархических структурах, эле­ментами ко­торых являются объекты-ветви (каталоги) и объекты-листья (файлы). Для объ­ектов файловой системы такая схема отношений является прямым отражением иерархии каталогов и файлов. Для объектов других ти­пов иерархическая схема отношений имеет свое содержание, например, для процессов она отражает связи «родитель-потомок», а для устройств отражает принадлежность к определенно­му типу устройств и связи устройства с дру­гими устройствами, например SCSI-контроллера с дисками.

Проверка прав доступа для объектов любого типа выполняется центра­лизованно с помощью монитора безопасности (Security Reference Monitor), работающего в привилегированном режиме. Централизация функций кон­троля доступа повы­шает надежность средств защиты информации операци­онной системы по срав­нению с распределенной реализацией, когда в различ­ных модулях ОС имеются свои процедуры проверки прав доступа и вероят­ность ошибки программиста от этого возрастает.

Для системы безопасности Windows NT характерно наличие большого количест­ва различных предопределенных (встроенных) субъектов досту-па – как отдель­ных пользователей, так и групп. Так, в системе всегда имеются та­кие пользовате­ли, как Administrator, System и Guest, а также группы Users, Administrators, Account Operators, Server Operators, Everyone и другие. Смысл этих встроенных пользо­вателей и групп состоит в том, что они наделены не­которыми правами, облегчая администратору работу по созданию эффектив­ной системы разграничения до­ступа. При добавлении нового пользователя администратору остается только решить, к какой группе или группам отнести этого пользователя. Конечно, адми­нистратор может создавать новые группы, а также добавлять права к встроен­ным группам для реализации собственной политики безопасности, но во многих случаях встроенных групп оказывается вполне достаточно. Windows NT поддерживает три класса операций доступа, которые отличаются типом субъектов и объектов, участвующих в этих опе­рациях.

- Разрешения (permissions) – это множество операций, которые могут быть определены для субъектов всех типов по отношению к объектам лю­бого типа: файлам, каталогам, принтерам, секциям памяти и т. д. Разрешения по своему назначению соответствуют правам доступа к файлам и каталогам в ОС UNIX.

- Права (user rights) –определяются для субъектов типа группа на вы­полнение некоторых системных операций: установку системного времени, архивирова­ние файлов, выключение компьютера и т. п. В этих операциях участвует осо­бый объект доступа — операционная система в целом. В ос­новном именно права, а не разрешения отличают одну встроенную группу пользователей от другой. Некоторые права у встроенной группы являются также встроенны­ми – их у данной группы нельзя удалить. Остальные права встроенной груп­пы можно удалять (или добавлять из общего списка прав).

- Возможности пользователей (user abilities) определяются для отдель­ных пользо­вателей на выполнение действий, связанных с формирова­нием их операци­онной среды, например изменение состава главного меню программ, возмож­ность пользоваться пунктом меню Run (выполнить) и т. п.

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

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

Проверка разрешений доступа процесса к объекту производится в Win­dows NT в основном в соответствии с общей схемой доступа. При входе пользователя в систему для него создается так назы­ваемый токен доступа (access token), включающий идентификатор пользова­теля и идентифи­каторы всех групп, в которые входит пользователь. В токене также имеются: спи­сок управления доступом (ACL) по умолчанию, который состоит из разрешений и применяется к создаваемым процессом объектам; список прав пользователя на выполнение системных действий.

Все объекты, включая файлы, потоки, события, даже токены доступа, когда они создаются, снабжаются дескриптором безопасности. Дескриптор безопасности содержит список управления доступом – ACL. Владелец объ­екта, обычно поль­зователь, который его создал, обладает правом избиратель­ного управления досту­пом к объекту и может изменять ACL объекта, чтобы позволить или не позволить другим осуществлять доступ к объекту. Встро­енный администратор Windows NT в отличие от суперпользователя UNIX может не иметь некоторых разрешений на доступ к объекту. Для реализации этой возможности идентификаторы адми­нистратора и группы администрато­ров могут входить в ACL, как и идентифи­каторы рядовых пользователей. Однако администратор все же имеет возмож­ность выполнить любые опера­ции с любыми объектами, так как он всегда может стать владельцем объекта, а затем уже как владелец получить полный набор раз­решений. Однако вер­нуть владение предыдущему владельцу объекта админист­ратор не может, поэтому пользователь всегда может узнать о том, что с его фай­лом или принте­ром работал администратор.

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

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

Обобщенно формат списка управления доступом можно представить в виде набора идентификаторов пользователей и групп пользователей, в котором для каждого идентификатора указывается набор разрешенных операций над объектом (рис. 7.29). Говорят, что список ACL состоит из элементов управления доступом (Access Control Element, АСЕ), при этом каждый элемент соответствует одному идентификатору. Список ACL с добавленным к нему идентификатором владельца называют характеристиками безопасности.

 

 Рис. 7.29. Проверка прав доступа

 

 В приведенном на рисунке примере процесс, который выступает от имени пользователя с идентификатором 3 и групп с идентификаторами 14, 52 и 72, пытается выполнить операцию записи (W) в файл. Файлом владеет пользователь с идентификатором 17. Операционная система, получив запрос на запись, находит характеристики безопасности файла (на диске или в буферной системной области) и последовательно сравнивает все идентификаторы процесса с идентификатором владельца файла и идентификаторами пользователей и групп в элементах АСЕ. В данном примере один из идентификаторов группы, от имени которой выступает процесс, а именно 52, совпадает с идентификатором одного из элементов АСЕ. Так как пользователю с идентификатором 52 разрешена операция чтения (признак W имеется в наборе операций этого элемента), то ОС разрешает процессу выполнение операции.

Для смены в некоторых ситуациях процессом своих идентификаторов в Win­dows NT используется механизм олицетворения (impersonation).В Windows NT существуют простые субъекты и субъекты-серверы. Простой субъ­ект – это про­цесс, которому не разрешается смена токена доступа и соответ­ственно смена иден­тификаторов. Субъект-сервер — это процесс, который работает в качестве сервера и обслуживает процессы своих клиентов (напри­мер, процесс файлового серве­ра). Поэтому такому процессу разрешается по­лучить токен доступа у процесса-клиента, запросившего у сервера выполне­ния некоторого действия, и использо­вать его при доступе к объектам.

В Windows NT однозначно определены правила, по которым вновь соз­даваемо­му объекту назначается список ACL. Если вызывающий код во время создания объекта явно задает все права доступа к вновь создаваемому объ­екту, то система безопасности приписывает этот ACL объекту.

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

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

Наследование разрешений употребляется наиболее часто при создании нового объекта. Особенно оно эффективно при создании файлов, так как эта операция выполняется в системе наиболее часто.

В Windows NT администратор может управлять доступом пользователей к ката­логам и файлам только в разделах диска, в которых установлена фай­ловая систе­ма NTFS. Разделы FAT не поддерживаются средствами защиты Windows NT, так как в FAT у файлов и каталогов отсутствуют атрибуты для хранения спи­сков управления доступом. Доступ к каталогам и файлам кон­тролируется за счет установки соответствующих разрешений.

Разрешения в Windows NT бывают индивидуальные и стандартные. Ин­диви­дуальные разрешения относятся к элементарным операциям над катало­гами и файлами, а стандартные разрешения являются объединением несколь­ких инди­видуальных разрешений.

В табл. 3 показано шесть индивидуальных раз­решений (элементарных операций), смысл которых отличается для каталогов и файлов.

Таблица 3

Разрешение Для каталога Для файла
Read (R)   Чтение имен файлов и ката­логов, входящих в данный ка­талог, а также атрибутов и владельца ката­лога Чтение данных, атрибутов, имени владельца и разреше­ний файла
Write (W)   Добавление файлов и катало­гов, изменение атрибутов ка­талога, чтение владельца и разрешений каталога Чтение владельца и разреше­ний файла, измене­ние атрибу­тов файла, изме­нение и добавление данных файла
Execute (X)   Чтение атрибутов каталога, вы­полнение изменений в ка­талогах, входящих в данный каталог, чте­ние имени вла­дельца и разрешений ката­лога Чтение атрибутов файла, име­ни владельца и разреше­ний. Выполнение файла, если он хранит код про­граммы
Delete (D) Удаление каталога Удаление файла
Change Permission (P) Изменение разрешений каталога Изменение разрешений файла
Take Ownership (О) Стать владельцем каталога Стать владельцем файла

 

Для файлов в Windows NT определено четыре стандартных разрешения: No Access, Read, Change и Full Control, которые объединяют индивидуальные раз­решения, перечисленные в табл. 4.

Разрешение Full Control отличается от Change тем, что дает право на из­мене­ние разрешений (Change Permission) и вступление во владение файлом (Take Ownership).

Таблица 4

Стандартное разрешение Индивидуальные разрешения
No Access Ни одного
Read RX
Change RWXD
Full Control Все

 

Для каталогов в Windows NT определено семь стандартных разрешений: No Access, List, Read, Add, Add&Read, Change и Full Control. В табл. 5 показано соответствие стандартных разрешений индивидуальным разрешениям для каталогов, а также то, каким образом эти стандартные раз­решения преобра­зуются в индивидуальные разрешения для файлов, входя­щих в каталог в том случае, если файлы наследуют разрешения каталога.

 

Таблица 4

Стандартные разрешения Индивидуальные разреше­ния для каталога Индивидуальные разрешения для файлов каталога при наследовании
No Access Ни одного Ни одного
List RX Не определены
Read RX RX
Add WX Не определены
Add & Read RWX RX
Change RWXD RWXD
Full Control Все Все

 

При создании файла он наследует разрешения от каталога указанным способом только в том случае, если у каталога установлен признак наследо­вания его раз­решений. Стандартная оболочка Windows NT – Windows Ex­plorer не позво­ляет установить такой признак для каждого разрешения от­дельно (то есть задать маску наследования), управляя наследованием по принципу «все или ничего». Существует ряд правил, которые определяют действие разрешений.

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

Разрешения имеют накопительный эффект, за исключением разреше­ния No Access, которое отменяет все остальные имеющиеся разре­шения. Например, если группа Engineering имеет разрешение Change для ка­кого-то файла, а группа Finance имеет для этого файла только разрешение Read и Петров яв­ляется членом обеих групп, то у Петрова будет разрешение Change. Однако если разрешение для группы Finance изменится на No Ac­cess, то Петров не сможет использовать этот файл, несмотря на то, что он член группы, которая имеет доступ к файлу.

По умолчанию в окнах Windows Explorer находят свое отражение стан­дартные права, а переход к отражению индивидуальных прав происходит только при вы­полнении некоторых действий. Это стимулирует администра­тора и пользовате­лей к использованию тех наборов прав, которые разработ­чики ОС посчитали наиболее удобными.

Реестр Windows 2000

Реестр Windows 2000 состоит из пяти так называемых корневых разделов (root keys):

HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_ MACHINE, HKEY_USERS и HKEY_CURRENT_CONFIG.

Каждый раздел может содержать элементы данных, которые называются параметрами (value entries), а также вложенные разделы (subkeys). Для понимания этой концепции можно провести аналогию с файловой системой. Разделы в структуре реестра аналогичны каталогам, а значимые элементы — файлам. Все имена корневых разделов начинаются со строки HKEY_, что указывает разработчикам программного обеспечения на то, что это — дескриптор, который может использоваться программой. Дескриптор (handle) — это значение, используемое для уникального описания ресурса, к которому программа может получить доступ. Описания корневых разделов реестра Windows NT/2000 приведены в табл. 5.

Таблица 5.Корневые разделы реестра

Имя корневого раздела Описание
HKEY_LOCAL_MACHINE Содержит глобальную информацию о компьютерной системе, включая такие данные об аппаратных средствах и операционной системе, в том числе: тип шины, системная память, драйверы устройств и управляющие данные, используемые при запуске системы. Информация, содержащаяся в этом разделе, действует применительно ко веем пользователям, регистрирующимся в системе Windows NT/2000. На верхнем уровне иерархии реестра для этого раздела имеются три псевдонима: HKEY CLASSES ROOT, HKEY CURRENT CONFIG и HKEY_DYN_DATA 
HKEY_CLASSES_ROOT Содержит ассоциации между приложениями и типами файлов (по расширениям имени файла). Кроме того, этот раздел содержит информацию OLE (Object Linking and Embedding), ассоциированную с объектами COM, а также данные по ассоциациям файлов и классов (эквивалент реестра ранних версий. Windows, служивших настройкой над MS-DOS). Параметры этого раздела совпадают с параметрами, расположенными в разделе HKEY_LOCAL_MACHINE\Software\Classes.
HKEY_CURRENT_CONFIG Содержит конфигурационные данные для текущего аппаратного профиля. Аппаратные профили представляют собой наборы изменений, внесенных в стандартную конфигурацию сервисов и устройств, установленную данными разделов Software и System корневого раздела HKEY_LOCAL_MACHINE. В разделе HKEY_CURRENT_ CONFIG отражаются только изменения. Кроме того, параметры этого раздела появляются также в разделе HKEY_LOCAL_MACHINE\System \CurentControlSet\HardwareProfites\CuiTent
HKEY_CURRENT_USER Содержит, профиль пользователя, на данный момент зарегистрировавшегося в системе, включая переменные окружения, настройку рабочего стола, параметры настройки сети, принтеров и приложений. Этот раздел представляет собой ссылку на раздел HKEY USERS\username, где username — имя пользователя, зарегистрировавшегося в системе на текущий момент
HKEY_USERS Содержит все активно загруженные пользовательские профили, включая HKEY_CURRENT_USER, а также профиль по умолчанию. Пользователи, получающие удаленный доступ к серверу, не имеют профилей, содержащихся в этом разделе; их профили загружаются в реестры на их собственных компьютерах. Windows NT/2000 требует наличия учетных записей для каждого пользователя, регистрирующегося в системе. Раздел HKEY_USERS содержит вложенный раздел \Default, а также другие разделы, определяемые идентификатором безопасности (Security ID) каждого пользователя

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

В Windows NT/2000 элементы реестра хранятся в виде атомарной структуры. Реестр подразделяется на составные части, которые разработчики этой операционной системы назвали кустами, или ульями (hives) по аналогии с ячеистой структурой пчелиного улья. Куст представляет собой дискретную совокупность разделов, вложенных разделов и параметров, берущую начало в вершине иерархии реестра. Отличие кустов от других групп разделов состоит в том, что они являются постоянными компонентами реестра. Кусты не создаются динамически при загрузке операционной системы и не удаляются при ее остановке. Таким образом, раздел HKEY_LOCAL_MACHINE \Hardware, который строится динамически распознавателем аппаратных средств при запуске Windows NT/2000, кустом не является. Данные кустов реестра хранятся в файлах, находящихся в каталогах %SystemRoot%\System32\Config и %SystemRoot%\Profiles\Username (Windows NT 4.0) и %SystemRoot%\System32\Config и %SystemDrive%\Documents and Settings\Username (Windows 2000).

Каждый куст реестра Windows NT/2000 ассоциирован с набором стандартных файлов), В табл.6 перечислены стандартные кусты реестра Windows NT/2000 и поддерживающие их файлы.

Таблица 6.Стандартные файлы, обеспечивающие поддержку кустов реестра Windows NT

Ветвь реестра Имена файлов
HKEY_LOCAL_MACHINE\SAM Sam, Sam. log, Sam.sav
HKEY_LOCAL_MACHINE\Security Security, Security.log, Security.sav
HKEY_LOCAL_MACHINE\Software Software, Software.log, Software.sav
HKEY_LOCAL_MACHINE\System System, System. alt, System.log, System. sav
HKEY_CURRENT_CONFIG System, System.alt, System.log, System. sav
HKEY_USERS\.DEFAULT Default, Default.log, Default.sav
(Файлы, не ассоциированные, с разделами) Userdiff, Userdiff.bg
HKEY_CURRENT_USER Ntuser.dat, Ntuser.dat.log

Все файлы кустов реестра, за исключением HKEY_CURRENT_USER, находятся в подкаталоге %SystemRoot%\System32\Cofig.

Поддержку куста HKEY_CURRENT_USER выполняют файлы Ntuser.dat и Ntuser.dat.log. В файлах Ntuser.dat хранятся пользовательские профили; файл Ntuser.dat.log отслеживает изменения, которые вносились в файл Ntuser.dat. В Windows NT 4.0 эти файлы располагаются во всех подкаталогах каталога %SystemRoot%\Profiles (за исключением подкаталога \All Users). В Windows 2000 эти файлы располагаются в каталогах % SystemDrive %\Documents and\Settings \%Username%.

Файлы Ntuser и Userdiff были впервые введены в Windows NT 4.0:

· файл Ntuser.dat, в котором хранится пользовательский профиль, заменил собой файлы usemamexxx и adminxxx из предыдущих версий Windows NT;

· файл Ntuser.dat из каталога %SystemRoot%\Profiles\DefaultUser заменил собой файл Userdef из предыдущих версий Windows NT. Этот профиль используется для построения куста HKEY_CURRENT_USER, когда новый пользователь впервые регистрируется в системе;

· файлы Userdiff, которые находятся только в каталоге %SystemRoot% \System32\Config, не ассоциируются ни с одним кустом. Они служат для обновления существующих профилей пользователей, использовавшихся в предыдущих версиях Windows NT, таким образом, чтобы эти профили могли применяться в Windows NT 4.6 и последующих версиях (Windows 2000).

 










Последнее изменение этой страницы: 2018-05-10; просмотров: 264.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...