ПАЗИ 1. Место пази в системе кзи
Скачать 1.38 Mb.
|
21.Средства безопасности ОС MS Windows. Подсистема разграничения доступа.В реализацию системы безопасности Windows входят следующие компоненты и базы данных: - Монитор безопасности — Security reference monitor (SRM).Компонент, который находится в исполняющей системе Windows (%SystemRoot%\System32\Ntoskrnl.exe) и отвечает за определение структуры данных маркеров доступа для представления контекста безопасности, выполнение проверки безопасности доступа к объектам, работу с привилегиями (правами пользователей) и генерацию любых итоговых сообщений проверки безопасности. - Подсистема проверки подлинности локальной системы безопасности — Local Security Authority subsystem (LSASS).Процесс пользовательского режима запускает образ %SystemRoot%\System32\Lsass.exe, который отвечает за политику безопасности локальной системы (которая, например, определяет пользователей, обладающих правом входить в систему, политики паролей, привилегии, предоставленные пользователям и группам, и настройки проверки безопасности системы), аутентификацию пользователя и отправку сообщений проверки безопасности журналу событий (Event Log). Основная часть этих функциональных возможностей реализована в загружаемой LSASS библиотеке службы авторизации локальных пользователей — The Local Security Authority service (Lsasrv — %SystemRoot%\System32\Lsasrv.dll). - База данных политики LSASS. База данных, в которой содержатся настройки политики безопасности локальной системы. Эта база данных хранится в реестре в ACL-защищенной области в разделе HKLM\SECURITY. Она включает информацию, которая, в частности, определяет, каким доменам доверена аутентификация попыток входа в систему, у кого есть права на доступ к системе и каким образом осуществляется этот доступ (интерактивные, сетевые или служебные регистрации), кому и какие привилегии назначены и какие виды проверки безопасности следует выполнять. В базе данных политики LSASS также хранятся «секреты», включающие информацию о входе в систему, использующуюся для кэшированных входов в домены и входов в службы Windows под учетной записью пользователя. - Администратор учетных данных в системе защиты — Security Accounts Manager (SAM). Служба, отвечающая за управление базой данных, содержащей имена пользователей и определения групп на локальной машине. SAM-служба, реализованная в виде библиотеки %SystemRoot%\System32\Samsrv.dll, загружается в процесс LSASS. База данных SAM. База данных, содержащая определения локальных пользователей и групп, наряду с их паролями и другими атрибутами. На контроллерах доменов служба SAM не хранит сведений о пользователях, определенных на домене, но хранит информацию определения учетной записи и пароля системного администратора, имеющего право на восстановление системы. Эта база данных хранится в реестре в разделе HKLM\SAM. Active Directory. Служба каталогов, которая содержит базу данных, хранящую информацию об объектах в домене. Домен является совокупностью компьютеров и связанных с ними группами безопасности, которые управляются как единое целое. Active Directory сохраняет информацию об объектах в домене, куда включаются пользователи, группы и компьютеры. В Active Directory хранится информация о паролях и привилегиях для пользователей и групп домена, которая тиражируется на компьютерах, назначаемых в качестве контроллеров домена. Сервер Active Directory, реализованный в виде библиотеки %SystemRoot%\System32\Ntdsa.dll, запускается в контексте процесса LSASS. Пакеты аутентификации (Authentication packages).Включают динамически подключаемые библиотеки — dynamic-link libraries (DLL), которые запускаются как в контексте процесса LSASS, так и в контекстах клиентских процессов и реализуют имеющуюся в Windows политику аутентификации. DLL-библиотека аутентификации отвечает за аутентификацию пользователей, реализуя ее путем проверки соответствия введенного имени пользователя и пароля и возвращения процессу LSASS в случае такого соответствия информации, уточняющей детали пользовательской идентичности с точки зрения безопасности, которые используются LSASS для генерации маркера доступа. Интерактивный диспетчер входа в систему (Winlogon). Процесс пользовательского режима, в котором выполняется образ %SystemRoot%\System32\Winlogon.exe, отвечающий за реагирование на SAS и за управление интерактивными сеансами входа в систему. К примеру, Winlogon создает первый пользовательский процесс, когда пользователь входит в систему. Пользовательский интерфейс входа в систему — Logon user interface (LogonUI). Процесс пользовательского режима, выполняющий образ %System-56Root%\System32\LogonUI.exe, который предоставляет пользователям интерфейс, который может быть использован ими для самоидентификации на системе. LogonUI использует поставщиков учетных данных для запроса учетных данных пользователя с помощью различных методов. Поставщики учетных данных — Credential providers (CP). Находящиеся в процессе COM-объекты, запускающие процесс LogonUI (стартующий по запросу со стороны Winlogon при выполнении SAS) и используемые для получения имени пользователя и пароля, PIN-кода смарт-карты или биометрических данных (например, отпечатка пальца). Стандартными CP являются библиотеки %SystemRoot%\System32\authui.dll и %SystemRoot%\System32\SmartcardCredentialProvider.dll. Служба входа в сеть — Network logon service (Netlogon).Служба Windows (%SystemRoot%\System32\Netlogon.dll) устанавливает безопасный канал к контроллеру домена, по которому отправляются запросы безопасности, например интерактивный вход в систему (если на контроллере домена запущена Windows NT 4) или проверка аутентификации диспетчера LAN Manager и диспетчера NT LAN Manager (v1 и v2). Netlogon также используется для входов в систему со стороны Active Directory. Драйвер устройства безопасности ядра — Kernel Security Device Driver (KSecDD). Библиотека функций режима ядра, реализующая интерфейсы усовершенствованной системы вызова локальных процедур — advanced local procedure call (ALPC), — которые используются для обмена данными в пользовательском режиме с LSASS другими компонентами безопасности режима ядра, включая такой компонент, как шифрующая файловая система — Encrypting File System (EFS). KSecDD находится в файле %SystemRoot%\System32\Drivers\Ksecdd.sys. AppLocker. Механизм, позволяющий администраторам определять, какие исполняемые файлы, DLL-библиотеки и сценарии могут использоваться конкретными пользователями и группами. AppLocker состоит из драйвера (%SystemRoot%\System32\Drivers\AppId.sys) и службы (%SystemRoot%\System32\AppIdSvc.dll), выполняемой в процессе SvcHost. Проверки прав доступа Модель безопасности Windows требует, чтобы поток, прежде чем открыть объект, указал, какого типа действия он хочет совершить над объектом. Для выполнения проверок прав доступа, основанных на желаемом потоком доступе, диспетчер объектов вызывает SRM, и если доступ предоставляется, процессу потока назначается дескриптор, с которым поток (или другие потоки процесса) может выполнять дальнейшие операции над объектом. РАЗГРАНИЧЕНИЕ ПРАВ ДОСТУПА. Обычно полномочия субъекта представляются: списком ресурсов, доступным пользователю и правами по доступу к каждому ресурсу из списка. Существуют следующие методы разграничения доступа: -Разграничение доступа по спискам. -Использование матрицы установления полномочий. -Разграничение доступа по уровням секретности и категориям. -Парольное разграничение доступа. При разграничении доступа по спискам задаются соответствия: каждому пользователю – список ресурсов и прав доступа к ним или каждому ресурсу – список пользователей и их прав доступа к данному ресурсу. Списки позволяют установить права с точностью до пользователя. Здесь нетрудно добавить права или явным образом запретить доступ. Списки используются в подсистемах безопасности операционных систем и систем управления базами данных. Использование матрицы установления полномочий подразумевает применение матрицы доступа (таблицы полномочий). В указанной матрице строками являются идентификаторы субъектов, имеющих доступ в информационную систему, а столбцами – объекты (ресурсы) информационной системы. Каждый элемент матрицы может содержать имя и размер предоставляемого ресурса, право доступа (чтение, запись и др.), ссылку на другую информационную структуру, уточняющую права доступа, ссылку на программу, управляющую правами доступа и др. Данный метод предоставляет более унифицированный и удобный подход, т. к. вся информация о полномочиях хранится в виде единой таблицы, а не в виде разнотипных списков. Недостатками матрицы являются ее возможная громоздкость и не оптимальность (большинство клеток – пустые). Разграничение доступа по уровням секретности и категориям заключается в разделении ресурсов информационной системы по уровням секретности и категориям. При разграничении по степени секретности выделяют несколько уровней, например: общий доступ, конфиденциально, секретно, совершенно секретно. Полномочия каждого пользователя задаются в соответствии с максимальным уровнем секретности, к которому он допущен. Пользователь имеет доступ ко всем данным, имеющим уровень (гриф) секретности не выше, чем ему определен, например, пользователь имеющий доступ к данным "секретно", также имеет доступ к данным "конфиденциально" и "общий доступ". При разграничении по категориям задается и контролируется ранг категории пользователей. Соответственно, все ресурсы информационной системы разделяются по уровням важности, причем определенному уровню соответствует категория пользователей. В качестве примера, где используются категории пользователей, приведем операционную систему Windows 2000, подсистема безопасности которой по умолчанию поддерживает следующие категории (группы) пользователей: "администратор", "опытный пользователь", "пользователь" и "гость". Каждая из категорий имеет определенный набор прав. Применение категорий пользователей позволяет упростить процедуры назначения прав пользователей за счет применения групповых политик безопасности. Парольное разграничение, очевидно, представляет использование методов доступа субъектов к объектам по паролю. При этом используются все методы парольной защиты. Очевидно, что постоянное использование паролей создает неудобства пользователям и временные задержки. Поэтому указанные методы используют в исключительных ситуациях. На практике обычно сочетают различные методы разграничения доступа. Например, первые три метода усиливают парольной защитой. 22.Средства безопасности ОС MS Windows. Подсистема защиты данных.В отличие от семейства ОС Unix, где все задачи разграничительной политики доступа к ресурсам решаются средствами управления доступом к объектам файловой системы, доступ в данных ОС разграничивается собственным механизмом для каждого ресурса. Другими словами, при рассмотрении механизмов защиты ОС Windows встает задача определения и задания требований к полноте разграничений (это определяется тем, что считать объектом доступа). Также, как и для семейства ОС Unix, здесь основными механизмами защиты являются: 1) идентификация и аутентификация пользователя при входе в систему; 2) разграничение прав доступа к ресурсам, в основе которого лежит реализация дискреционной модели доступа (отдельно к объектам файловой системы, к устройствам, к реестру ОС, к принтерам и др.); 3) аудит, т.е. регистрация событий. Здесь явно выделяются (в лучшую сторону) возможности разграничений прав доступа к файловым объектам (для NTFS) - существенно расширены атрибуты доступа, устанавливаемые на различные иерархические объекты файловой системы (логические диски, каталоги, файлы). В частности, атрибут "исполнение" может устанавливаться и на каталог, тогда он наследуется соответствующими файлами. При этом существенно ограничены возможности управления доступом к другим защищаемым ресурсам, в частности, к устройствам ввода. Например, здесь отсутствует атрибут "исполнение", т.е. невозможно запретить запуск несанкционированной программы с устройств ввода. Принципиальные недостатки защитных механизмов ОС семейства Windоws (NT/2000/XP). Прежде всего рассмотрим принципиальные недостатки защиты ОС семейства Windows, напрямую связанные с возможностью НСД к информации. При этом в отличие от ОС семейства Unix в ОС Windows невозможна в общем случае реализация централизованной схемы администрирования механизмов защиты или соответствующих формализованных требований. Вспомним, что в ОС Unix это распространялось лишь на запуск процессов. Связано это с тем, что в ОС Windows принята иная концепция реализации разграничительной политики доступа к ресурсам (для NTFS). В рамках этой концепции разграничения для файла приоритетнее, чем для каталога, а в общем случае - разграничения для включаемого файлового объекта приоритетнее, чем для включающего. Это приводит к тому, что пользователь, создавая файл и являясь его "владельцем", может назначить любые атрибуты доступа к такому файлу (т.е. разрешить к нему доступ любому иному пользователю). Обратиться к этому файлу может пользователь (которому назначил права доступа "владелец") вне зависимости от установленных администратором атрибутов доступа на каталог, в котором пользователь создает файл. Данная проблема непосредственно связана с реализуемой в ОС Windows концепцией защиты информации. Далее, в ОС семейства Windows (NT /2000IXP) не в полном объеме реализуется дискреционная модель доступа, в частности, не могут разграничиваться права доступа для пользователя "Система". В ОС присутствуют не только пользовательские, но и системные процессы, которые запускаются непосредственно системой. При этом доступ системных процессов не может быть разграничен. Соответственно, все запускаемые системные процессы имеют неограниченный доступ к защищаемым ресурсам. С этим недостатком системы защиты связано множество атак, в частности, несанкционированный запуск собственного процесса с правами системного. Кстати, это возможно и вследствие не корректной реализации механизма обеспечения замкнутости программной среды. В ОС семейства Windows (NT/2000IXP) невозможно в общем случае обеспечить замкнутость (или целостность) программной среды. Это связано совершено с иными проблемами, чем в ОС семейства Unix, в которых невозможно установить атрибут "исполнение" на каталог. Для выяснения сложности данного вопроса рассмотрим два способа, которыми в общем случае можно реализовать данный механизм, причем оба способа не состоятельны. Итак, механизм замкнутости программной среды в общем случае может быть обеспечен: - заданием списка разрешенных к запуску процессов с предоставлением возможности пользователям запускать процессы только из этого списка. При этом процессы задаются полнопутевыми именами, причем средствами разграничения доступа обеспечивается невозможность их модернизации пользователем. Данный подход просто не реализуется встроенными в ОС механизмами; - разрешением запуска пользователями программ только из заданных каталогов при невозможности модернизации этих каталогов. Одним из условий корректной реализации данного подхода является запрет пользователям запуска программ иначе, чем из соответствующих каталогов. Некорректность реализации ОС Windows данного подхода связана с невозможностью установки атрибута "исполнение" на устройства ввода (дисковод или СD-RОМ). В связи с этим при разграничении доступа пользователь может запустить несанкционированную программу с дискеты, либо с диска CD-ROM (очень распространенная атака на ОС данного семейства). Здесь же стоит отметить, что с точки зрения обеспечения замкнутости программной среды [т.е. реализации механизма, обеспечивающего возможность пользователям запускать только санкционированные процессы (программы)] действия пользователя по запуску процесса могут быть как явными, так и скрытыми. Явные действия предполагают запуск процессов (исполняемых файлов), которые однозначно идентифицируются своим именем. Скрытые действия позволяют осуществлять встроенные в приложения интерпретаторы команд. Примером таковых могут служить офисные приложения. При этом скрытыми действиями пользователя будет запуск макроса. В данном случае идентификации подлежит лишь собственно приложение, например, процесс winword.exe. При этом он может помимо своих регламентированных действий выполнять те скрытые действия, которые задаются макросом (соответственно, те, которые допускаются интерпретатором), хранящимся в открываемом документе. То же относится и к любой виртуальной машине, содержащей встроенный интерпретатор команд. При этом отметим, что при использовании приложений, имеющих встроенные интерпретаторы команд (в том числе офисных приложений), не в полном объеме обеспечивается выполнение требования по идентификации программ. Возвращаясь к обсуждению недостатков, отметим, что в ОС семейства Windows (NT/2000IXP) невозможно встроенными средствами гарантированно удалять остаточную информацию. В системе просто отсутствуют соответствующие механизмы. Кроме того, ОС семейства Windows (NT /2000IXP) не обладают в полном объеме возможностью контроля целостности файловой системы. Встроенные механизмы системы позволяют контролировать только собственные системные файлы, не обеспечивая контроль целостности файлов пользователя. Кроме того, они не решают важнейшую задачу данных механизмов - контроль целостности программ (приложений) перед их запуском, контроль файлов данных пользователя и др. Что касается регистрации (аудита), то в ОС семейства Windows (NT/2000IXP) не обеспечивается регистрация выдачи документов на "твердую копию", а также некоторые другие требования к регистрации событий. Опять же, если трактовать требования к управлению доступом в общем случае, то при защите компьютера в составе ЛВС необходимо управление доступом к узлам сети (распределенный пакетный фильтр). В ОС семейства Windows (NT /2000IXP) механизм управления доступа к узлам в полном объеме не реализуется. Что касается разделяемых сетевых ресурсов, то фильтрации подвергается только входящий доступ к разделяемому ресурсу, а запрос доступа на компьютере, с которого он осуществляется, фильтрации не подлежит. Это принципиально, так как не могут подлежать фильтрации приложения, которыми пользователь осуществляет доступ к разделяемым ресурсам. Благодаря этому, очень распространенными являются атаки на протокол NETBIOS. Кроме того, в полном объеме управлять доступом к разделяемым ресурсам возможно только при установленной на всех компьютерах ЛВС файловой системы NTFS. В противном случае невозможно запретить запуск несанкционированной программы с удаленного компьютера, т.е. обеспечить замкнутость программной среды в этой части. Из приведенного анализа можно видеть, что многие механизмы, необходимые с точки зрения выполнения формализованных требований, ОС семейства Windows не реализуют в принципе, либо реализуют лишь частично. С учетом сказанного можем сделать важный вывод относительно того, что большинством современных универсальных ОС не выполняются в полном объеме требования к защите АС по классу 1Г. Это значит, что, учитывая требования нормативных документов, они не могут без использования добавочных средств защиты применяться для защиты даже конфиденциальной информации. При этом следует отметить, что основные проблемы защиты здесь вызваны не невыполнимостью ОС требований к отдельным механизмам защиты, а принципиальными причинами, обусловленными реализуемой в ОС концепцией защиты. Концепция эта основана на реализации распределенной схемы администрирования механизмов защиты, что само по себе является невыполнением формализованных требований к основным механизмам защиты. |