Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Системные вызовы и взаимодействие с UNIX.
В этой главе речь пойдет о процессах. Скомпилированная программа хранится на диске как обычный нетекстовый файл. Когда она будет загружена в память компьютера и начнет выполняться - она станет процессом. UNIX - многозадачная система (мультипрограммная). Это означает, что одновременно может быть запущено много процессов. Процессор выполняет их в режиме разделения времени - выделяя по очереди квант времени одному процессу, затем другому, третьему... В результате создается впечатление параллельного выполнения всех процессов (на многопроцессорных машинах параллельность истинная). Процессам, ожидающим некоторого события, время процессора не выделяется. Более того, " спящий" процесс может быть временно откачан (т.е. скопирован из памяти машины) на диск, чтобы освободить память для других процессов. Когда " спящий" процесс дождется события, он будет " разбужен" системой, переведен в ранг " готовых к выполнению" и, если был откачан будет возвращен с диска в память (но, может быть, на другое место в памяти!). Эта процедура носит название " своппинг" (swapping). Можно запустить несколько процессов, выполняющих программу из одного и того же файла; при этом все они будут (если только специально не было предусмотрено иначе) независимыми друг от друга. Так, у каждого пользователя, работающего в системе, имеется свой собственный процесс- интерпретатор команд (своя копия), выполняющий программу из файла /bin/csh (или /bin/sh). Процесс представляет собой изолированный " мир", общающийся с другими " мирами" во Вселенной при помощи:
38. ОСНОВНЫЕ ВСТРОЕННЫЕ МЕХАНИЗМЫ ЗАЩИТЫ ОС И ИХ НЕДОСТАТКИ Кратко остановимся на основных механизмах защиты, встроенных в современные универсальные ОС. Сделаем это применительно к возможности реализации ими принятой нами для рассмотрения концепции защиты конфиденциальной ин- формации. 9.2.2.1. ОСНОВНЫЕ ЗАЩИТНЫЕ МЕХАНИЗМЫ ОС СЕМЕЙСТВА UNIX Защита ОС семейства Unix в общем случае базируется на трех основных механизмах: 1) идентификации и аутентификация пользователя при входе в систему; 2) разграничении прав доступа к файловой системе, в основе которого лежит реализация дискреционной модели дос- тупа; 3) аудит, т.е. регистрация событий. При этом отметим, что для различных клонов ОС семейства Unix возможности механизмов защиты могут незначитель- но различаться, однако будем рассматривать ОС Unix в общем случае, без учета некоторых незначительных особенностей отдельных ОС этого семейства. Построение файловой системы и разграничение доступа к файловым объектам имеет особенности, присущие данному семейству ОС. Рассмотрим кратко эти особенности. Все дисковые накопители (тома) объединяются в единую виртуальную файловую систему путем операции монтирования тома. При этом содержимое тома проецируется на выбранный каталог файловой системы. Элементами файловой системы являются также все устройства, подключаемые к защищаемому компью- теру (монтируемые к файловой системе). Поэтому разграничение доступа к ним осуществляется через файловою систему. Каждый файловый объект имеет индексный дескриптор, в котором среди прочего хранится информация о разграниче- нии доступа к данному файловому объекту. Права доступа делятся на три категории: доступ для владельца, доступ для груп- пы и доступ для остальных пользователей. В каждой категории определяются права на чтение, запись и исполнение (в слу- чае каталога – просмотр). Пользователь имеет уникальные символьный идентификатор (имя) и числовой идентификатор (UID). Символьный идентификатор предъявляется пользователем при входе в систему, числовой используется операционной системой для опре- деления прав пользователя в системе (доступ к файлам и т.д.). Принципиальные недостатки защитных механизмов ОС семейства Unix. Рассмотрим в общем случае недостатки реализации системы защиты ОС семейства Unix в части невыполнения требований к защите конфиденциальной информа- ции, напрямую связанные с возможностью НСД к информации. Для начала отметим, что в ОС семейства Unix, вследствие реализуемой ею концепции администрирования (не центра- лизованная), невозможно обеспечить замкнутость (или целостность) программной среды. Это связано с невозможностью установки атрибута " исполнение" на каталог (для каталога данный атрибут ограничивает возможность " обзора" содержимо- го каталога). Поэтому при разграничении администратором доступа пользователей к каталогам, пользователь, как " владе- лец" создаваемого им файла, может занести в свой каталог исполняемый файл и, как его " владелец", установить на файл ат- рибут " исполнение", после чего запустить записанную им программу. Эта проблема непосредственно связана с реализуемой в ОС концепцией защиты информации. Не в полном объеме реализуется дискреционная модель доступа, в частности, не могут разграничиваться права доступа для пользователя " root" (UID = 0), т.е. данный субъект доступа исключается из схемы управления доступом к ресурсам. Соот- ветственно все запускаемые им процессы имеют неограниченный доступ к защищаемым ресурсам. С этим недостатком системы защиты связано множество атак, в частности: − несанкционированное получение прав root; − запуск с правами root собственного исполняемого файла (локально либо удаленно внедренного), при этом несанк- ционированная программа получает полный доступ к защищаемым ресурсам и т.д. Кроме того, в ОС семейства Unix невозможно встроенными средствами гарантированно удалять остаточную информа- цию. Для этого в системе абсолютно отсутствуют соответствующие механизмы. Необходимо также отметить, что большинство ОС данного семейства не обладают возможностью контроля целостно- сти файловой системы, т.е. не содержат соответствующих встроенных средств. В лучшем случае дополнительными утилита- ми может быть реализован контроль конфигурационных файлов ОС по расписанию в то время, как важнейшей возможно- стью данного механизма можно считать контроль целостности программ (приложений) перед их запуском, контроль файлов данных пользователя и т.д. Что касается регистрации (аудита), то в ОС семейства Unix не обеспечивается регистрация выдачи документов на " твердую копию", а также некоторые другие требования к регистрации событий. Если же трактовать требования к управлению доступом в общем случае, то при защите компьютера в составе ЛВС не- обходимо управление доступом к узлам сети. Однако встроенными средствами зашиты некоторых ОС семейства Unix управление доступом к узлам не реализуется. Из приведенного анализа видно, что многие механизмы, необходимые с точки зрения выполнения формализованных требований, большинством ОС семейства Unix не реализуется в принципе, либо реализуется лишь частично.
40.
|