автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Разработка и исследование файловой системы со слежением за целостностью

кандидата технических наук
Косых, Петр Александрович
город
Москва
год
2006
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка и исследование файловой системы со слежением за целостностью»

Автореферат диссертации по теме "Разработка и исследование файловой системы со слежением за целостностью"

На правах рукописи

Косых Петр Александрович

РАЗРАБОТКА И ИССЛЕДОВАНИЕ ФАЙЛОВОЙ СИСТЕМЫ СО СЛЕЖЕНИЕМ ЗА ЦЕЛОСТНОСТЬЮ

05Л3.11 - математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

05.13.19 - методы и системы защиты информации, информационная безопасность

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Москва - 2006

Работа выполнена в Московском инженерно-физическом институте (государственном университете)

Официальные оппоненты: доктор технических наук

Клыков Александр Викторович, кандидат технических наук, доцент Зубарев Игорь Витальевич Ведущая организация. Московский Научно-исследовательский

институт приборной автоматики

Защита диссертации состоится " 12 "_апреля_2006г.

в 14 часов 00 минут на заседании диссертационного совета Д 212.130 03 в конференц-зале главного корпуса Московского инженерно-физического института (государственного университета) по адресу 115409, г Москва, Каширское шоссе, 31.

С диссертацией можно ознакомиться в библиотеке института Автореферат разослан " _2006 г.

Ученый секретарь диссертационного совета д т н , профессор , ^--Шумилов Юрий Юрьевич

200СА

5" 3

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность темы. Жизнь современного общества немыслима без повсеместного использования программных систем, связанных с вводом, хранением, обработкой и выводом информации. Всеобщая компьютеризация, помимо очевидных выгод несет с собой и многочисленные проблемы, наиболее сложной из которых является проблема информационной безопасности. Можно выделить следующие причины трудоемкости решения задачи защиты программных систем: все большее отстранение пользователя от процессов обработки данных и передача его полномочий ПО, обладающему некоторой свободой в своих действиях и поэтому не всегда функционирующему так, как предполагает пользователь; появление новых технологий программирования, затрудняющих оценку качества программных продуктов.

Архитектуры современных многозадачных, многопользовательских операционных систем (ОС) удовлетворяют следующим основным требованиям: наличие механизма дискреционного разграничения доступа; изоляция адресных пространств процессов; изоляция кода ядра от злонамеренного воздействия кода пользовательских процессов; невозможность получения пользовательским процессом неочищенной памяти при ее выделении; аудит событий, критических с точки зрения безопасности. Однако выполнение этих и некоторых других требований само по себе не делает программную систему защищенной. Функционирование вредоносных программ (ВП) может свести «на нет» все преимущества ядра и ОС в целом. Полностью возможность попадания ВП в программную систему исключать нельзя, поэтому проблема защиты от ВП актуальна для компьютерных систем (КС) любого уровня защищенности. Необходима следующая поддержка со стороны программной среды: программная система должна быть максимально стойкой к проникновению и действиям ВП; нужно быть готовым к возможным проникновениям ВП и уметь обнаруживать это проникновение; необходимо ПО для борьбы с обнаруженными ВП и восстановления объектов КС от результатов деятельности КВ.

Серьезную угрозу безопасности для программной системы представляют умышленные и случайные деструктивные воздействия. При этом наиболее трудоемкой является защита от разрушающих программных воздействий (РПВ). Можно выделить следующие основные причины трудоемкости решения задачи защиты от РПВ: постоянное

