Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Петров А.А. Комп без-ть

.pdf
Скачиваний:
39
Добавлен:
28.03.2016
Размер:
16.03 Mб
Скачать

Защита локальной рабочей станции

221

3.2.4. Штатные средства защиты современных операционных систем на примере Шпйомз Л/Т

Некоторые вопросы защиты Л Р С от возможных атак потенциального на­ рушителя могут быть решены с использованием штатных средств, входя­ щих в состав современных операционных систем (в качестве конкретной ОС рассматривается ^ тб о ч у з О Т 4.0).

На сегодняшний день данная система является одной из самых распро­ страненных ОС, кроме того, ей присущи следующие положительные ка­ чества:

защищенность. Национальное агентство безопасности правительства

СШ А в августе 1995 года сертифицировало соответствие автономно­ го варианта О С \ЭДпс1о\у5 N1" ^огкз^аНоп 3.51 ЗРЗ спецификациям уровня защиты С2. В то же время стоит отметить, что текущая вер­

сия 4.0 ЗРЗ не имеет подобного сертификата, кроме того, сертифика­

ции подвергался автономный вариант О С \Утс1о\У5 ОТ" \Уогкз1аНоп;

развитая сетевая поддержка. О С ^тсЬ\У5 О Т имеет в своем составе развитые сетевые средства и позволяет осуществлять информацион­ ный обмен по протоколам ТСР/1Р, 1РХ/5РХ, ОТЙюш и Арр1еТа1к, а так­ же поддерживает маршрутизацию протоколов ТСР/1Р и 1РХ/5РХ. Компанией М ш гозоЛ разработаны средства, позволяющие осуще­ ствлять клиентам сети прозрачный доступ к ресурсам сетевых ОС ОТ1:\Уаге и ЗЫА, а также эмулировать сервер Ые1:\Уаге для клиентов одноименной сети; при этом централизованное административное уп­ равление и контроль за всей сетью сохраняются. Клиентам сети пред­ ставляется также возможность удаленного доступа к ресурсам серве­ ра АУтбо'мз О Т через глобальные сети по линиям связи 13БЫ, 1гаше ге1ау, Х.25 и асинхронным коммутируемым каналам. Обеспечивается также одновременное функционирование в сети архитектуры «клиентсервер» Щ шЗо^з О Т нескольких одноранговых подсетей "М псЬ луз 1ог "\Уогк§гоирз. Таким образом, \\йпс1о\У5 О Т позволяет организовывать гетерогенные сетевые конфигурации, объединяющие различные аппа­ ратные и программные платформы единой политикой безопасности, равными возможностями клиентов и централизованным администри­ рованием;

поддержка нескольких аппаратных платформ и симметричная мульти­ процессорная обработка. ЧУшсЬлуз О Т Зегуег может работать как на 1п1е1-совместимых компьютерах с процессорами 386,486 и РепНиш, так

ина компьютерах со следующими типами ШЗС-процессоров: Ро\уегРС, М1Р5 К4000 и Б Е С А1рЬа. Возможность использования аппаратных

222 Компьютерная безопасность и практическое применение криптографии

платформ с несколькими процессорными элементами поднимает в ряде задач производительность \Ут<1от О Т на уровень компьютеров клас­ сов мини-ЭВМ и таш1гате. Совместно с поддержкой Р051Х-прило- жений указанная характеристика позволяет утверждать о переносимо­ сти \Утс1о\У5 ЫТ;

приоритетная вытесняющая многозадачность и многопоточность. И с­ пользуемая в Ш тс Ь ^ з О Т система приоритетов позволяет наиболее оптимально распределить между задачами процессорное время, гаран­ тируя при этом своевременное выполнение критических участков кода и корректную обработку исключений. Разработанные особым образом приложения могут запускать во время своего выполнения несколько собственных потоков, распределяя выделенные приложению вычисли­ тельные ресурсы оптимальным образом;

виртуальная память. \У1пбош5 ОТ, являясь многозадачной и много­ пользовательской оперативной системой, предоставляет надежные механизмы защиты ядра ОС от прикладных процессов и задач, реша­ емых пользователями друг с другом. Своппинг (з\уаррт§) на жесткий диск позволяет выделить активной задаче практически все доступные вычислительные ресурсы компьютера;

