Основные защитные механизмы ОС семейства Unix
Защита ОС семейства Unix в общем случае базируется на трех основных механизмах:
- идентификации и аутентификация пользователя при входе в систему;
- разграничении прав доступа к файловой системе, в основе которого лежит реализация дискреционной модели доступа;
- аудит, то есть регистрация событий.
При этом отметим, что для различных клонов ОС семейства 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) – существенно расширены атрибуты доступа, устанавливаемые на различные иерархические объекты файловой системы (логические диски, каталоги, файлы). В частности, атрибут «исполнение» может устанавливаться и на каталог, тогда он наследуется соответствующими файлами.
При этом существенно ограничены возможности управления доступом к другим защищаемым ресурсам, в частности, к устройствам ввода. Например, здесь отсутствует атрибут «исполнение», т.е. невозможно запретить запуск несанкционированной программы с устройств ввода.
Принципиальные недостатки защитных механизмов ОС семейства Windows(NT/2000/XP)
Прежде всего рассмотрим принципиальные недостатки защиты ОС семейства Windows, напрямую связанные с возможностью НСД к информации. При этом в отличие от ОС семейства Unix в ОС Windows невозможна в общем случае реализация централизованной схемы администрирования механизмов защиты или соответствующих формализованных требований. Вспомним, что в ОС Unix это распространялось лишь на запуск процессов. Связано это с тем, что в ОС Windows принята иная концепция реализации разграничительной политики доступа к ресурсам (для NTFS).
В рамках этой концепции разграничения для файла приоритетнее, чем для каталога, а в общем случае – разграничения для включаемого файлового объекта приоритетнее, чем для включающего. Это приводит к тому, что пользователь, создавая файл и являясь его «владельцем», может назначить любые атрибуты доступа к такому файлу (т.е. разрешить к нему доступ любому иному пользователю). При этом обратиться к этому файлу может пользователь (которому назначил права доступа «владелец») вне зависимости от установленных администратором атрибутов доступа на каталог, в котором пользователь создает файл. Данная проблема непосредственно связана с реализуемой в ОС Windows концепцией защиты информации.
Далее, в ОС семейства Windows (NT/2000/XP) не в полном объеме реализуется дискреционная модель доступа, в частности, не могут разграничиваться права доступа для пользователя «Система». В ОС присутствуют не только пользовательские, но и системные процессы, которые запускаются непосредственно системой. При этом доступ системных процессов не может быть разграничен. Соответственно, все запускаемые системные процессы имеют неограниченный доступ к защищаемым ресурсам. С этим недостатком системы защиты связано множество атак, в частности, несанкционированный запуск собственного процесса с правами системного. Кстати, это возможно и вследствие некорректной реализации механизма обеспечения замкнутости программной среды.
В ОС семейства Windows (NT/2000/XP) невозможно в общем случае обеспечить замкнутость (или целостность) программной среды. Это связано совершено с иными проблемами, чем в ОС семейства Unix, в которых невозможно установить атрибут «исполнение» на каталог. Для выяснения сложности данного вопроса рассмотрим два способа, которыми в общем случае можно реализовать данный механизм, причем оба способа несостоятельны. Итак, механизм замкнутости программной среды в общем случае может быть обеспечен:
- заданием списка разрешенных к запуску процессов с предоставлением возможности пользователям запускать процессы только из этого списка. При этом процессы задаются полнопутевыми именами, причем средствами разграничения доступа обеспечивается невозможность их модернизации пользователем. Данный подход просто не реализуется встроенными в ОС механизмами.
- Разрешением запуска пользователями программ только из заданных каталогов при невозможности модернизации этих каталогов. Одним из условий корректной реализации данного подхода является запрет пользователям запуска программ иначе, чем из соответствующих каталогов. Некорректность реализации ОС Windows данного подхода связана с невозможностью установки атрибута «исполнение» на устройства ввода (дисковод или CD-ROM). В связи с этим при разграничении доступа пользователь может запустить несанкционированную программу с носителя (распространенная атака на ОС этого семейства).
Стоит отметить, что с точки зрения обеспечения замкнутости программной среды (т.е. реализации механизма, обеспечивающего возможность пользователям запускать только санкционированные процессы (программы)) действия пользователя по запуску процесса могут быть как явными, так и скрытыми.
Явные действия предполагают запуск процессов (исполняемых файлов), которые однозначно идентифицируются своим именем. Скрытые действия позволяют осуществлять встроенные в приложения интерпретаторы команд. Примером таковых могут служить офисные приложения. При этом скрытыми действиями пользователя будет запуск макроса.
В данном случае идентификации подлежит лишь собственно приложение, например, процесс winword.exe. При этом он может помимо своих регламентированных действий выполнять те скрытые действия, которые задаются макросом (соответственно, те, которые допускаются интерпретатором), хранящимся в открываемом документе. То же относится и к любой виртуальной машине, содержащей встроенный интерпретатор команд. При этом отметим, что при использовании приложений, имеющих встроенные интерпретаторы команд (в том числе офисных приложений), не в полном объеме обеспечивается выполнение требования по идентификации программ.
Возвращаясь к обсуждению недостатков, отметим, что в ОС семейства Windows (NT/2000/XP) невозможно встроенными средствами гарантированно удалять остаточную информацию. В системе просто отсутствуют соответствующие механизмы.
Кроме того, ОС семейства Windows (NT/2000/XP) не обладают в полном объеме возможностью контроля целостности файловой системы. Встроенные механизмы системы позволяют контролировать только собственные системные файлы, не обеспечивая контроль целостности файлов пользователя. Кроме того, они не решают важнейшую задачу данных механизмов – контроль целостности программ (приложений) перед их запуском, контроль файлов данных пользователя и др.
Что касается регистрации (аудита), то в ОС семейства Windows (NT/2000/XP) не обеспечивается регистрация выдачи документов на «твердую копию», а также некоторые другие требования к регистрации событий.
Опять же, если трактовать требования к управлению доступом в общем случае, то при защите компьютера в составе ЛВС необходимо управление доступом к узлам сети (распределенный пакетный фильтр). В ОС семейства Windows (NT/2000/XP) механизм управления доступа к узлам в полном объеме не реализуется.
Что касается разделяемых сетевых ресурсов, то фильтрации подвергается только входящий доступ к разделяемому ресурсу, а запрос доступа на компьютере, с которого он осуществляется, фильтрации не подлежит. Это принципиально, т.к. не могут подлежать фильтрации приложения, которыми пользователь осуществляет доступ к разделяемым ресурсам. Благодаря этому, очень распространенными являются атаки на протокол NETBIOS.
Кроме того, в полном объеме управлять доступом к разделяемым ресурсам возможно только при установленной на всей компьютерах ЛВС файловой системы NTFS. В противном случае невозможно запретить запуск несанкционированной программы с удаленного компьютера, то есть обеспечить замкнутость программной среды в этой части.
Из приведенного анализа можно видеть, что многие механизмы, необходимые с точки зрения выполнения формализованных требований, ОС семейства Windows не реализуют в принципе, либо реализуют лишь частично.
С учетом сказанного можем сделать важный вывод относительно того, что большинством современных универсальных ОС не выполняются в полном объеме требования к защите АС по классу 1 Г. Это значит, что, учитывая требования нормативных документов, они не могут без использования добавочных средств защиты применяться для защиты даже конфиденциальной информации. При этом следует отметить, что основные проблемы защиты здесь вызваны не невыполнимостью ОС требований к отдельным механизмам защиты, а принципиальными причинами, обусловленными реализуемой в ОС концепцией защиты. Концепция эта основана на реализации распределенной схемы администрирования механизмов защиты, что само по себе является невыполнением формализованных требований к основным механизмам защиты.
7.2.3. Анализ существующей статистики угроз для современных универсальных ОС. Семейства ОС и общая статистика угроз
На сегодняшний день существует достаточно большая статистика угроз ОС, направленных на преодоление встроенных в ОС механизмов защиты, позволяющих изменить настройки механизмов безопасности, обойти разграничения доступа и т.д. Таким образом, статистика фактов НСД к информации показывает, что большинство распространенных систем (универсального назначения) довольно уязвимы с точки зрения безопасности. И это несмотря на отчетливую тенденцию к повышению уровня защищенности этих систем.
Здесь необходимо отметить, что на практике современные информационные системы, предназначенные для обработки конфиденциальной информации, строятся уже с учетом дополнительных мер безопасности, что также косвенно подтверждает изначальную уязвимость современных ОС.
Рассмотрим операционные системы, фигурирующие в публикуемых списках системных и прикладных ошибок, позволяющих получить несанкционированный доступ к системе, понизить степень ее защищенности или добиться отказа в обслуживании (системного сбоя):
MS Windows 9X | BSD | AIX | BSD | Novell Netware |
MS Windows NT | Solaris | SCO | HPUX | IOS (Cisco) |
MS Windows 2000 | Sun OS | Linux | IRIX | Digital Unix |
Общее количество известных успешных атак для различных ОС, представлено в табл. 7.2, а их процентное соотношение – на диаграмме рис. 7.2.
Таблица 7.2 - Количество известных успешных атак для различных ОС
Тип ОС | Количество атак | Тип ОС | Количество атак |
MS Windows NT/2000 | Linux | ||
MS Windows 9X/ME | IRIX | ||
BSD | HPUX | ||
BSDI | AIX | ||
Solaris | SCO | ||
Sun OS | Novell NetWare | ||
Digital Unix | IOS (Cisco) |
Рис. 7.1. Статистика соотношения угроз для различных ОС
Вследствие того, что большинство атак для операционных систем, построенных на базе Unix (BSD или AT&T), достаточно похожи, целесообразно объединить их в одну группу. Тоже самое можно сказать и об ОС семейства Windows. Т.о., далее будем рассматривать только семейства ОС: Unix, MS Windows, Novell NetWare.
Общее количество известных успешных атак для различных групп ОС представлено в табл. 7.2, а их процентное соотношение – на диаграмме 7.2.
Таблица 7.2– Общее количество успешных атак для различных групп ОС
Тип ОС | Количество атак |
MS Windows | |
Unix | |
Novell Netware |
Рис. 7.2. Статистика соотношения угроз для семейств ОС
Относительно ОС Novell следует заметить, что данная ОС изначально создавалась как защищенная (не универсального назначения) ОС, основной функцией которой был защищенный файловый сервис. Это, с одной стороны, должно было обеспечить ее более высокий уровень защищенности, с другой стороны, налагало определенные ограничения по использованию. Однако, начиная с пятой версии, данная ОС начала приобретать свойства универсальности (с точки зрения применяемых протоколов и приложений), что в какой-то мере сказалось и на уровне ее защищенности.
7.2.4. Обзор и статистика методов, лежащих в основе атак на
современные ОС. Классификация методов и их сравнительная статистика
Анализируя рассматриваемые атаки, все методы, позволяющие несанкционированно вмешаться в работу системы, можно разделить на следующие группы:
- позволяющие несанкционированно запустить исполняемый код;
- позволяющие осуществить несанкционированные операции чтения/записи файловых или других объектов;
- позволяющие обойти установленные разграничения прав доступа;
- приводящие к отказу (Denial of Service) в обслуживании (системный сбой);
- использующие встроенные недокументированные возможности (ошибки и закладки);
- использующие недостатки системы хранения или выбора (недостаточная длина) данных об аутентификации (пароли) и позволяющие путем реверсирования, подбора или полного перебора всех вариантов получить эти данные;
- троянские программы;
- прочие.
Диаграмма, представляющая собой соотношение групп атак (для представленной выше их классификации) для ОС семейства Windows, представлена на рис. 7.3, для ОС семейства UNIX на рис. 7.4.
Давайте очень кратко проиллюстрируем выделенные группы угроз.
Рис. 7.3. Соотношение групп атак для ОС семейства Windows
Рис. 7.4. Соотношение групп атак для ОС семейства UNIX
Из приведенного анализа можно сделать следующий важный вывод: угрозы, описанные в большинстве групп, напрямую используют различные недостатки ОС и системных приложений и позволяют при полностью сконфигурированных и работающих встроенных в ОС механизмах защиты осуществлять НСД, что подтверждает необходимость усиления встроенных механизмов защиты. Кроме того, анализируя представленную статистику угроз, можно сделать вывод, что большая их часть связана именно с недостатками средств защиты ОС, отмеченными выше, т.е. недостатками, связанными с невыполнением (полным, либо частичным) формализованных требований к защите, среди которых, в первую очередь, могут быть выделены:
- некорректная реализация механизма управления доступом, прежде всего при разграничении доступа к защищаемым объектам системных процессов и пользователей, имеющих права администратора;
- отсутствие обеспечения замкнутости (целостности) программной среды. Как видно, большинство атак осуществлялось либо с использованием некоторых прикладных программ, либо с применением встроенных в виртуальные машины средств программирования. Т.е., возможность большинства атак напрямую связана с возможностью запуска злоумышленником соответствующей программы. При этом запуск может быть осуществлен как явно, так и скрыто, в рамках возможностей встроенных в приложения интерпретаторов команд.
Проведенный анализ известных угроз современным универсальным ОС полностью подтверждает, что большая их часть обусловлена именно реализуемым в ОС концептуальным подходом, состоящим в реализации схемы распределенного администрирования механизмов защиты. В рамках этой схемы пользователь рассматривается как доверенное лицо, являющееся элементом схемы администрирования и имеющее возможность назначать/изменять ПРД. При этом он не воспринимается как потенциальный злоумышленник, который может сознательно или несознательно осуществить НСД к информации, следовательно назначении механизмов добавочной защиты ОС состоит в реализации централизованной схемы администрирования механизмов защиты, в рамках которой будет осуществляться противодействие НСД пользователя к информации.
Контрольные вопросы
1. Сформулируйте список функциональных дефектов с точки зрения защиты в используемой ОС.
2. Какие элементы безопасности содержит ОС Windows NT?
3. Назовите элементы безопасности ОС UNIX?
4. Охарактеризуйте элементы безопасности ОС Novell NetWare?
Разработал
к.т.н., доцент А. Яковлев