Политика безопасности ос
Адекватная политика безопасности;
Административные меры защиты
Защиту ОС невозможно обеспечить только аппаратно-программными средствами. Нужна постоянная квалифицированная поддержка со стороны администратора. Без постоянной квалифицированной поддержки со стороны администратора, даже самая надежная ПАЗИ оборачивается фикцией. Основными административными мерами защиты являются следующие:
1. Постоянный контроль корректности функционирования ОС, особенно подсистемы ее защиты. Регистрация событий, ведение логов и контроль логов.
2. Постоянное исследование и корректирование политики безопасности. После установки программных продуктов, атак и т.д.
3. Инструктирование пользователей ОС о необходимости соблюдения мер безопасности при работе с ОС и контроль за соблюдением этих мер.
4. Регулярное создание и обновление резервных копий программ и данных ОС.
5. Постоянный контроль изменений в файлах конфигурации данных и политике безопасности ОС.
Задача обеспечения адекватной политики безопасности – одна из наиболее важных задач администратора. Это достаточно трудная задача.
Существует некоторое противоречие — чем лучше защищена ОС, тем труднее с ней работать пользователям и администраторам. Это обусловлено следующими факторами.
1. Неинтеллектуальная СЗИ не всегда способна определить, является ли некоторое действие пользователя злонамеренным. Поэтому зачастую она не пресекает некоторые виды НСД, либо запрещает легальные действия. Чем выше защищенность, тем шире класс легальных действий, которые система запрещает. Например, если некоторому пользователю запрещено создавать файлы на ЖД, то этот пользователь не сможет запустить ни одну программу, для которой необходимо создавать временные файлы. С точки зрения рассматриваемой политики без-ти, создание временного файла является НСД, и в том, что оно пресекается ошибки нет. Просто в данной ПБ класс НСД настолько широк, что это препятствует нормальной работе пользователя с ОС.
2. Чем больше в системе защитных функций, тем больше времени и средств нужно тратить на поддержание защиты. Некоторые пользователи установят UNIX и думают, что защищены. Однако, защищенность UNIX требует долгого и упорного труда администратора.
3. Потребление системой защиты аппаратных ресурсов компьютера. Чем сложнее защитные функции, тем больше требуется для поддержания их процессорного времени, тем меньше ресурсов для прикладных программ. В некоторых случаях подсистема защиты может потреблять более половины ресурсов компьютера (сервера безопасности).
4. Поддержание слишком жесткой политики безопасности может негативно сказаться на надежности функционирования ОС. (WIN NT – отказ от выполнения определенных программ). В некоторых случаях ошибки в организации политики трудно выявить. Пример – если запретить псевдопользователю SYSTEM, от имени которого выполняются системные процессы, доступ к исполняемым файлам системных процессов, ОС не сможет загрузиться. Таким образом, чрезмерная ПБ привела к краху ОС. В других случаях, подобная ПБ может приводить к трудно выявляемым ошибкам и сбоям в процессе функционирования.
Таким образом, при определении адекватной политики безопасности не следует путаться достигнуть максимально возможного уровня защищенности ОС. Необходимо стремиться к оптимуму – не слишком малой защищенности, но и не к чрезмерному ужесточению мер, чтобы это не влияло на работу в системе. При определении адекватной политики необходимо руководствоваться кругом решаемых задач. Не существует адекватной политики безопасности на все случаи жизни. Адекватность определятся кругом решаемых задач, архитектурой ОС, ее конфигурацией, прикладными программами, аппаратными возможностями.
Большинство современных ОС достаточно универсальны и могут применяться для решения самых различных задач. Одна и та же система при соответствующей настройке может использоваться для обеспечения функционирования автоматизированной банковской системы, WEB-сервера, системы электронного документооборота. Так как угрозы безопасности для всех трех применений ОС различны, то адекватная ПБ в каждом случае будет своя.
Определение и поддержание адекватной политики безопасности ОС в общем случае можно разделить на ряд этапов.
1.Анализ угроз. Среди возможных угроз выделяются наиболее опасные, защите от которых нужно уделять максимум сил и средств.
2. Формирование требований к политике безопасности. В данном случае администратор определяет, какие средства и методы будут применяться для защиты от тех или иных угроз. Например, защиту от НСД можно решать либо криптографическими средствами, либо используя средства разграничения доступа, либо соответствующую аппаратуру. Одновременно – анализ побочных эффектов. Администратор должен выбрать оптимальный метод.
3. Формальное определение политики безопасности. Здесь администратор конкретно формулирует, как должны реализовываться требования к защите. Достаточно ли средств ОС, или необходима установка дополнительных пакетов защиты. В последнем случае выбирается требуемое ПО. Необходимо предусмотреть порядок внесения необходимых изменений в политику безопасности в чрезвычайных ситуациях, например, при попытке несанкционированного входа. Результатом данного этапа является развернутый перечень настроек конфигурации ОС и дополнительных пакетов защиты с указанием того, в каких ситуациях, какие настройки должны быть выставлены.
4. Претворение в жизнь политики безопасности.
5. Поддержание и коррекция политики безопасности. Например, изменение политики при установление нового продукта.
Адекватная политика безопасности
Выбор и поддержание адекватной политики безопасности являются одной из наиболее важных задач администратора ОС. Если принятая в ОС политика безопасности неадекватна, то это может привести к НСД злоумышленника к ресурсам системы и к снижению надежности функционирования ОС.
Известно утверждение: чем лучше защищена ОС, тем труднее с ней работать пользователям и администраторам. Это обусловлено следующими факторами:
• система защиты не всегда способна определить, является ли некоторое действие пользователя злонамеренным. Поэтому система защиты либо не пресекает некоторые виды НСД, либо запрещает некоторые вполне легальные действия пользователей. Чем выше защищенность системы, тем шире класс тех легальных действий пользователей, которые рассматриваются подсистемой защиты как несанкционированные;
• любая система, в которой предусмотрены функции защиты информации, требует от администраторов определенных усилий, направленных на поддержание адекватной политики безопасности. Чем больше в ОС защитных функций, тем больше времени и средств нужно тратить на поддержание защиты;
• подсистема защиты ОС, как и любой другой программный пакет, потребляет аппаратные ресурсы компьютера. Чем сложнее устроены защитные функции ОС, тем больше ресурсов компьютера (процессорного времени, оперативной памяти и др.) затрачивается на поддержание функционирования подсистемы защиты и тем меньше ресурсов остается на долю прикладных программ;
• поддержание слишком жесткой политики безопасности может негативно сказаться на надежности функционирования ОС. Чрезмерно жесткая политика безопасности может привести к трудно выявляемым ошибкам и сбоям в процессе функционирования ОС и даже к ее краху.
Оптимальная адекватная политика безопасности — это такая политика безопасности, которая не только не позволяет злоумышленникам выполнять несанкционированные действия, но и не приводит к описанным выше негативным эффектам.
Адекватная политика безопасности определяется не только архитектурой ОС, но и ее конфигурацией, установленными прикладными программами и т. д. Формирование и поддержание адекватной политики безопасности ОС можно разделить на ряд этапов.
1. Анализ угроз. Администратор ОС рассматривает возможные угрозы безопасности данного экземпляра ОС. Среди возможных угроз выделяются наиболее опасные, защите от которых нужно уделять максимум средств.
2. Формирование требований к политике безопасности. Администратор определяет, какие средства и методы будут применяться для защиты от тех или иных угроз. Например, защиту от НСД к некоторому объекту ОС можно решать либо средствами разграничения доступа, либо криптографическими средствами, либо используя некоторую комбинацию этих средств.
3. Формальное определение политики безопасности. Администратор определяет, как конкретно должны выполняться требования, сформулированные на предыдущем этапе. Формулируются необходимые требования к конфигурации ОС, а также требования к конфигурации дополнительных пакетов защиты, если установка таких пакетов необходима. Результатом данного этапа является развернутый перечень настроек конфигурации ОС и дополнительных пакетов защиты с указанием того, в каких ситуациях, какие настройки должны быть установлены.
4. Претворение в жизнь политики безопасности. Задачей данного этапа является приведение конфигурации ОС и дополнительных пакетов защиты в соответствие с политикой безопасности, формально определенной на предыдущем этапе.
5. Поддержание и коррекция политики безопасности. В задачу администратора на данном этапе входит контроль соблюдения политики безопасности и внесение в нее необходимых изменений по мере появления изменений в функционировании ОС.
Специальных стандартов защищенности ОС не существует. Для оценки защищенности ОС используются стандарты, разработанные для компьютерных систем вообще. Как правило, сертификация ОС по некоторому классу защиты сопровождается составлением требований к адекватной политике безопасности, при безусловном выполнении которой защищенность конкретного экземпляра ОС будет соответствовать требованиям соответствующего класса защиты.
Определяя адекватную политику безопасности, администратор ОС должен в первую очередь ориентироваться на защиту ОС от конкретных угроз ее безопасности.
Основные компоненты системы безопасности ОС Windows
В данной лекции будут рассмотрены вопросы структуры системы безопасности, особенности ролевого доступа и декларируемая политика безопасности системы.
Система контроля дискреционного доступа — центральная концепция защиты ОС Windows, однако перечень задач, решаемых для обеспечения безопасности, этим не исчерпывается. В данном разделе будут проанализированы структура, политика безопасности и API системы защиты.
Изучение структуры системы защиты помогает понять особенности ее функционирования. Несмотря на слабую документированность ОС Windows по косвенным источникам можно судить об особенностях ее функционирования.
Рис. 14.1. Структура системы безопасности ОС Windows
Система защиты ОС Windows состоит из следующих компонентов (см. рис. 14.1).
· Процедура регистрации (Logon Processes), которая обрабатывает запросы пользователей на вход в систему. Она включают в себя начальную интерактивную процедуру, отображающую начальный диалог с пользователем на экране, и удаленные процедуры входа, которые позволяют удаленным пользователям получить доступ с рабочей станции сети к серверным процессам Windows NT. Процесс Winlogon реализован в файле Winlogon.exe и выполняется как процесс пользовательского режима. Стандартная библиотека аутентификации Gina реализована в файле Msgina.dll.
· Подсистема локальной авторизации (Local Security Authority, LSA), которая гарантирует, что пользователь имеет разрешение на доступ в систему. Этот компонент — центральный для системы защиты Windows NT. Он порождает маркеры доступа, управляет локальной политикой безопасности и предоставляет интерактивным пользователям аутентификационные услуги. LSA также контролирует политику аудита и ведет журнал, в котором сохраняются сообщения, порождаемые диспетчером доступа. Основная часть функциональности реализована в Lsasrv.dll.
· Менеджер учета (Security Account Manager, SAM), который управляет базой данных учета пользователей. Эта база данных содержит информацию обо всех пользователях и группах пользователей. Данная служба реализована в Samsrv.dll и выполняется в процессе Lsass.
· Диспетчер доступа (Security Reference Monitor, SRM), проверяющий, имеет ли пользователь право на доступ к объекту и на выполнение тех действий, которые он пытается совершить. Этот компонент обеспечивает легализацию доступа и политику аудита, определяемые LSA. Он предоставляет услуги для программ супервизорного и пользовательского режимов, чтобы гарантировать, что пользователи и процессы, осуществляющие попытки доступа к объекту, имеют необходимые права. Данный компонент также порождает сообщения службы аудита, когда это необходимо. Это компонент исполнительной системы: Ntoskrnl.exe.
Все компоненты активно используют базу данных Lsass, содержащую параметры политики безопасности локальной системы, которая хранится в разделе HKLMSECURITY реестра.
Как уже говорилось во введении, реализация модели дискреционного контроля доступа связана с наличием в системе одного из ее важнейших компонентов — монитора безопасности. Это особый вид субъекта, который активизируется при каждом доступе и в состоянии отличить легальный доступ от нелегального и не допустить последний. Монитор безопасности входит в состав диспетчера доступа (SRM), который, согласно описанию, обеспечивает также управление ролевым и привилегированным доступом.
Политика безопасности
При оценке степени защищенности операционных систем действует нормативный подход, в соответствии с которым совокупность задач, решаемых системой безопасности, должна удовлетворять определенным требованиям — их перечень определяется общепринятыми стандартами. Система безопасности ОС Windows отвечает требованиям класса C2 «оранжевой» книги [1] и требованиям стандарта Common Criteria, которые составляют основу политики безопасности системы. Политика безопасности подразумевает ответы на следующие вопросы: какую информацию защищать, какого рода атаки на безопасность системы могут быть предприняты, какие средства использовать для защиты каждого вида информации.
Требования, предъявляемые к системе защиты, таковы
1. Каждый пользователь должен быть идентифицирован уникальным входным именем и паролем для входа в систему. Доступ к компьютеру предоставляется лишь после аутентификации. Должны быть предприняты меры предосторожности против попытки применения фальшивой программы регистрации (механизм безопасной регистрации).
2. Система должна быть в состоянии использовать уникальные идентификаторы пользователей, чтобы следить за их действиями (управление избирательным или дискреционным доступом). Владелец ресурса (например, файла) должен иметь возможность контролировать доступ к этому ресурсу.
3. Управление доверительными отношениями. Необходима поддержка наборов ролей (различных типов учетных записей). Кроме того, в системе должны быть средства для управления привилегированным доступом.
4. ОС должна защищать объекты от повторного использования. Перед выделением новому пользователю все объекты, включая память и файлы, должны быть проинициализированы.
5. Системный администратор должен иметь возможность учета всех событий, относящихся к безопасности (аудит безопасности).
6. Система должна защищать себя от внешнего влияния или навязывания, такого, как модификация загруженной системы или системных файлов, хранимых на диске.
Надо отметить, что, в отличие от большинства операционных систем, ОС Windows была изначально спроектирована с учетом требований безопасности, и это является ее несомненным достоинством. Посмотрим теперь, как в рамках данной архитектуры обеспечивается выполнение требований политики безопасности.
Ролевой доступ. Привилегии
Понятие привилегии
С целью гибкого управления системной безопасностью в ОС Windows реализовано управление доверительными отношениями (trusted facility management), которое требует поддержки набора ролей (различных типов учетных записей) для разных уровней работы в системе. Надо сказать, что эта особенность системы отвечает требованиям защиты уровня B «оранжевой» книги, то есть более жестким требованиям, нежели перечисленные в разделе «Политика безопасности». В системе имеется управление привилегированным доступом, то есть функции администрирования доступны только одной группе учетных записей — Administrators (Администраторы.).
В соответствии со своей ролью каждый пользователь обладает определенными привилегиями и правами на выполнение различных операций в отношении системы в целом, например, право на изменение системного времени или право на создание страничного файла. Аналогичные права в отношении конкретных объектов называются разрешениями. И права, и привилегии назначаются администраторами отдельным пользователям или группам как часть настроек безопасности. Многие системные функции (например, LogonUser и InitiateSystemShutdown ) требуют, чтобы вызывающее приложение обладало соответствующими привилегиями.
Каждая привилегия имеет два текстовых представления: дружественное имя, отображаемое в пользовательском интерфейсе Windows, и программное имя, используемое приложениями, а также Luid — внутренний номер привилегии в конкретной системе. Помимо привилегий в Windows имеются близкие к ним права учетных записей. Привилегии перечислены в файле WinNT.h, а права — в файле NTSecAPI.h из MS Platform SDK. Чаще всего работа с назначением привилегий и прав происходит одинаково, хотя и не всегда. Например, функция LookupPrivelegeDisplayName, преобразующая программное имя в дружественное, работает только с привилегиями.
Ниже приведен перечень программных и отображаемых имен привилегий (права в отношении системы в данном списке отсутствуют) учетной записи группы с административными правами в ОС Windows 2000.
1. SeBackupPrivilege (Архивирование файлов и каталогов)
2. SeChangeNotifyPrivilege (Обход перекрестной проверки)
3. SeCreatePagefilePrivilege (Создание страничного файла)
4. SeDebugPrivilege (Отладка программ)
5. SeIncreaseBasePriorityPrivilege (Увеличение приоритета диспетчирования)
6. SeIncreaseQuotaPrivilege (Увеличение квот)
7. SeLoadDriverPrivilege (Загрузка и выгрузка драйверов устройств)
8. SeProfileSingleProcessPrivilege (Профилирование одного процесса)
9. SeRemoteShutdownPrivilege (Принудительное удаленное завершение)
10. SeRestorePrivilege (Восстановление файлов и каталогов)
11. SeSecurityPrivilege (Управление аудитом и журналом безопасности)
12. SeShutdownPrivilege (Завершение работы системы)
13. SeSystemEnvironmentPrivilege (Изменение параметров среды оборудования)
14. SeSystemProfilePrivilege (Профилирование загруженности системы)
15. SeSystemtimePrivilege (Изменение системного времени)
16. SeTakeOwnershipPrivilege (Овладение файлами или иными объектами)
17. SeUndockPrivilege (Извлечение компьютера из стыковочного узла)
Важно, что даже администратор системы по умолчанию обладает далеко не всеми привилегиями. Это связано с принципом предоставления минимума привилегий (см. лекцию 15 ). В каждой новой версии ОС Windows, в соответствии с этим принципом, производится ревизия перечня предоставляемых каждой группе пользователей привилегий, и общая тенденция состоит в уменьшении их количества. С другой стороны общее количество привилегий в системе растет, что позволяет проектировать все более гибкие сценарии доступа.
Внутренний номер привилегии используется для специфицирования привилегий, назначаемых субъекту, и однозначно связан с именами привилегии. Например, в файле WinNT.h это выглядит так:
#define SE_SHUTDOWN_NAME TEXT(«SeShutdownPrivilege»)
Управление привилегиями
Назначение и отзыв привилегий — прерогатива локального администратора безопасности LSA (Local Security Authority), поэтому, чтобы программно назначать и отзывать привилегии, необходимо применять функции LSA. Локальная политика безопасности системы означает наличие набора глобальных сведений о защите, например, о том, какие пользователи имеют право на доступ в систему, а также о том, какими они обладают правами. Поэтому говорят, что каждая система, в рамках которой действует совокупность пользователей, обладающих определенными привилегиями в отношении данной системы, является объектом политики безопасности. Объект политики используется для контроля базы данных LSA. Каждая система имеет только один объект политики, который создается администратором LSA во время загрузки и защищен от несанкционированного доступа со стороны приложений.
Использование функций LSA начинается с получения описателя объекта политики ( PolicyHandle ) при помощи функции LsaOpenPolicy, которая открывает описатель объекта на локальной или удаленной машине. Имя целевого компьютера передается функции в качестве одного из параметров. После завершения работы с объектом политики необходимо его закрыть, вызвав функцию LsaClose(PolicyHandle).
Управление привилегиями пользователей включает в себя задачи перечисления, задания, удаления, выключение привилегий и ряд других. Извлечь перечень привилегий конкретного пользователя можно, например, из маркера доступа процесса, порожденного данным пользователем. Там же, в маркере, можно отключить одну или несколько привилегии. О том, как это сделать, будет рассказано позже. Однако формировать список привилегий можно только при помощи LSA API.
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).
Папиллярные узоры пальцев рук — маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни.
Настраиваем локальную политику безопасности в Windows 7
Политика безопасности представляет собой набор параметров для регулирования безопасности ПК, путем их применения к конкретному объекту или к группе объектов одного класса. Большинство пользователей редко производят изменения данных настроек, но бывают ситуации, когда это нужно сделать. Давайте разберемся, как выполнить данные действия на компьютерах с Виндовс 7.
Варианты настройки политики безопасности
Прежде всего, нужно отметить, что по умолчанию политика безопасности настроена оптимально для выполнения повседневных задач рядового юзера. Производить манипуляции в ней нужно только в случае возникновения необходимости решить конкретный вопрос, требующий корректировки данных параметров.
Изучаемые нами настройки безопасности регулируются с помощью GPO. В Виндовс 7 сделать это можно, используя инструменты «Локальная политика безопасности» либо «Редактор локальных групповых политик». Обязательным условием является вход в профиль системы с полномочиями администратора. Далее мы рассмотрим оба этих варианта действий.
Способ 1: Применение инструмента «Локальная политика безопасности»
Прежде всего, изучим, как решить поставленную задачу с помощью инструмента «Локальная политика безопасности».
- Чтобы запустить указанную оснастку, щелкните «Пуск» и перейдите в «Панель управления».
Далее откройте раздел «Система и безопасности».
Из предложенного набора системных инструментов выберите вариант «Локальная политика безопасности».
Также оснастку можно запустить и через окно «Выполнить». Для этого наберите Win+R и введите следующую команду:
Затем щелкните «OK».
Указанные выше действия приведут к запуску графического интерфейса искомого инструмента. В подавляющем большинстве случаев возникает необходимость откорректировать параметры в папке «Локальные политики». Тогда нужно щелкнуть по элементу с этим наименованием.
В данном каталоге располагается три папки.
В директории «Назначение прав пользователя» определяются полномочия отдельных пользователей или групп юзеров. Например, можно указать, запрет или разрешение для отдельных лиц или категорий пользователей на выполнение конкретных задач; определить, кому разрешен локальный доступ к ПК, а кому только по сети и т.д.
В каталоге «Политика аудита» указываются события, предназначенные для записи в журнале безопасности.
В папке «Параметры безопасности» указываются разнообразные административные настройки, которые определяют поведение ОС при входе в неё как локально, так и через сеть, а также взаимодействие с различными устройствами. Без особой необходимости данные параметры изменять не стоит, так как большинство соответствующих задач можно решить через стандартную настройку учетных записей, родительский контроль и разрешения NTFS.
Читайте также: Родительский контроль в Windows 7
Для дальнейших действий по решаемой нами задаче щелкните по наименованию одного из указанных выше каталогов.
Откроется перечень политик выбранного каталога. Кликните по той из них, которую желаете изменить.
После этого откроется окошко редактирования политики. Его вид и действия, которые необходимо произвести, существенно отличаются от того, к какой именно категории она принадлежит. Например, для объектов из папки «Назначение прав пользователя» в открывшемся окне необходимо добавить или удалить имя конкретного пользователя либо группы юзеров. Добавление производится путем нажатия кнопки «Добавить пользователя или группу…».
Если же необходимо произвести удаление элемента из выбранной политики, то выделите его и нажмите «Удалить».
Мы описали изменение настроек безопасности на примере действий в папке «Локальные политики», но по такой же аналогии можно производить действия и в других каталогах оснастки, например в директории «Политики учетных записей».
Способ 2: Использование инструмента «Редактор локальной групповой политики»
Настроить локальную политику можно также при помощи оснастки «Редактор локальной групповой политики». Правда, данный вариант доступен не во всех редакциях Windows 7, а только в Ultimate, Professional и Enterprise.
- В отличие от предыдущей оснастки, данный инструмент нельзя запустить через «Панель управления». Его можно активировать только путем введения команды в окно «Выполнить» или в «Командную строку». Наберите Win+R и введите в поле такое выражение:
Затем щелкните «OK».
Читайте также: Как исправить ошибку «gpedit.msc не найден» в Windows 7
Откроется интерфейс оснастки. Перейдите в раздел «Конфигурация компьютера».
Далее щелкните по папке «Конфигурация Windows».
Теперь щелкните по элементу «Параметры безопасности».
Откроется директория с уже знакомыми нам по предыдущему методу папками: «Политики учетных записей», «Локальные политики» и т.д. Все дальнейшие действия проводятся по точно такому же алгоритму, который указан при описании Способа 1, начиная с пункта 5. Единственное отличие состоит в том, что манипуляции будут выполняться в оболочке другого инструмента.
Настроить локальную политику в Виндовс 7 можно путем использования одной из двух системных оснасток. Порядок действий в них довольно схожий, отличие заключается в алгоритме доступа к открытию данных инструментов. Но изменять указанные настройки рекомендуем только тогда, когда вы полностью уверены, что это нужно сделать для выполнения определенной задачи. Если же таковой нет, эти параметры лучше не корректировать, так как они отрегулированы на оптимальный вариант повседневного использования.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Структура системы защиты. Привилегии
Основные компоненты системы безопасности ОС Windows
В данной лекции будут рассмотрены вопросы структуры системы безопасности, особенности ролевого доступа и декларируемая политика безопасности системы.
Система контроля дискреционного доступа — центральная концепция защиты ОС Windows , однако перечень задач, решаемых для обеспечения безопасности, этим не исчерпывается. В данном разделе будут проанализированы структура, политика безопасности и API системы защиты.
Изучение структуры системы защиты помогает понять особенности ее функционирования. Несмотря на слабую документированность ОС Windows по косвенным источникам можно судить об особенностях ее функционирования.
Система защиты ОС Windows состоит из следующих компонентов (см. рис. 14.1).
- Процедура регистрации (Logon Processes), которая обрабатывает запросы пользователей на вход в систему. Она включают в себя начальную интерактивную процедуру, отображающую начальный диалог с пользователем на экране, и удаленные процедуры входа, которые позволяют удаленным пользователям получить доступ с рабочей станции сети к серверным процессам Windows NT. Процесс Winlogon реализован в файле Winlogon.exe и выполняется как процесс пользовательского режима. Стандартная библиотека аутентификации Gina реализована в файле Msgina.dll.
- Подсистема локальной авторизации (Local Security Authority, LSA ), которая гарантирует, что пользователь имеет разрешение на доступ в систему. Этот компонент — центральный для системы защиты Windows NT. Он порождает маркеры доступа, управляет локальной политикой безопасности и предоставляет интерактивным пользователям аутентификационные услуги. LSA также контролирует политику аудита и ведет журнал, в котором сохраняются сообщения, порождаемые диспетчером доступа. Основная часть функциональности реализована в Lsasrv.dll.
- Менеджер учета (Security Account Manager , SAM), который управляет базой данных учета пользователей. Эта база данных содержит информацию обо всех пользователях и группах пользователей. Данная служба реализована в Samsrv.dll и выполняется в процессе Lsass.
- Диспетчер доступа (Security Reference Monitor, SRM ), проверяющий, имеет ли пользователь право на доступ к объекту и на выполнение тех действий, которые он пытается совершить. Этот компонент обеспечивает легализацию доступа и политику аудита, определяемые LSA . Он предоставляет услуги для программ супервизорного и пользовательского режимов, чтобы гарантировать, что пользователи и процессы, осуществляющие попытки доступа к объекту, имеют необходимые права. Данный компонент также порождает сообщения службы аудита, когда это необходимо. Это компонент исполнительной системы: Ntoskrnl.exe.
Все компоненты активно используют базу данных Lsass, содержащую параметры политики безопасности локальной системы, которая хранится в разделе HKLMSECURITY реестра.
Как уже говорилось во введении, реализация модели дискреционного контроля доступа связана с наличием в системе одного из ее важнейших компонентов — монитора безопасности. Это особый вид субъекта, который активизируется при каждом доступе и в состоянии отличить легальный доступ от нелегального и не допустить последний. Монитор безопасности входит в состав диспетчера доступа ( SRM ), который, согласно описанию, обеспечивает также управление ролевым и привилегированным доступом.
Политика безопасности
При оценке степени защищенности операционных систем действует нормативный подход, в соответствии с которым совокупность задач, решаемых системой безопасности, должна удовлетворять определенным требованиям — их перечень определяется общепринятыми стандартами. Система безопасности ОС Windows отвечает требованиям класса C2 «оранжевой» книги [ DoD ] и требованиям стандарта Common Criteria , которые составляют основу политики безопасности системы. Политика безопасности подразумевает ответы на следующие вопросы: какую информацию защищать, какого рода атаки на безопасность системы могут быть предприняты, какие средства использовать для защиты каждого вида информации.
Требования, предъявляемые к системе защиты, таковы
- Каждый пользователь должен быть идентифицирован уникальным входным именем и паролем для входа в систему. Доступ к компьютеру предоставляется лишь после аутентификации. Должны быть предприняты меры предосторожности против попытки применения фальшивой программы регистрации (механизм безопасной регистрации).
- Система должна быть в состоянии использовать уникальные идентификаторы пользователей, чтобы следить за их действиями (управление избирательным или дискреционным доступом). Владелец ресурса (например, файла) должен иметь возможность контролировать доступ к этому ресурсу.
- Управление доверительными отношениями. Необходима поддержка наборов ролей (различных типов учетных записей). Кроме того, в системе должны быть средства для управления привилегированным доступом.
- ОС должна защищать объекты от повторного использования. Перед выделением новому пользователю все объекты, включая память и файлы, должны быть проинициализированы.
- Системный администратор должен иметь возможность учета всех событий, относящихся к безопасности ( аудит безопасности ).
- Система должна защищать себя от внешнего влияния или навязывания, такого, как модификация загруженной системы или системных файлов, хранимых на диске.
Надо отметить, что, в отличие от большинства операционных систем, ОС Windows была изначально спроектирована с учетом требований безопасности, и это является ее несомненным достоинством. Посмотрим теперь, как в рамках данной архитектуры обеспечивается выполнение требований политики безопасности.
Ролевой доступ. Привилегии
Понятие привилегии
С целью гибкого управления системной безопасностью в ОС Windows реализовано управление доверительными отношениями (trusted facility management), которое требует поддержки набора ролей (различных типов учетных записей) для разных уровней работы в системе. Надо сказать, что эта особенность системы отвечает требованиям защиты уровня B «оранжевой» книги, то есть более жестким требованиям, нежели перечисленные в разделе «Политика безопасности». В системе имеется управление привилегированным доступом, то есть функции администрирования доступны только одной группе учетных записей — Administrators (Администраторы.).
В соответствии со своей ролью каждый пользователь обладает определенными привилегиями и правами на выполнение различных операций в отношении системы в целом, например, право на изменение системного времени или право на создание страничного файла. Аналогичные права в отношении конкретных объектов называются разрешениями. И права, и привилегии назначаются администраторами отдельным пользователям или группам как часть настроек безопасности. Многие системные функции (например, LogonUser и InitiateSystemShutdown ) требуют, чтобы вызывающее приложение обладало соответствующими привилегиями.
Каждая привилегия имеет два текстовых представления: дружественное имя, отображаемое в пользовательском интерфейсе Windows, и программное имя, используемое приложениями, а также Luid — внутренний номер привилегии в конкретной системе. Помимо привилегий в Windows имеются близкие к ним права учетных записей. Привилегии перечислены в файле WinNT.h, а права — в файле NTSecAPI.h из MS Platform SDK. Чаще всего работа с назначением привилегий и прав происходит одинаково, хотя и не всегда. Например, функция LookupPrivelegeDisplayName , преобразующая программное имя в дружественное, работает только с привилегиями.
Ниже приведен перечень программных и отображаемых имен привилегий (права в отношении системы в данном списке отсутствуют) учетной записи группы с административными правами в ОС Windows 2000.
- SeBackupPrivilege (Архивирование файлов и каталогов)
- SeChangeNotifyPrivilege (Обход перекрестной проверки)
- SeCreatePagefilePrivilege (Создание страничного файла)
- SeDebugPrivilege (Отладка программ)
- SeIncreaseBasePriorityPrivilege (Увеличение приоритета диспетчирования)
- SeIncreaseQuotaPrivilege (Увеличение квот)
- SeLoadDriverPrivilege (Загрузка и выгрузка драйверов устройств)
- SeProfileSingleProcessPrivilege (Профилирование одного процесса)
- SeRemoteShutdownPrivilege (Принудительное удаленное завершение)
- SeRestorePrivilege (Восстановление файлов и каталогов)
- SeSecurityPrivilege (Управление аудитом и журналом безопасности)
- SeShutdownPrivilege (Завершение работы системы)
- SeSystemEnvironmentPrivilege (Изменение параметров среды оборудования)
- SeSystemProfilePrivilege (Профилирование загруженности системы)
- SeSystemtimePrivilege (Изменение системного времени)
- SeTakeOwnershipPrivilege (Овладение файлами или иными объектами)
- SeUndockPrivilege (Извлечение компьютера из стыковочного узла)
Важно, что даже администратор системы по умолчанию обладает далеко не всеми привилегиями. Это связано с принципом предоставления минимума привилегий (см. «Отдельные аспекты безопасности Windows» ). В каждой новой версии ОС Windows, в соответствии с этим принципом, производится ревизия перечня предоставляемых каждой группе пользователей привилегий, и общая тенденция состоит в уменьшении их количества. С другой стороны общее количество привилегий в системе растет, что позволяет проектировать все более гибкие сценарии доступа.
Внутренний номер привилегии используется для специфицирования привилегий, назначаемых субъекту, и однозначно связан с именами привилегии. Например, в файле WinNT.h это выглядит так: