Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программно-аппаратные средства защиты информаци...doc
Скачиваний:
7
Добавлен:
01.04.2025
Размер:
5 Мб
Скачать
☆

2.1. Основные механизмы защиты ос.

Анализ выполнения современными ОС

формализованных требований

к защите информации от НСД

2.1.1. Принципиальные различия в подходах обеспечения защиты. Разность концепций

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

В связи с этим далее будем говорить лишь о возможном соответствии средств зашиты современных ОС классу автоматизированных систем 1Г (зашита конфиденциальной информации). В качестве альтернативных реализаций ОС рассмотрим семейства UNIX и Windows (естественно, Windows NT/2000, т.к. о встроенных механиз­мах зашиты ОС Windows 9x/Me говорить вообще не приходится).

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

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

Для иллюстрации из совокупности формализованных требований к сис­теме зашиты конфиденциальной информации (требований к дискреци­онному механизму управления доступом) рассмотрим следующие два требования [1]:

1. Право изменять правила разграничения доступа (ПРД) должно пре­доставляться выделенным субъектам (администрации, службе безо­пасности и т.д.).

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

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

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

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

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

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

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

2.1.2. Основные встроенные механизмы защиты ОС и их недостатки

Кратко остановимся на основных механизмах зашиты, встроенных в со­временные универсальные ОС. Сделаем это применительно к возможнос­ти реализации ими принятой нами для рассмотрения концепции зашиты конфиденциальной информации.

Основные защитные механизмы ОС семейства UNIX

Зашита ОС семейства UNIX в обшем случае базируется на трех основ­ных механизмах:

« идентификации и аутентификация пользователя при входе в систему1; » разграничении прав доступа к файловой системе, в основе которого

лежит реализация дискреционной модели доступа; ♦ аудит, то есть регистрация событий.

При этом отметим, что для различных клонов ОС семейства UNIX воз­можности механизмов зашиты могут незначительно различаться, однако будем рассматривать ОС UNIX в обшем случае, без учета некоторых незначительных особенностей отдельных ОС этого семейства.

Построение файловой системы и разграничение доступа к файловым объектам имеет особенности, присущие данному семейству ОС. Рассмот­рим кратко эти особенности. Все дисковые накопители (тома) объеди­няются в единую ВИРТУАЛЬНУЮ ФАЙЛОВУЮ СИСТЕМУ путем опе­рации монтирования тома. При этом содержимое тома проецируется на выбранный каталог файловой системы. Элементами файловой системы являются также все устройства, подключаемые к защищаемому компью­теру (монтируемые к файловой системе). Поэтому разграничение досту­па к ним осуществляется через файловою систему.

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

Пользователь имеет уникальные символьный идентификатор (имя) и числовой идентификатор (UID). Символьный идентификатор предъявля­ется пользователем при входе в систему, числовой используется опера­ционной системой для определения прав пользователя в системе (доступ к файлам и т.д.).

Принципиальные недостатки защитных механизмов ОС семейства UNIX

Рассмотрим в обшем случае недостатки реализации системы зашиты ОС семейства UNIX в части невыполнения требований к защите конфиден­циальной информации. При этом прежде всего рассмотрим принципи­альные недостатки зашиты, напрямую связанные с возможностью НСД к информации.

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

Не в полном объеме реализуется дискреционная модель доступа, в частности не могут разграничиваться права доступа тя пользователя «root» (UID = 0). Т.е. данный субъект доступа исключается из схемы управления доступом к ресурсам. Соответственно все запускаемые им процессы имеют неограничен­ный доступ к защищаемым ресурсам. Как мы увидим позднее, с этим недо­статком системы защиты связано множество атак, в частности:

* несанкционированное получение прав root;

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

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

Что касается регистрации (аудита), то в ОС семейства Unix не обеспечива­ется регистрация выдачи документов на «твердую копию», а также некото­рые другие требования к регистрации событий.

Если же трактовать требования к управлению доступом в обшем случае, то при защите компьютера в составе ЛВС, необходимо управление до­ступом кхостам (распределенный пакетный фильтр). Однако встроенными средствами зашиты некоторых ОС семейства UNIX управление доступом к хостам не реализуется.

Из приведенного анализа видно, что многие механизмы, необходимые с точки зрения выполнения формализованных требований, большинством ОС семейства UNIX не реализуется в принципе, либо реализуется лишь частично.

Основные защитные механизмы ОС семейства Windows(NT/2000/XP)

