- •1.2.1. Формализованные требования к защите и их классификация
- •1.2.2. Требования к защите конфиденциальной информации
- •1.2.3. Требования к защите секретной информации
- •2.1. Основные механизмы защиты ос.
- •2.1.1. Принципиальные различия в подходах обеспечения защиты. Разность концепций
- •2.2. Анализ существующей статистики
- •2.2.3. Выводы из анализа существующей статистики угроз
- •7.2. Требования к идентификации и аутентификации
- •7.2.1. Формализованные требования
- •7.3.1. Кого следует воспринимать в качестве потенциального злоумышленника
- •7.4.1. Классификация задач по назначению
- •8.1. Механизмы парольной защиты
- •9.1. Требования к добавочным механизмам
- •11.1. Общие положения
- •11.1.1. Абстрактные модели доступа
- •11.1.2. Дискреционная модель управления доступом
- •11.1.3. Мандатная модель управления доступом
- •11.1.4. Дополнительные требования к защите секретной информации в контексте
- •Методы и средства криптографической защиты информации.
- •Глава 3. Асимметричные криптосистемы
- •Глава 6. Цифровая подпись
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|, они не могут без использования добавочных средств зашиты применяться для зашиты даже конфиденциальной информации. При этом следует отметить, что основные проблемы зашиты здесь вызваны не невыполнимостью ОС требований к отдельным механизмам зашиты, а принципиальными причинами, обусловленными реализуемой в ОС концепцией зашиты. Концепция эта основана на реализации распределенной схемы администрирования механизмов защиты, что само по себе является невыполнением формализованных требований к основным механизмам зашиты.
