Основные защитные механизмы ОС семейства UNIX.
Защита ОС семейства Unix в общем случае базируется на трех основных механизмах:
1) идентификации и аутентификация пользователя при входе в систему;
2) разграничении прав доступа к файловой системе, в основе которого лежит реализация дискреционной модели доступа;
3) аудит, т.е. регистрация событий.
Для различных клонов ОС семейства Unix возможности механизмов защиты могут незначительно различаться, однако будем рассматривать ОС Unix в общем случае, без учета некоторых незначительных особенностей отдельных ОС этого семейства.
Построение файловой системы и разграничение доступа к файловым объектам имеет особенности, присущие данному семейству ОС. Все дисковые накопители (тома) объединяются в единую виртуальную файловую системупутем операции монтирования тома. При этом содержимое тома проецируется на выбранный каталог файловой системы. Элементами файловой системы являются также все устройства, подключаемые к защищаемому компьютеру (монтируемые к файловой системе). Поэтому разграничение доступа к ним осуществляется через файловою систему.
Каждый файловый объект имеет индексный дескриптор (структура данных, содержащая определенную важную информацию о процессе, в том числе: текущее состояние процесса, уникальный идентификатор процесса, приоритет процесса и т.п.), в котором среди прочего хранится информация о разграничении доступа к данному файловому объекту. Права доступа делятся на три категории: доступ для владельца, доступ для группы и доступ для остальных пользователей. В каждой категории определяются права на чтение, запись и исполнение (в случае каталога – просмотр).
Пользователь имеет уникальные символьный идентификатор (имя) и числовой идентификатор (UID). Символьный идентификатор предъявляется пользователем при входе в систему, числовой используется операционной системой для определения прав пользователя в системе (доступ к файлам и т.д.).
Принципиальные недостатки защитных механизмовОС семейства Unix.
В ОС семейства Unix, вследствие реализуемой ею концепции администрирования (не централизованная), невозможно обеспечить замкнутость (или целостность) программной среды. Это связано с невозможностью установки атрибута "исполнение" на каталог (для каталога данный атрибут ограничивает возможность "обзора" содержимого каталога). Поэтому при разграничении администратором доступа пользователей к каталогам, пользователь, как "владелец" создаваемого им файла, может занести в свой каталог исполняемый файл и, как его "владелец", установить на файл атрибут "исполнение", после чего запустить записанную им программу. Эта проблема непосредственно связана с реализуемой в ОС концепцией защиты информации.
Не в полном объеме реализуется модель доступа, в частности, не могут разграничиваться права доступа для пользователя "root" (UID = 0), т.е. данный субъект доступа исключается из схемы управления доступом к ресурсам. Соответственно все запускаемые им процессы имеют неограниченный доступ к защищаемым ресурсам. С этим недостатком системы защиты связано множество атак, в частности:
- несанкционированное получение прав root;
- запуск с правами root собственного исполняемого файла (локально либо удаленно внедренного), при этом несанкционированная программа получает полный доступ к защищаемым ресурсам и т.д.
Кроме того, в ОС семейства Unix невозможно встроенными средствами гарантированно удалять остаточную информацию. Для этого в системе абсолютно отсутствуют соответствующие механизмы.
Необходимо также отметить, что большинство ОС данного семейства не обладают возможностью контроля целостности файловой системы, т.е. не содержат соответствующих встроенных средств. В лучшем случае дополнительными утилитами может быть реализован контроль конфигурационных файлов ОС по расписанию в то время, как важнейшей возможностью данного механизма можно считать контроль целостности программ (приложений) перед их запуском, контроль файлов данных пользователя и т.д.
Что касается регистрации (аудита), то в ОС семейства Unix не обеспечивается регистрация выдачи документов на копию, а также некоторые другие требования к регистрации событий.
Если же трактовать требования к управлению доступом в общем случае, то при защите компьютера в составе ЛВС необходимо управление доступом к узлам сети. Однако встроенными средствами зашиты некоторых ОС семейства Unix управление доступом к узлам не реализуется.
Из приведенного анализа видно, что многие механизмы, необходимые с точки зрения выполнения формализованных требований, большинством ОС семейства Unix не реализуется в принципе, либо реализуется лишь частично.