поддержка нескольких файловых систем. Помимо возможности вы­ полнения приложений, написанных для других операционных систем (БОЗ, 16-разрядные приложения "\Ушс1о\у5, 16-разрядные текстовые приложения 0 3 / 2 , Р051Х-приложения), "\Утс1о\У5 О Т поддерживает несколько файловых систем: стандартную РАТ и собственную ОТТ5;

многоцелевые функциональные возможности. Сервер У/тсЬшз О Т под­ держивает следующие типы услуг:

-файл-сервер;

-сервер печати;

-сервер приложений;

-сервер удаленного доступа;

-тИапе^-сервер;

-сервер архивирования.

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

Защита локальной рабочей станции

223

о каждом пользователе и каждой группе пользователей. На ее основе про­ веряются права пользователя на доступ к объекту, и, если таковые отсут­ ствуют, подсистема защиты отказывает ему в разрешении.

В целом подсистема безопасности О С \ У ш с 1о \ у з N 7 состоит из следую­ щих компонентов (рис. 3.3):

процессы входа в систему (1о§оп-процессы), принимающие запросы на вход от пользователей. Они включают интерактивный (локальный) 1о§оп, показывающий окно для ввода пароля, а также удаленный 1о^оп, который позволяет получать доступ удаленным пользователям к про­ цессам сервера "\Утс1о\уз ИТ;

компонент локальной авторизации (Ьоса1 Зесигйу АиЙюгку), который определяет, имеет ли пользователь право доступа к системе. Этот ком­ понент является центральным в подсистеме безопасности ^Ушс1о\у5

N 7 Он генерирует маркер доступа, управляет локальной политикой безопасности и предоставляет интерактивный сервис администратору. Локальная авторизация также управляет регистрацией событий и за­ писывает в журнал регистрации события аудита, генерируемые дис­ петчером доступа;

менеджер управления счетами пользователей (ЗесигИу Ассоип1: Мапа§ег, ЗАМ ), который строит базу данных счетов пользователей. Эта база данных содержит информацию обо всех счетах пользователей и группах пользователей. Менеджер ЗАМ предоставляет сервис по их полномочиям, используемый компонентом локальной авторизации;

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

Организация управления доступом

В основе этой подсистемы лежит избирательная политика управления доступом, в соответствии с которой регламентируется доступ субъектов к объектам. Защищенные объекты М^пбомсз N 7 подразделяются на:

файлы и каталоги на И7Р5-разделах;

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

224Компьютерная безопасность и практическое применение криптографии

объекты ядра ОС;

объекты реестра;

частные (рпчаЪе) объекты. Частные объекты создаются и обрабатыва­

ются прикладными программами (С У Б Д , электронными таблицами и т.д.) и служат для реализации в прикладных программах собствен­ ного механизма разграничения доступа. Частными объектами являют­ ся, например, защищенные поля таблиц М кгозоК Ассезз.

С каждым объектом системы связаны возможные выполняемые опера­ ции и типы доступа к экземплярам объекта, а также атрибуты безопаснос­ ти объекта.

Атрибуты безопасности каждого защищаемого объекта задаются в спе­ циальной структуре - так называемом дескрипторе безопасности (зесигку скзспр{;ог). Он связан с объектом и содержит информацию о владельце и группе владельцев объекта, а также списки управления доступом к дан­ ному объекту (Ассезз Соп1:го1 1лз1;, АСЬ).

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

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

Список управления доступом к объекту состоит из элементов управле­ ния доступом (Ассезз СопЫо1 ЕШгу, АСЕ). Каждый защищенный объект может иметь два списка управления доступом: пользовательский и сис­ темный.

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

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

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

Защита локальной рабочей станции

225

В \\йпс1ошз К Т пользователи и группы идентифицируются так называе­ мыми идентификаторами безопасности (зесигйу ИепНЯегз, 5 Ш ). Иденти­ фикатор безопасности - это структура переменной длины, уникально иден­ тифицирующая пользователя или группу. Эти идентификаторы хранятся в базе данных системы защиты, и любое приложение может их использо­ вать посредством функций \\йп32 АР1. Идентификаторы безопасности ис­ пользуются для указания:

владельца объекта и группы в дескрипторе защиты объекта;

получателя разрешений на доступ в элементах (А С Е ) списка управле­ ния доступом (А С Ь ) к объекту;

пользователя и всех групп, в которые ои входит, в так называемом

маркере доступа (ассезз 1юкеп) процесса (пользователя). (Описание маркера доступа см. ниже.)

Для выполнения некоторых операций пользователю могут быть присво­ ены специальные привилегии. Содержащаяся в маркере доступа дополни­ тельная информация о привилегиях пользователя (процесса) используется для усиления избирательного (реализованного на основе АСЕ) контроля доступа. Диспетчер доступа использует значения привилегий процессов для управления их доступом к системным ресурсам, таким как системное время, признак активизации отладочного режима, признак принадлежно­ сти к ядру системы защиты (йгизЪеё сотриЪег базе) и т.п.

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

Поскольку ОС ^Ушйоауз О Т поддерживает работу в режиме «клиентсервер», то в архитектуре ее подсистемы защиты имеется два класса субъ­ ектов:

простой субъект. Это процесс, которому присвоен контекст безопасно­ сти при входе соответствующего пользователя в систему по 1о§оп. Та­ кой процесс не реализует функции защищенного сервера, который может иметь других субъектов в качестве своих клиентов;

серверный субъект. Это процесс, запущенный как защищенный сервер (как подсистема \Д/1п32) и обслуживающий других субъектов в каче­ стве клиентов. В связи с этим серверный субъект обычно имеет кон­ текст безопасности того клиента, от имени которого он действует.

8 - 3

226 Компьютерная безопасность и практическое применение криптографии

Рис. 3.3. Компоненты подсистемы безопасности

шсЬ ауз И Т позволяет одному потоку получать атрибуты безопасности другого процесса при помощи механизма представления (трегзопайоп). Например, рабочий поток сервера обычно представляет процесс клиента (использует маркер доступа клиента) для получения разрешений на дос­ туп к объектам, к которым начальный (управляющий) поток сервера дос­ тупа не имеет.

Хотя ОС этого типа имеет достаточно развитую систему обеспечения информационной безопасности, все равно существуют потенциальные уяз­ вимости, приводящие к успешному проведению атак на Ш тбодуз ИТ.

Имеет смысл в рамках документированных возможностей системы про­ вести детальный анализ стратегий нападения, которые мог бы реализовать

Защита локальной рабочей станции

22 7

потенциальный нарушитель, являющийся к тому же зарегистрированным пользователем в ОС. В этом случае злоумышленник в состоянии запустить любой процесс, заставить стартовать любой драйвер или редактировать базу реестра только на правах непривилегированного пользователя систе­ мы 'У'/тбо^з N4".

Для определения потенциальных возможностей нарушителя рассмот­ рим механизмы \Ут32 АР1 для 'М псЬ хуз ИТ, позволяющие реализовать НСД. Хотя приложения в О С \Утс1оу/5 ЫТ имеют свое виртуальное про­ странство памяти, доступ в которое ограничен со стороны других приклад­ ных процессов, тем не менее в существующей версии \^1п32 АР1 имеется целый ряд механизмов* позволяющих одному процессу получить доступ

ввиртуальную память, используемую другим процессом. Итак, к этим возможностям относятся:

наличие функций, позволяющих получать доступ на чтение и запись в па­ мять другого процесса (УУгйюРгосеззМешогу и КеабРгосеззМетогу);

наличие функций, получающих контекст выполнения какого-либо пользовательского процесса (Се1;Т11геас1Соп1;ех1: и Зе1;ТЪгеас1Соп1;ех1;), что позволяет одному процессу получить значения системных регис­ тров другого, в том числе и регистра указателя стека; подобная осо­ бенность может позволить модифицировать стек процесса другим процессом;

наличие механизма ловушек (Ьоок), при помощи которых один про­ цесс может реализовать перехват сообщений другого процесса;

существует также способ запуска внешней процедуры в адресном про­ странстве другого процесса и использование процедуры удаленного за­ пуска потока (Сгеа1:еК.ето^:еТЬгеаб) с последующей модификацией

области стека и загрузки необходимой Б IX ;

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

особенностью ОС Ш псЬ'ууз ЫТ является отсутствие механизмов предот­ вращения выхода за пределы локального стека потока, что может при­ вести к проведению атак типа «переполнение буфера» (ЬиТег оуегйо^).

Использование тех или иных документированных возможностей АР1

\Утбо\У5 И Т для «взлома» штатных средств защиты данной О С зависит от

228 Компьютерная безопасность и практическое применение криптографии

уровня привилегий, полученных пользовательским процессом при регис­

трации. Можно выделить следующие группы привилегий (по убыванию

уровня):

права администратора, включающие полный контроль операционной системы;

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

право редактирования базы реестра;

право запуска прикладной программы.

На сегодняшний день для пользователей, склонных к неправомерным

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

нительные привилегии, например:

программа нарушителя обнаруживает адрес функции ДУт32 АР1 ОрепРгосезз, изменяет ее код так, чтобы результат выполнения был все­ гда положительным. Затем с помощью функции ОеЪи&АсИуеРгосезз один из системных процессов, работающих от имени ОС, в режиме от­ ладки создает в его рамках поток, который вносит текущего поль­ зователя в группу АбпптзШЪог;

использование ошибки в процедуре Ые1:АббА1:от (Щозкгп1.ехе) или функции 4346 (ш1п32к.зуз). Указанные ошибки позволяют изменить переменные или код ядра ОС и получить рядовому пользователю пра­ ва администратора системы;

перехват трафика внутри сети и использование того факта, что после аутентификации пользователя в домене \Ушс1о\у5 ЫТ в пакете ЫеС1ю§оп5ат1ю^оп, передаваемом контроллером домена компьютеру, све­ дения о группах, членом которых является пользователь, передаются в открытом виде. Установив в сети ргоху-сервер, злоумышленник мо­ жет заменить 5ГО некоторой глобальной группы на ЗГО группы ЭотатАбпппз, после чего на локальном компьютере получит права чле­ на группы Э о т а т А б т т з .

Таким образом, потенциальный нарушитель может получать практичес­ ки неограниченные полномочия в ОС. Это позволит ему запускать не толь­ ко прикладные программы в контексте лю бого зарегистрированного пользователя системы, реализующие вышеперечисленные стратегии исполь­ зования особенностей \Уш32 АР1, но также устанавливать фильтр драйве­ ра хранения ключей или фильтр файловой системы. Такие фильтры позво­ ляют перехватывать или ключи, или открытую информацию.

Защита локальной рабочей станции

229

Например, получая привилегии редактирования базы реестра можно включить нежелательную динамически подключаемую библиотеку (Б И .) в список Арр1п11:_БЬЬз. Он содержит множество БЬИ, которые отобража­ ются при старте О С на адресное пространство каждого процесса, использу­ ющего библиотеку 11зег32.БЬЬ, то есть фактически для каждой запускаемой программы, представляющей собой СШ -приложение.

Кроме документированных возможностей, предоставляемых нарушите­ лю интерфейсом \\йп32 АР1, существует целый ряд уязвимостей, которые подразделяются на следующие категории:

• вызванные ошибками или недоработками в ПО \\йпс1о\У5 ИТ;

вызванные особенностью функционирования \Утс1о'^5 N7;

вызванные некорректной настройкой \Утс1ош8 N7.

Таким образом, кроме корректной настройки О С 'УУтсЬ^з N 7 и исполь­ зования З е т с е Раск для устранения ошибок при работе данной ОС, необ­ ходимо применение дополнительных средств защиты.

3.2.5. Аудит

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

вход в систему (успешный или нет);

выход из системы;

обращение к удаленной системе;

операции с файлами (открыть, закрыть, переименовать, удалить);

смена привилегий или иных атрибутов безопасности (режима досту­ па, уровня благонадежности пользователя и т.п.).

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

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

С помощью этого метода можно держать под контролем пользователей, имеющих специфическую репутацию, и реконструировать прошедшие

230 Компьютерная безопасность и практическое применение криптографии

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

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

дату и время события;

уникальный идентификатор;

отмечать пользователя, являющегося инициатором действия;

тип события;

результат действия (успех или неудача);

источник запроса (например, имя терминала);

имена затронутых объектов (например, открываемых или удаляемых файлов).

описание изменений, внесенных в базы данных защиты (например, новая метка безопасности объекта);

метки безопасности субъектов и объектов события.

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

ализации подсистем аудита в современных ОС

 

показывает, что ядро системы (являющееся до­

Интерфейс системных

веренным) взаимодействует с прикладным ПО

вызовов. На данном

уровне и располагается

(работа которого подлежит аудиту) через ин­

система аудита

терфейс обращений к данному сервису ОС

 

и является наиболее удобным местом для осу­

 

ществления мониторинга и аудита (рис. 3.4).

 

Ядро ОС при обращении к нему прикладного

 

ПО фиксирует события, подлежащие аудиту,

 

а подсистема аудита заносит их в журнал собы­

 

тий, хранящийся на жестком диске.

 

Генерировать события аудита может и при­

 

кладное ПО, но, в отличие от ядра ОС, дан­

 

ные действия не заносятся напрямую в жур­

 

нал событий, а передаются в ядро системы,

 

которое отправляет их в буфер (отведенный

Рис. 3.4. Местоположение

под запись событий) и впоследствии зано­

подсистемы аудита

сит в журнал событий. Примером событий,

в архитектуре ОС