Теперь кратко остановимся на основных механизмах зашиты, реализован­ных в ОС семейства Windows, и проведем анализ защищенности ОС се­мейства Windows (NT/2000). Отметим, что здесь ряд объектов доступа (в частности, устройства, реестр ОС и т.д.) не являются объектами файловой системы. Поэтому возникает вопрос, как следует трактовать требование «Система защиты должна контролировать доступ наименованных субъектов (пользователей) к наименованным объектам (файлам, программам, томам и т.д.)»- То есть, не ясно, являются ли объектами доступа, к которым, следуя формальным требованиям, необходимо разгра­ничивать доступ пользователей, например, реестр ОС и тд.

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

Также, как и для семейства ОС UNIX, здесь основными механизмами зашиты являются:

» идентификация и аутентификация пользователя при входе в систему;

» разграничение прав доступа к ресурсам, в основе которого лежит реализация дискреционной модели доступа (отдельно к объектам файловой системы, к устройствам, к реестру ОС, к принтерам и др.);

» аудит, то есть регистрация событий.

Здесь явно выделяются (в лучшую сторону) возможности разграничений прав доступа к файловым объектам (для NTFS) — существенно расширены ат­рибуты доступа, устанавливаемые на различные иерархические объекты фай­ловой системы (логические диски, каталоги, файлы). В частности, атрибут «исполнение» может устанавливаться и на каталог, тогда он наследуется соответствующими файлами (в отличие от ОС семейства UNIX). При этом существенно ограничены возможности управления доступом к другим защищаемым ресурсам, в частности, к устройствам ввода. Напри­мер, здесь отсутствует атрибут «исполнение», т.е. невозможно запретить запуск несанкционированной программы с устройств ввода.

Принципиальные недостатки защитных механизмовОС семейства Windows(NT/2000/XP)

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

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

Далее, в ОС семейства Windows (NT/2000/XP) не в полном объеме реали­зуется дискреционная модель доступа, в частности, не могут разграничи­ваться права доступа для пользователя «Система». В ОС присутствуют не только пользовательские, но и системные процессы, которые запускаются непосредственно системой. При этом доступ системных процессов не может быть разграничен. Соответственно, все запускаемые системные процессы имеют неограниченный доступ к защищаемым ресурсам. Как увидим ниже, с этим недостатком системы зашиты связано множество атак, в частности, несанкционированный запуск собственного процесса с правами системного. Кстати, позднее мы увидим, что это возможно и вследствие некорректной реализации механизма обеспечения замкнуто­сти программной среды.

В ОС семейства Windows (NT/2000/XP) невозможно в обшем случае обес­печить замкнутость (или целостность) программной среды. Это связано совершено с иными проблемами, чем в ОС семейства UNIX, в которых

невозможно установить атрибут «исполнение» на каталог. Давайте выяс­ним, в чем сложности у ОС Windows в этом вопросе. Рассмотрим два способа, которыми в общем случае можно реализовать данный механизм (подробнее об этом читайте в соответсвующих главах),

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

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

* Разрешением запуска пользователями программ только из заданных каталогов при невозможности модернизации этих каталогов. Одним из условий корректной реализации данного подхода является запрет пользователям запуска программ иначе, чем из соответствующих ка­талогов. Некорректность реализации ОС Windows данного подхода связана с невозможностью установки атрибута «исполнение» на уст­ройства ввода (дисковод или CD-ROM). В связи с этим при разгра­ничении доступа пользователь может запустить несанкционирован­ную программу с дискеты, либо с диска CD-ROM (как далее увидим -это очень распространенная атака на ОС данного семейства).

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

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

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

Возвращаясь к обсуждению недостатков, отметим, что в ОС семейства Windows (NT/2000/XP) невозможно встроенными средствами гарантированно удалять остаточную информацию. В системе просто отсутствуют соответ­ствующие механизмы. Кроме того, ОС семейства Windows (NT/2000/XP) не обладают в полном объеме возможностью контроля целостности файловой системы. Встроен­ные механизмы системы позволяют контролировать только собственные системные файлы, не обеспечивая контроль целостности файлов пользо­вателя. Кроме того, они не решают важнейшую задачу данных механиз­мов — контроль целостности программ (приложений) перед их запуском, контроль файлов данных пользователя и др.

Что касается регистрации (аудита), то в ОС семейства Windows (NT/2000/XP) не обеспечивается регистрация выдачи документов на «твердую копню», а также некоторые другие требования к регистрации событий.

Опять же, если трактовать требования к управлению доступом в обшем случае, то при зашите компьютера в составе ЛВС необходимо управле­ние доступом к хостам (распределенный пакетный фильтр). В ОС семей­ства Windows (NT/2000/XP) механизм управления доступа к хостам в пол­ном объеме не реализуется.

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

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

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

Выводы

С учетом сказанного можем сделать важный вывод относительно того,

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