(РОС. НАЦИОНАЛЬНАЯ | БИБЛИОТЕКА {

' Ж

совершенствование компьютерных технологий, появление новых математических методов, расширяющих возможности создателей РПВ; необходимость учета особенностей ОС при разработке средств защиты от РПВ; ограниченные возможности применяемых методов защиты от РПВ; недопустимость наличия дефектов в программном коде средств защиты типа "переполнение буфера", которые дают возможность атакующему подменять алгоритмы функционирования программных средств защиты, получать права администратора, вызывать отказы в обслуживании со стороны средств защиты; необходимость при разработке программных средств защиты обеспечения самозащиты от РПВ, наличия средств самоконтроля целостности, обеспечения гарантированное™ свойств; недопустимость использование только пассивных методов защиты, при реализации которых нападающая сторона всегда находится в более выигрышном положении, чем защищающаяся сторона; необходимость оперативной реакции со стороны разработчиков средств защиты от РПВ на появление принципиально новых технологий создания ВП.

На данный момент идеология современной многозадачной операционной системы является завершенной концепцией. Анализируя ядра самых распространенных ОС, таких как ядра Windows NT / 2000 / ХР, Linux и UNIX систем, можно утверждать, что, несмотря на некоторые внешние отличия, все они используют одинаковые парадигмы. В мире ОС имеется две категории сущностей: субъекты - изолированные процессы, запущенные от имени пользователя, и объекты - файлы, принадлежащие структурированной файловой системе и обладающие рядом атрибутов. Эта схема не меняется уже десятки лет, что, учитывая изменчивый мир информационных технологий (ИТ), позволяет сделать вывод о сформированной концепции ОС.

Файловая система это, вообще говоря, база данных особого рода Исторически, в идеологии файловой системы заложен минимум требований к ресурсам при приемлемом удобстве доступа. В то же время с ростом мощности компьютерных систем, становятся очевидными недостатки такой модели: и в смысле удобства работы пользователя и в смысле вопросов защиты информации. В качестве доказательства можно отметить тот факт, что, несмотря на незыблемость технических идей при реализации файловой системы, имеется тенденция сближения концепций БД и файловой системы.

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

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

Поэтому актуальными научными задачами являются:

■ разработка нового метода слежения за целостностью и подлинностью файлов, встроенного в файловую систему ОС и лишенного недостатков существующих методов;

■ разработка архитектуры файловой системы, использующей созданный метод слежения за целостностью и подлинностью данных. Целью диссертационной работы является разработка и исследование методов контроля целостности данных, обеспечивающих повышение устойчивости файловой системы к воздействию вредоносных программ. Для достижения поставленной цели необходимо решение следующих задач:

■ анализ уязвимостей программного кода, наличие которых позволяет подменять алгоритмы функционирования программных средств защиты, получать права администратора, вызывать отказы в обслуживании со стороны средств защиты;

■ исследование особенностей существующих методов поддержания целостности файлов;

■ анализ существующих файловых систем с функцией поддержки целостности;

■ разработка нового метода слежения за целостностью и подлинностью информации файловой системы, лишенного недостатков существующих средств;

■ создание (проектирование и реализация) файловой системы со слежением за целостностью данных;

■ исследование файловой системы и разработка методов повышения ее быстродействия.

Методы исследований. При проведении исследований и разработок в диссертационной работе были использованы методы теории алгоритмов, основанных на свойствах эллиптических кривых, теории конечных множеств, математической логики, системного программирования, технология безопасного программирования. Научная новизна работы состоит в том, что:

■ разработана новая концепция контейнера и его представлений, при этом механизм контейнеров позволяет связывать с файлами произвольную информацию, которая не теряется при распространении контейнеров, а структура контейнера скрыта от пользователя за механизмом представлений;

■ разработан новый метод слежения за целостностью и подлинностью файлов файловой системы во время их открытия, с использованием электронной цифровой подписи (ЭЦП); при этом связь ЭЦП с файлом осуществляется с помощью механизма контейнеров;

■ обоснована и разработана архитектура файловой системы со слежением за целостностью;

■ разработан и исследован вариант построения системы противодействия РПВ, использующий новый метод слежения за целостностью;

■ произведен анализ существующих файловых систем с функцией контроля целостности;

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

■ проведен анализ существующих уязвимостей программных систем, которые не выявляются на стадии отладки и тестирования и наличие которых сводит на нет все усилия по обеспечению безопасности информации в КС;

■ разработан и реализован новый механизм представлений, позволяющий связывать с файлом произвольную информацию;

■ разработана и реализована файловая система с функцией слежения за целостностью и подлинностью файлов, основанная на механизме представлений;

■ разработан и реализован быстрый алгоритм выработки и проверки ЭЦП;

■ разработаны и реализованы базовые утилиты администрирования файловой системы со слежением за целостностью;

■ экспериментальное исследование разработанной файловой системы в режимах персонального использования и защиты от РПВ показало, что ее использование позволяет прозрачно для пользователя контролировать подлинность и целостность распространяемых файлов и обеспечивать эффективную защиту от многих видов РПВ соответственно.

Реализация результатов. Результаты работы внедрены в ряд НИОКР, проводимых ВНИИНС, в рамках Межведомственной координационной программы «Информационные технологии специального назначения», подготовленной в соответствии с поручением Президента Российской Федерации от 24 мая 2002 г. № К863с.

Апробация работы. Результаты работы докладывались и обсуждались на научных сессиях МИФИ-2003, 2004, 2005, XII Общероссийской научно-технической конференции (Санкт-Петербург, 2004), 60-й научной сессии, посвященной дню Радио (Москва, 2005). Публикации. По теме работы опубликованы 9 печатных работ. Структура работы. Работа состоит из введения, пяти глав, заключения и приложения. Основной материал изложен на 140 страницах и содержит 23 рисунка. Список литературы содержит 59 наименований. В приложении приведены результаты анализа механизмов функционирования РПВ в среде защищенной ОС, а также встроенных в ОС средств защиты информации. На защиту выносятся:

■ результаты анализа уязвимостей программных систем; " разработанная концепция представлений;

■ разработанный механизм контроля целостности данных;

■ архитектура разработанной файловой системы со слежением за целостностью;

■ основные принципы построения файловой системы со слежением за целостностью;

■ результаты исследования файловой системы со слежением за целостностью.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ Во введении обоснована актуальность темы, определены цели и задачи исследований, представлены основные положения диссертационной работы, выносимые на защиту.

В первой главе проводится исчерпывающий анализ уязвимостей программных систем, которые не выявляются на стадии отладки и тестирования. Наличие подобных уязвимостей означает существование угрозы проникновения и функционирования РПВ в любой системе. На основании этого утверждения делается вывод о необходимости в составе КС функции контроля целостности, как эффективного средства в борьбе против РПВ. Анализируются существующие подходы по поддержанию целостности файловой системы (ФС): расширенный аудит событий ядра; поддержание базы данных контрольных кодов для отслеживания операций создания, удаления и изменения файлов; внедрение механизма ЭЦП на уровне конкретных приложений и/или форматов файлов; антивирусное ПО, предотвращающее операции, потенциально несущие в себе угрозу целостности; аппаратно-программные комплексы, направленные на обеспечение доверенной загрузки системы; криптографические средства.

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

Поддержка целостности файлов означает защиту от несанкционированной модификации данных и позволяет защититься от целого класса угроз, самой опасной из которых является угроза проникновения РПВ. Действительно, РПВ часто сопровождаются несанкционированной модификацией данных, а сама возможность проникновения РПВ не исключена, что и означает необходимость наличия в КС программных средств контроля целостности как средства борьбы с РПВ.

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

Во второй главе анализируются существующие ФС, а шкже выделяются наиболее общие решения, применяемые при их разработке:

■ обычно ФС реализована как файловая система-фильтр, это позволяет расширять функциональность любой существующей ФС;

■ для передачи управления ФС могут использоваться представления, ФС может обеспечивать трансляцию содержимого файла, однако эта идея не стала популярной из-за трудности ее применения;

■ обычно, часть кода ФС размещена в пользовательском режиме, чтобы не загромождать ядро и облегчить перенос ФС на другие версии ядер;

■ для криптографических ФС обычно используется локальная парольная аутентификация.

Полученные данные необходимы для реализации ФС со слежением за целостностью и помогают построить архитектуру ФС. В результате анализа не было найдено ни одной ФС, прямо направленной на поддержание целостности.

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

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

В результате рассмотрения требований к ФС со слежением за целостностью и на основе анализа ФС было предложено следующее решение. Единственным способом сделать ЭЦП неразрывным атрибутом файла является размещение ЭЦП внутри файла. Тогда при любом распространении файла, ЭЦП не будет утеряна, так как файл копируется целиком - это единая сущность в понятии ФС. В тоже время, размещение ЭЦП внутри файла нарушает его структуру с точки зрения ПО, работающего с этим файлом и рассчитывающего на определенный формат файла. Этот конфликт разрешается с введением механизма представлений. Пусть имеется файл определенного формата (далее контейнер), содержимое которого выглядит следующим образом: в заголовке расположена служебная информация (далее атрибуты), а за заголовком следуют данные произвольного формата - вложенный файл (см. рис. 1).

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

гом рассуждений является переход к использованию информации, необходимой для проверки ЭЦП, в качестве атрибутов контейнера и построение архитектуры ФС на основе механизма представлений. Пусть в атрибутах контейнера содержится служебная информация для проверки ЭЦП, которой подписан вложенный в контейнер файл.

Виртуальное имя

Пложенный файл \

Атрибуты Вложенный файл

\ Контейнер \

* \

- *----------------------------> ■

Имя контейнера

Рис. 1 • Структура контейнера

В смысле реализации ФС со слежением за целостностью выполнена как фильтр ФС, так как рациональнее разрабатывать ФС в виде надстройки, что позволяет добавить необходимые свойства к любой ФС с нужными характеристиками. В качестве основной идеи реализации лежат понятия контейнера и представления. Таким образом, ФС поддерживает механизм представлений на основе имен файлов. В зависимости от имени файла, файл представлен пользователю либо "как есть", либо как файл, вложенный в контейнер (сокрытие атрибутов). В случае открытия файла по его виртуальному имени выполняется проверка ЭЦП и определяется степень доверия к пользователю, подписавшему файл. Работа с ЭЦП производится в режиме пользователя, а не ядра (выполняется пользовательским приложением, а не драйвером), так как проверка ЭЦП является сложной операцией и ее реализация в ядре не является желательной в смысле безопасности и «отзывчивости» системы. База данных открытых ключей доверенных абонентов является общей для пользователей системы и поддерживается администратором. Ведется протоколирование нарушений целостности файлов при их открытии и выполнении. Архитектура разработанной файловой системы со слежением за целостностью (8щпР8) представлена на рис. 2.

Прозрачность проверки ЭЦП это некий компромисс между удобством и безопасностью. В связи с этим в работе использована схема из двух уровней доверия: уровень абонентов-разработчиков ПО и администраторов, которые могут подписывать выполняемые файлы, и уровень обычных пользователей. Очевидно, что первый уровень (далее привилегированный) не должен быть многочисленным, в то время как последний никак не ограничен. Также необходим компромисс между удобством применения ЭЦП для защиты целостности файлов и ее применением для проверки подлинности. В работе акцент сделан на поддержку целостности файлов и поэтому открытые ключи принадлежат не конкретному пользователю, а системе и едины для всех пользователей системы. Таким образом, введение ЭЦП в ФС дает много преимуществ с точки зрения защиты от РПВ, не говоря уже о том, что в режиме персонального применения пользователи получают возможность подписывать обычные файлы для прозрачной передачи их по сети и прозрачной же проверки подлинности, что не представлено ни в одном существующем решении. При этом, что не менее важно, концепция остается крайне простой, а реализация - прозрачной.

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

Повышение быстродействия достигалось, в основном за счет реализации процедуры проверки ЭЦП: для ускорения процедуры проверки ЭЦП на эллиптических кривых был использован метод ускорения операции редукции для чисел Мерсенна; для ускорения проверки ЭЦП в системе был введен кэш хеш-значений содержимого проверенных файлов, таким образом удалось избежать проверки ЭЦП для файлов, которые наиболее часто открываются в системе и в тоже время их содержимое не изменяется; в качестве хеш-функции есть возможность выбрать алгоритмы ГОСТ Р 34.11-94 и SHA, причем реализация алгоритма SHA выполняется в 2 раза быстрее для одинаковых объемов данных. Кроме того, были предприняты усилия для уменьшения накладных расходов при поддержке механизма представлений в ядре. ФС перехватывает интерфейсные функции модифицируемой ФС (которые находятся между уровнями: виртуальной ФС и реализацией конкретной ФС), что позволило добиться приемлемого быстродействия и избавиться от необходимости модификации исходного кода ядра ОС Linux. Кроме того, это позволило минимизировать часть ФС, расположенную в ядре ОС

Рис. 2: Архитектура SignFS

Открытые ключи доверенных пользователей хранятся в системе в открытом виде в текстовой форме. Личные ключи хранятся в системе в зашифрованном на пароле пользователя виде. Для шифрования используется алгоритм ГОСТ 28147-89. Чтобы сделать ФС максимально гибкой, в качестве идентификатора пользователя (открытого ключа) используется открытый ключ абонента. Инфраструктура работы с ключами ЭЦП является открытой настолько, насколько это возможно без потери надежности и безопасности. Это делает использование ФС гибким, расширяемым и масштабируемым, так как легко вписывается в любую политику безопасности со своей инфраструктурой поддержки и обмена ключами. Проверка ЭЦП в режиме пользователя

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

ФС должна различать обращение к реальному файлу и к файлу-представлению максимально быстро В работе используется однозначная схема соответствия имени представления и имени его контейнера. Имя контейнера для представления получается путем добавления к имени представления постфикса '^п'. Такая простая схема соответствия позволяет избежать накладных расходов для операции открытия файла, который не является представлением. Для удобства защиты системных файлов реализована также поддержка внешних контейнеров. Внешний контейнер содержит в себе только служебную информацию для проверки ЭЦП и не включает в себя вложенный файл. Внешний контейнер должен располагаться рядом с файлом (который логически, по не физически, является вложенным в контейнер файлом).

Вместе с ФС были разработаны утилиты администрирования, работающие в текстовом режиме и выполняющие следующие основные действия: подпись файла и создание контейнера, проверка контейнера, добавления личных и открытых ключей в систему и др.

В пятой главе приводятся результаты экспериментального исследования разработанной ФС, которое с одной стороны доказало правильность выбранной архитектуры и реализации, а с другой, позволило выявить узкие места реализации и повысить быстродействие ФС. Результаты исследования подкрепляются математической и логической интерпретацией. Также в главе демонстрируется прозрачность работы ФС со слежением за целостностью. Кроме того, очерчиваются границы областей применения данной ФС.

С точки зрения быстродействия узкими местами являются:

" просмотр (чтение) каталога, в котором присутствует множество

контейнеров или файлов с постфиксном '^п';

■ открытие выполняемого файла (библиотеки);

* попытка открытия файла, который не существует;

■ открытие представления.

Для оценки времени чтения каталога был написан тест, суть которого состоит в следующем: создание 10000 файлов с расширением

и замер времени выполнения команды просмотра содержимого каталога; создание 10000 файлов с расширением ^п и замер времени выполнения команды просмотра содержимого каталога При этом тест выполнялся при загруженном и выгруженном модуле ФС. Выполнение теста показало, что время просмотра для обычных файлов не отличается в обоих случаях. В тоже время чтение каталога, в котором присутствуют потенциальные контейнеры, увеличивается более чем в 100 раз. Однако в абсолютном измерении сама по себе операция не является критической - действительно, чтение каталога с 10000 файлами-контейнерами занимает на современной системе меньше секунды. Для оценки открытия файлов-контейнеров также был написан тест, логика которого заключена в следующей последовательности действий; создание файлов размером 32Кб, 100Кб, 1Мб, 10Мб, 50Мб, 100Мб; чтение файлов с замером времени; создание файлов размером 32Кб, 100Кб, 1Мб, 10Мб, 50Мб, 100Мб и подписывание их; чтение файлов с замером времени. Кроме выполнения тестирования зависимость накладных расходов от размера файла была описана математически следующим образом. Время открытия и чтения (из кэша) файла /„, в случае постоянных условий эксперимента (один и тот же файл)

складывается из фиксированного времени открытия (0 и времени чтения t| Время чтения файла зависит линейно от размера файла = кгЬ . Тогда /0( = + кгЬ . Время открытия и чтения файла-контейнера складывается из времени чтения, времени открытия, а также времени проверки ЭЦП ^, которое в свою очередь можно записать как = Г, + ккЬ , где 1с - фиксированное время вычисления ЭЦП по подсчитанному хеш-значению, а кИЬ- время подсчета хеш-значения (линейно зависит от размера файла). Тогда накладные расходы (или замедление) принимает вид: К - —

Кг К^ + К

{ + ( к + к

При I —» 0, К —> —-- , при Ь —> со, К -» —--. При небольших

I к

о г

размерах файлов (десятки килобайт) ощутимым становится время подсчета ЭЦП по хеш-значению, а время подсчета самого хеш-значения

пренебрежимо мало. При больших размерах файлов, напротив, становится ощутимым время подсчета хеш-значения. Несмотря па значи-1сльные относительные накладные расходы (полученные в ходе тестирования), открытие ЮМ файла на современной системе осуществляется менее, чем за 1 секунду. Для пользовательских файлов и файлов конфигурации это значение задержки не может являться критическим. А если принять во внимание тот факт, что большинство подобных файлов в типичной Linux-системе не превышает размера 32К, и для 1аких файлов время задержки исчисляется десятой долей секунды, а для ручной проверки файла требуются секунды, то незначительность таких задержек становится очевидной.

ОС Linux является сложной и взаимосвязанной системой компонентов. С точки зрения ФС, в ней содержится тысячи выполняемых файлов и библиотек, зависимости между которыми часто не очевидны. Поэтому для оценки накладных расходов операции выполнения защищаемого файла было проведено отдельное экспериментальное исследование быстродействия, оценка которого может быть только визуальной. В качестве модели была выбрана система (Pentium 4, 2.8Ghz, 512 RAM, OS Debian/Sarge), в которой была альтернативная корневая ФС с подписанными выполняемыми файлами и разделяемыми библиотеками. Активизировалась ФС со слежением за целостностью и запускалась оконная среда. Результат оказался удовлетворительным - система позволяла комфортно работать пользователю без ощутимых задержек.

ФС со слежением за целостностью может использоваться в нескольких режимах, основными из которых являются: персональное использование для распространения подписанных документов и автоматической проверки подлинности документов; использование в защищенных программных системах для защиты от РПВ.

Противодействие РПВ означает следующую политику безопасности:

■ подписаны все выполняемые файлы;

■ подписаны все разделяемые библиотеки;

■ выполнение не подписанных файлов запрещено;

■ использование не подписанных файлов запрещено;

■ персональное использование ЭЦП может быть разрешено для выделенной группы пользователей.

Для тестирования ФС в режиме противодействия РПВ использовались реальные файловые вирусы для ОС Linux, а также анализирова-

лось поведение ФС при атаке на систему сетевыми червями Тестирование показало эффективность использования ФС в борьбе против РПВ

В заключении отражены основные результаты, полученные в данной диссертационной работе.

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

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

3. Проанализированы существующие подходы к решению задачи поддержания целостности файловой системы, в том числе выделены наиболее общие решения, применяемые в файловых системах;

4. Сформулированы требования по поддержанию целостности файловой системы;

5. Введено новое понятие контейнера и его представлений, которое решает проблему неразрывной связи атрибутов с файлом и определяет способ реализации файловой системы;

6. Разработан новый механизм слежения за целостностью файлов;

7. Разработана архитектура файловой системы со слежением за целостностью;

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

9 Проведено экспериментальное исследование разработанной файловой системы и разработаны методы повышения ее быстродействия;

10.Проведено экспериментальное исследование функционирования файловой системы, доказавшее ее эффективность как средства защиты от разрушающих программных воздействий.

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Уязвимости существующих средств защиты от разрушающих программных воздействий / И.Ю.Жуков, М.А.Иванов, П.А.Косых и др. Научная сессия МИФИ-2005. Сборник научных трудов. Том 12. М.: МИФИ, 2005, с. 146-148.

2. Комплекс программных средств антивирусной защиты в среде ОС МСВС / И.Ю.Жуков, М.А.Иванов, П.А.Косых и др. Научная сессия МИФИ-2005. Сборник научных трудов. Том 12. М.: МИФИ, 2005, с. 149-150.

3. Файловая система со слежением за целостностью / П.А. Косых. Научная сессия МИФИ-2004. Сборник научных трудов. Том 12. М.: МИФИ, 2004, с. 170-171.

4. Антивирусная защита в АСОД / П.А.Косых, Д.В.Байбаков, Егоров Е.В., Тетерин И.И. Научная сессия МИФИ-2003. Сборник научных трудов. Том 12. М.: МИФИ, 2003, с. 168-169.

5 Операционные системы для защищенных АСОД / П.А.Косых, Д.В.Байбаков, Егоров Е.В., Тетерин И.И. Научная сессия МИФИ-2003 Сборник научных трудов. Том 12. М.: МИФИ, 2003, с. 170.

6. Защита от разрушающих программных воздействий. А.П Ананьев, Р.Р.Арабгаджиев, П.А.Косых и др. 60-я НАУЧНАЯ СЕССИЯ, ПОСВЯЩЕННАЯ ДНЮ РАДИО. Сборник научных трудов. Москва, 2005, с. 167

7. Косых П.А. Файловая система со слежением за целостностью 60-я НАУЧНАЯ СЕССИЯ, ПОСВЯЩЕННАЯ ДНЮ РАДИО. Сборник научных трудов. Москва, 2005, с. 167

8 Косых П.А Файловая система со слежением за целостно-аью Тезисы докладов 3-ей ежегодной международной научно-практической конференции "Инфокоммуникационные технологии глобального информационного общества".- Казанский государственный университет им. В.И. Ульянова-Ленина, 2005, с 101-102

9. Ефанов Д.В., Косых П.А., Жуков И.Ю. Подходы к построению файловой системы специализированной защищенной ОС // Материалы XII Общероссийской научно-технической конференции «Методы и технические средства обеспечения безопасности информации» - СПб.: Издательство Политехнического университета. 2004, с. 16.

i

aoosA

• 45165" p - 4 э 6 9 .

i

Оглавление автор диссертации — кандидата технических наук Косых, Петр Александрович

Список иллюстраций б

Введение

1 Постановка задачи. Целостность файловой системы

1.1 Разрушающие программные воздействия (РПВ). Актуальность задачи поддержания целостности данных.

1.2 Уязвимости программных систем как угроза РПВ.

1.2.1 Атаки на переполнение буфера.

1.2.2 Атаки на переполнение целого.

1.2.3 Атаки на формат строки

1.2.4 Состязания на доступ к ресурсам.

1.2.5 Другие уязвимости.

1.3 Особенности существующих средств для поддержания целостности файловой системы.

1.3.1 Ведение базы данных контрольных кодов.

1.3.2 Аудит ядра.

1.3.3 Расширенные атрибуты файлов.

1.3.4 Внедрение цифровой подписи.

1.3.5 Антивирусное ПО (Мониторы).

1.3.6 Аппаратно-программные комплексы.

1.3.7 Расширение функциональности файловых систем

1.4 Требования по поддержанию целостности файловой системы

1.5 Выводы.

2 Анализ файловых систем поддержания целостности

2.1 Антивирусная файловая система, отслеживающая доступ к файлу (AVFS: An On-Access Anti-Virus File System).

2.2 Модуль безопасности Enforcer.

2.3 Криптографические файловые системы.

2.3.1 Криптографическая файловая система (CFS: Cryptographic File System)

2.3.2 Прозрачная криптографическая файловая система для UNIX (TCFS: Transparent Cryptographic Filesystem for UNIX).

2.3.3 Выводы из анализа файловых систем CFS и TCFS

2.4 Стеганографическая файловая система (StegFS).

2.5 Другие файловые системы

2.5.1 Файловая система преобразований или представлений (TrFS: Translation Filesystem).

2.5.2 Файловая система пользовательского режима (USERFS)

2.5.3 Файловая система в пользовательском режиме (FUSE:

File System In User Space).

2.6 Выводы.

3 Обоснование и разработка концепции файловой системы со слежением за целостностью (SignFS)

3.1 Выбор механизма контроля за целостностью.

3.2 Понятие контейнера и его представлений.

3.3 Защита целостности файлов.

3.4 Архитектура.

3.5 Выводы.

4 Реализация файловой системы со слежением за целостностью

4.1 Выбор версии ядра.

4.2 Перехват вызовов к файловой системе.

4.2.1 Способы перехвата управления вызовов к файловой системе

4.2.2 Существование представления как объекта ядра.

4.2.3 Перехватываемые операции файловой системы.

4.2.4 Перехват указателей на функции в структурах inodeoperations и fileoperations

4.3 Драйвер SignFS.

4.4 Формат контейнера.

4.5 Демон ^пР8с1.

4.5.1 Взаимодействие с ядром.

4.5.2 Архитектура демона.

4.5.3 Работа с ключами

4.5.4 Формат базы данных открытых ключей доверенных абонентов

4.5.5 Формат базы данных личных ключей.

4.6 Реализация ЭЦП.

4.6.1 Библиотека арифметики больших чисел.

4.6.2 Библиотека математических операций над точками эллиптических кривых.

4.6.3 Реализация операции хеширования по ГОСТ Р34.11

4.6.4 Реализация алгоритмов выработки и проверки ЭЦП

4.6.5 Вспомогательные утилиты.

4.7 Выводы.

5 Исследование файловой системы SignFS и разработка методов повышения ее быстродействия

5.1 Чтение каталога.

5.2 Открытие и чтение контейнеров.

5.3 Выполнение файла.

5.4 Повышение быстродействия операции выполнения файла

5.5 Режимы использования

5.5.1 Персональное использование.

5.5.2 Противодействие РПВ.

5.6 Выводы.

Введение 2006 год, диссертация по информатике, вычислительной технике и управлению, Косых, Петр Александрович

Жизнь современного общества не мыслима без повсеместного использования программных систем, связанных с вводом, хранением, обработкой и выводом информации. Всеобщая компьютеризация, помимо очевидных выгод несет с собой и многочисленные проблемы, наиболее сложной из которых является проблема информационной безопасности.

Можно выделить следующие причины трудоемкости решения задачи защиты программных систем: увеличение объемов информации, накапливаемой, хранимой и обрабатываемой с помощью компьютерной техники; сосредоточение в единых базах данных (БД) информации различного назначения и принадлежности; расширение круга пользователей, имеющих доступ к ресурсам компьютерной системы и находящимся в ней массивам данных; усложнение режимов функционирования и увеличение количества связей программных систем; использование зарубежной элементной базы и ПО; распространение сетевых технологий, объединение локальных сетей в глобальные; появление общедоступной, не находящейся ни в чьем владении сети Internet, практически во всех сегментах которой отсутствуют какие-либо контролирующие или защитные механизмы; бурное развитие ПО, в большинстве своем не отвечающего минимальным требованиям безопасности; все большее отстранение пользователя от процессов обработки информации и передача его полномочий ПО, обладающему некоторой свободой в своих действиях и поэтому вовсе пе обязательно работающему так, как предполагает пользователь; наличие различных стилей программирования, появление новых технологий программирования, затрудняющих оценку качества используемых программных продуктов.

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

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

Актуальность. Серьезную угрозу безопасности КС представляют умышленные и случайные деструктивные воздействия. При этом наиболее трудоемкой является защита от разрушающих программных воздействий (РПВ). Можно выделить следующие основные причины трудоемкости решения задачи защиты от РПВ:

• постоянное совершенствование компьютерных технологий, появление новых математических методов, расширяющих возможности создателей РПВ;

• необходимость учета особенностей ОС при разработке средств защиты от РПВ;

• ограниченные возможности применяемых методов защиты от РПВ;

• недопустимость наличия дефектов в программном коде средств защиты типа "переполнение буфера", которые дают возможность атакующему подменять алгоритмы функционирования программных средств защиты, получать права администратора, вызывать отказы в обслуживании со стороны средств защиты;

• необходимость при разработке программных средств защиты обеспечения самозащиты от РПВ, наличия средств самоконтроля целостности, обеспечения гарантированпости свойств;

• недопустимость использование только пассивных методов защиты, при реализации которых нападающая сторона всегда находится в более выигрышном положении, чем защищающаяся сторона;

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

Эффективная защита от РПВ это не фиксированная совокупность методов и средств - это постоянный анализ защищенности системы на всех ее уровнях, опережающее совершенствование методов и средств защиты.

На данный момент идеология современной многозадачной операционной системы (ОС) является завершенной концепцией. Анализируя ядра самых распространенных ОС, таких как ядра ОС WindowsNT / 2000 / ХР, Linux и UNIX систем, можно утверждать, что, несмотря на некоторые внешние отличия, все они используют одинаковые парадигмы.

В мире ОС имеется две категории сущностей: субъекты - изолированные процессы, запущенные от имени пользователя и объекты: файлы - принадлежащие структурированной файловой системе (ФС) и обладающие рядом атрибутов. Эта схема не меняется уже десятки лет, что учитывая изменчивый мир информационных технологий (ИТ), позволяет сделать вывод о сформированной концепции ОС.

Файловая система это, вообще говоря, база данных особого рода. Исторически, в идеологии файловой системы заложен минимум требований к ресурсам при приемлемом удобстве доступа. В то же время с ростом мощности компьютерных систем, становятся очевидными недостатки такой модели: и в смысле удобства работы пользователя и в смысле вопросов защиты информации. В качестве доказательства можно отметить тот факт, что, несмотря на незыблемость технических идей при реализации файловой системы, имеется тенденция сближения концепций БД и файловой системы.

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

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

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

Для достижения поставленной цели необходимо решение следующих задач:

• анализ уязвимостей программного кода, наличие которых позволяет вредоносным программам подменять алгоритмы функционирования, вызывать отказы в обслуживании со стороны программных средств защиты компьютерных систем;

• исследование существующих методов контроля целостности файлов, анализ существующих файловых систем с функцией поддержания целостности с целью выявления их недостатков;

• разработка нового метода слежения за целостностью и подлинностью информации файловой системы, лишенного недостатков существующих методов;

• разработка и исследование файловой системы со слежением за целостностью данных, разработка методов повышения ее быстродействия.

Методы исследований. При проведении исследований и разработок в диссертационной работе были использованы методы теории алгоритмов, основанных на свойствах эллиптических кривых, теории конечных полей, математической логики, системного программирования, методы безопасного программирования.

Научная новизна работы состоит в том, что: и

• разработана новая концепция контейнера и его представлений, при этом механизм контейнеров позволяет связывать с файлами произвольную информацию, которая не теряется при распространении контейнеров, а структура контейнера скрыта от пользователя за механизмом представлений;

• разработан новый метод слежения за целостностью и подлинностью файлов файловой системы во время их открытия, с использованием электронной цифровой иодписи (ЭЦП); при этом связь ЭЦП с файлом осуществляется с помощью механизма контейнеров;

• обоснована и разработана архитектура файловой системы со слежением за целостностью;

• разработан и исследован вариант построения системы безопасности, использующий новый способ слежения за целостностью;

• произведен анализ существующих файловых систем с функцией контроля целостности;

• доказана принципиальная возможность внедрения эллиптических алгоритмов в ядро ОС Linux (в файловую систему).

Практическая ценность работы заключается в следующем:

• разработана и реализована файловая система с функцией слежения за целостностью и подлинностью файлов, основанная на механизме представлений, позволяющим прозрачно для пользователя и администратора распространять защищаемые файлы;

• разработан и реализован быстрый алгоритм выработки и проверки ЭЦП;

• разработаны и реализованы базовые утилиты администрирования, которые позволяют внедрить файловую систему со слежением за целостностью в любую Linux систему;

• экспериментальное исследование разработанной файловой системы в режиме защиты от РПВ показало, что ее использование позволяет прозрачно для пользователя контролировать целостность распространяемых файлов и обеспечивать эффективную защиту от многих видов РПВ.

Основные полооюения, выносимые на защиту:

• результаты анализа уязвимостей программных систем;

• концепция представлений;

• разработанный механизм слежения за целостностью;

• архитектура файловой системы со слежением за целостностью;

• основные принципы построения файловой системы со слежением за целостностью;

• результаты исследования файловой системы со слежением за целостностью.

Работа состоит из введения, пяти глав, заключения и приложения.

В главе 1 проводится исчерпывающий анализ уязвимостей программных систем, которые не выявляются на стадии отладки и тестирования программных систем. Наличие подобных уязвимостей означает существование угрозы проникновения и функционирования РПВ в любой системе. На основании этого утверждения делается вывод о необходимости наличия у КС функции контроля целостности, как эффективного средства в борьбе против РПВ. Анализируются существующие подходы по поддержанию целостности файловой системы. Вводятся требования но поддержанию целостности файлов. Требования содержат в себе важный вывод о том, что реализация должна быть выполнена в виде файловой системы.

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

В главе 3, на основе результатов, иолучениых в разделе 1.4, шаг за шагом описывается процесс разработки архитектуры файловой системы со слежением за целостностью. Анализируется способ поддержания целостности файлов файловой системы, обосновывается выбор механизма слежения за целостностью.

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

Глава 4 содержит ответы на вопрос, как реализовать спроектированную в главе 3 файловую систему рациональным образом (с точки зрения безопасности, быстродействия и простоты архитектуры). Структура главы представляет собой этапы реализации файловой системы. Результатом главы является законченная реализация, выполненная па основе представлений об оптимальной системе.

В главе 5 приводятся результаты экспериментального исследования разработанной файловой системы, которое с одной стороны доказало правильность выбранной архитектуры и реализации, а с другой, позволило выявить узкие места реализации и повысить быстродействие ее функционирования. Результаты исследования подкрепляются математической и логической интерпретацией. Также в главе демонстрируется прозрачность работы файловой системы со слежением за целостностью. Кроме того, очерчиваются границы областей применения данной файловой системы.

В приложении приводятся результаты анализа механизмов функционирования РПВ в среде защищенной ОС, а также встроенных в ОС программных средств защиты информации.

Результаты работы докладывались и обсуждались на научных сессиях МИФИ-2003, 2004, 2005, 60-й научной сессии, посвященной дню Радио (Москва, 2005), на XII Общероссийской научно-технической конференции (Санкт-Петербург, 2004), 3-й ежегодной международной научно-практической конференции (Казань, 2005).

Результаты работы внедрены:

• В НИОКР, проводимую ВНИИНС в рамках Межведомственной координационной программы "Информационные технологии специального назначении", подготовленной в соответствии с поручением Президента Российской Федерации от 24 мая 2004 г. №К863 с.

• В НИОКР, проводимую ВНИИНС и связанную с созданием комплекса программных средств антивирусной защиты для программных систем, функционирующих под управлением ОС семейства МСВС. Работа выполнялись по заказу Министерства обороны РФ. Основанием для выполнения работы является постановление правительства РФ от 30.12.2003 №790-48 "О государственном оборонном заказе".

Заключение диссертация на тему "Разработка и исследование файловой системы со слежением за целостностью"

5.6. Выводы

1. В данной главе было проведено экспериментальное исследование разработанной файловой системы, которое с одной стороны доказало правильность выбранной архитектуры, а с другой, позволило выявить узкие места реализации (5.3) и разработать методы повышения быстродействия (5.4);

2. После использования разработанных методов повышения быстродействия повторное исследование показало, что на современных системах использование SignFS не отражается критически па быстродействии и реализация проверки целостности в виде файловой системы в настоящее время может быть исиользоваиа. Кроме того, алгоритм ЭЦП на эллиптических кривых является достаточно быстрым для того, чтобы также быть встроенным в файловую систему и обеспечивать решение задач защиты целостности и подлинности данных;

3. Результаты экспериментального исследования были подкреплены математической интерпретацией (формула 5.1). В ряде случаев было проведено логическое обоснование результатов исследования.

4. Показано, что скорость алгоритма хеш-функции 8НА-250 существенно выше скорости алгоритма ГОСТ Р34.11-94 (слабая сторона Российского стандарта ЭЦП).

5. Приведена демонстрация работы файловой системы SignFS и сделан вывод о том, что для пользователя работа полностью прозрачна. Кроме того, были очерчены границы областей применения данной файловой системы и описаны режимы использования.

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

7. Продемонстрированы протоколы сообщений файловой системы и изображения, отражающие работу пользователя и показывающие простоту использования файловой системы в режиме персонального использования.

8. Доказана тривиальность решений задач администрирования для Linux администратора.

Заключение

В качестве основных результатов работы можно выделить следующие.

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

2. Проведен детальный анализ уязвимостей программных систем, которые не выявляются на стадии отладки и тестирования программных систем: атаки на переполнение буфера, атаки на переполнение целого, атаки возможные при состязаниях иа доступ к ресурсу, атаки на формат строки. Наличие подобных уязвимостей сводит па пет все усилия по обеспечению безопасности компьютерной системы, так как позволяет атакующему получать права администратора, подменять алгоритмы функционирования программных средств защиты информации, вызывать отказы в обслуживании.

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

4. Проанализированы существующие подходы к решению задачи поддержания целостности файловой системы: ведение базы данных контрольных кодов, аудит ядра, внедрение электронной цифровой подписи, аппаратно-программные решения, антивирусное программное обеспечение, расширение функциональности файловых систем. Были выделены наиболее общие решения применяемые в файловых системах с расширенной функциональностью: реализация в виде файловой системы-фильтра, использование механизма представлений ииформации, частичная реализация в пользовательском режиме, использование локальной аутентификации в криптографических файловых системах.

5. Сформулированы требования по поддержанию целостности файловой системы: должна присутствовать возможность гарантированной защиты произвольных файлов от модификации; должна быть обеспечена возможность контроля не только целостности, но и подлинности файла; операции "выполнение файла", "загрузка драйвера" должны выполняться только для доверенных файлов; при копировании и/или переносе файла связанные с ним и необходимые для проверки целостности данные не должны теряться; при обнаружении факта нарушения целостности файла факт нарушения должен быть отражен для последующего анализа администратором, доступ к такому файлу запрещен; реализация должна быть прозрачна для пользователя.

6. Введено новое понятие контейнера и его представлений, которое являясь центральной идеей проекта, пронизывает все слои архитектуры файловой системы. Механизм контейнеров позволяет связывать с произвольными файлами произвольную информацию, которая не теряется при распространении контейнеров, а структура контейнеров скрыта от пользователя за механизмом представлений.

7. Разработай новый механизм слежения за целостностью файлов в виде файловой системы, реализующей механизм представлений для связывания с файлами электронной цифровой подписи и выполняющей проверку подлинности и целостности "на лету".

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

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

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

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

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

Таким образом, можно сказать, что решены все поставленные задачи диссертации, работа является актуальной, а ее результаты содержат в себе как научную новизну, так и практическую ценность.

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

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

Библиография Косых, Петр Александрович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Антивирусная защита в АСОД / П.А.Косых, Д.В.Байбаков, Е.В.Егоров, И.И.Тетерин. Научная сессия МИФИ 2003. Сборник научных трудов. -М.:МИФИ,2003. -Т.12. -С.168-169.

2. Операционные системы для защищенных АСОД / П.А. Косых, Д.В.Байбаков, Е.В.Егоров, И.И.Тетерин. Научная сессия МИФИ 2003. Сборник научных трудов. -М.:МИФИ,2003. -Т.12. -С.170.

3. П.А.Косых. Файловая система со слежением за целостностью. Научная сессия МИФИ 2004. Сборник научных трудов. -М.:МИФИ, 2004. -Т.12. -С.170-171.

4. Уязвимости существующих средств защиты от разрушающих программных воздействий / И.Ю.Жуков, М.А.Иванов, П.А.Косых и др. Научная сессия МИФИ 2005. Сборник научных трудов. -М.:МИФИ,2005. -Т.12. -С.146-148.

5. Комплекс программных средств антивирусной защиты (КПС АВЗ) в среде ОС МСВС / И.Ю.Жуков, А.П.Ананьев, П.А.Косых и др. Научная сессия МИФИ 2005. Сборник научных трудов. -М.:МИФИ,2005. -Т.12. -С.149-150.

6. Защита от разрушающих программных воздействий / А.П.Апапьев, Р.Р.Арабгаджисв, П.А.Косых и др. 60-я НАУЧНАЯ СЕССИЯ, ПОСВЯЩЕННАЯ ДНЮ РАДИО. Сборник научных трудов. -Москва, 2005. -С.167.

7. Косых П.А. Файловая система со слежением за целостностью. 60-я НАУЧНАЯ СЕССИЯ, ПОСВЯЩЕННАЯ ДНЮ РАДИО. Сборник научных трудов. -Москва,2005, -С.167.

8. Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации. Руководящий документ. -Гостехкомиссия России, М., 1992.

9. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от НСД к информации. Руководящий документ. Гостехкомиссия России, М., 1992.

10. Мельников В.В. Защита информации в компьютерных системах. М.: Финансы и статистика: Электронинформ, 1997.

11. Гриняев С.Н. Интеллектуальное противодействие информационному оружию. М.: Синтсг, 1999.

12. Столлиигс В. Криптография и защита сетей: принципы и практика, 2-е изд.: Пер. с англ. М.: Изд. дом "Вильяме", 2001.

13. Щербаков А.Ю. Введение в теорию и практику компьютерной безопасности. М.: Изд. Молгачева С.В., 2001.

14. Максимальная безопасность в Linux. Пер. с англ./ Автор анонимный. Диасофт, 2000.

15. Введение в криптографию, под общей редакцией В.В.Ященко, 2-е изд.,1999

16. Matt Blaze. A Cryptographic File System for Unix, http://www.crypto, com/papers/cfs. pdf ,1993

17. Giuseppe Cattaneo, Luigi Catuogno, Aniello DelSobro, Pino Persiano. The design and Implementation of a Transparent Cryptographic Filesystem for UNIX. USENIX Annual Technical Conference 2001. http://www.tcfs.it/ docs/freenixOl.pdf

18. Yevgeniy Miretskiy, Abhijith Das, Charles P. Wright, and Erez Zadok Stony Brook University. Avfs: An On-Access Anti-Virus File System, 13th USENIX Symposium (Security 2004). http://www.fsl.cs.sunysb.edu/ docs/avfs-security04/avfs.pdf

19. Andrew D. McDonald and Markus G. Kuhn. StegFS: A Steganographic File System for Linux.¡University of Cambridge, Computer Laboratory, http:// www. cl .cam.ac.uk/~mgk25/ih99-stegf s .pdf

20. Брюс Шнайер. Прикладная криптография, 2-е издание. Протоколы, алгоритмы и исходные тексты на языке "С"

21. Mathieu Ciet, Tanja Lange, Francesco Sica and Jean-Jacques Quisquater. Improved Algorithms for Efficient Arithmetic on Elliptic Curves using Fast Endomorphism: UCL Crypto Group, http://www.dice.ucl.ac.be/ crypto/

22. RECOMMENDED ELLIPTIC CURVES FOR FEDERAL GOVERNMENT USE, NIST, Jule 19992G. Dan Beauregard. Efficient Algorithms for Implementing Elliptic Curve Public-Key Schemes, May 199G

23. M.Bednara, M.Daldrup, J.Teich, J. von zur Gathen, J. Shokrollahi. TRADEOFF ANALYSIS OF FPGA BASED ELLIPTIC CURVE CRYPTOGRAPHY: Computer Engineering Laboratory and Algorithmic Mathematics at University of Paterborn.

24. Henna Pietilainen, Otaniemi. Elliptic curve cryptography on smart cards. -October 12, 2000

25. J. Solinas. Generalized Mersenne numbers// Technical Report CORR 99-39, Dept.of C&O, University of Waterloo, 1999.

26. ГОСТ 34.10-2001, ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ, Информационная технология, КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ, Процессы формирования и проверки электронной цифровой подписи, ГОССТАНДАРТ РОССИИ, Москва.

27. Darrel Hankerson (Auburn University), Alfred Menezes (University of Waterloo). Elliptic Curve Point Multiplication using Halving. -May 11, 2004.

28. Mullender, S.J. and A.S.Tanenbaum. "Immediate Files", Software Practice and Experience. -Vol. 14(4). - April 1984. -C. 365-368.

29. Домашняя страница проекта PaX (невыполняемый стек), http: / / pax.grsecurity.net /

30. Paul Starzetz, Wojciech Purczynski. Описание уязвимости переполнения целого в ядре Linux 2.4.25. http://isec.pl/vulnerabilities/isec-0015-msfilter.txt

31. Бюллютень безопасности Microsoft MS02-07, Уязвимость WMTIMER. http: / / www.microsoft.com / technet / security/bulletin/MS02-071 .mspx

32. Статьи о файловой системе WinFS, Microsoft. http://msdii.microsoft.com/data/winfs/

33. Федеральный закон об электронной цифровой подписи. http://www.internet-law.ru/intlaw/laws/ecp.htm

34. Домашняя страница проекта слежения за целостностью файлов Enforcer, http: / / enforcer.sourceforge.net /

35. Домашняя страница проекта файловой противовирусной файловой системы. http://www.fsl.es. sunysb.edu/project-antivirusfs. html

36. Модули безопасности Linux, http://lsm.immunix.org/

37. Домашняя страница прозрачной криптографической файловой системы. http://www.tcfs.it

38. Домашняя страница файловой системы EncFS. http://encfs.sf.net

39. Стегаиографическая файловая система, Andrew McDonald, Markus Kuhn. http://www.mcdonald.org.uk/StegFS/

40. Развитие стегапографической файловой системы, http: / / stegfs.sourceforge.net

41. Файловая система преобразований trfs. http://trfs.sf.net

42. Письмо Amit S. Kale о файловой системе trfs. http://lkinl.Org/lkml/2000/ll/8/70

43. Поисковая система, http://www.google.com

44. Пользовательская файловая система, http://uservfs.sourceforge.net/

45. Файловая система пользовательского режима, http://fuse.sourceforge.net/

46. Математическая библиотека, http://www.swox.com/gmp/

47. Математическая библиотека. http://www.informatik.tu-darmstadt.de/TI/LiDIA/Welcome.html

48. Библиотека операций на эллиптических кривых. http://libecc.sourceforge.net

49. Национальный Институт Стандартов и Технологий, http://www.nist.gov

50. Оконная среда, http://www.gnome.org

51. Сообщение Bruce Schneier о взломе SHA-1. http://www.schneier.com/blog/archives/2005/02/shalbroken.litml

52. Сообщение организации PGP об отказе от SHA-1. http://www.geekzone.co.nz/content.asp?contentid=4099

53. Исходный код экенлоита библиотеки zlib. http://buffer, antifork.org/security/zlib-exploit. с