лекция№10 (1088440), страница 3
Текст из файла (страница 3)
-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, добиться того, чтобы поиск операционной системой исполняемых модулей для загрузки начинался с личной директории пользователя. Если затем пользователь поместит в эту директорию под именем одной из системных библиотек программную закладку, при первом же обращении операционной системы к данной библиотеке данная программная закладка будет запущена с полномочиями системного процесса.
- Привилегия отлаживать программы позволяет пользователю обращаться к любому процессу по любому методу доступа. В частности, программа, запущенная таким пользователем, может изменить произвольным образом содержимое адресного пространства любого процесса операционной системы, что предоставляет такому пользователю практически неограниченные полномочия.
- Привилегия загружать и выгружать драйверы и сервисы позволяет пользователю выполнять произвольный код от имени и с правами операционной системы (псевдопользователя SYSTEM). Пользователь может внедрять в операционную систему программные закладки под видом драйверов и сервисов. Учитывая, что драйверы устройств Windows NT могут игнорировать большинство защитных функций операционной системы, эта привилегия дает обладающему ею субъекту практически неограниченные полномочия.