Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

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

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

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Косых Петр Александрович. Разработка и исследование файловой системы со слежением за целостностью : диссертация ... кандидата технических наук : 05.13.11, 05.13.19.- Москва, 2006.- 185 с.: ил. РГБ ОД, 61 06-5/1940

Содержание к диссертации

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

Введение 7

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

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

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

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

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

  3. Атаки на формат строки 27

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

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

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

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

  2. Аудит ядра 33

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

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

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

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

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

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

  2. Выводы 39

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

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

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

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

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

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

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

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

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

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

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

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

File System In User Space) 57

2.6 Выводы 58

Обоснование и разработка концепции файловой системы со

слежением за целостностью (SignFS) 60

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

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

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

  4. Архитектура 67

  5. Выводы 70

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

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

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

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

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

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

  4. Перехват указателей на функции в структурах inode_operations и file_operations 79

  1. Драйвер SignFS 84

  2. Формат контейнера 88

  3. Демон SignFSd 90

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

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

  3. Работа с ключами 93

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

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

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

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

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

  3. Реализация операции хеширования по ГОСТ Р34.11-94 . 105

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

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

4.7 Выводы 108

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

  1. Чтение каталога 110

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

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

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

  5. Режимы использования SignFS 118

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

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

5.6 Выводы 129

Заключение 131

Литература 135

Приложение 140

Анализ функциональных объектов компьютерных систем, уяз
вимых перед разрушающими программными воздействиями
(РПВ) 141

П.1 Защищенность ОС 141

П.2 Воздействие вредоносных программ (ВП) на функциональные

объекты КС 144

П.З Анализ возможностей встроенных механизмов защиты ОС . . . 151

П.4 Ядро Windows NT, ядро Linux и код вируса 156

П.4.1 Общий взгляд на архитектуру ядра 15G

П.4.2 Изолированность ядра 158

П.4.3 Системные вызовы 159

П.4.4 Изолированность адресных пространств 161

П.4.5 Контроль доступа к объектам 163

П.4.6 Форматы выполняемых файлов. Дописывание кода, пе
рехват функций 165

П.4.7 Возможности получения доступа к чужим адресным

пространствам 174

П.4.8 Драйверы 176

П.4.9 Сеть, идея межсетевого экрана ( firewall) 178

П.4.10 Существование ВП 180

Предметный указатель 182

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

  1. Классификация уязвимостей программных систем 19

  2. Стек функции 21

  3. Поддержка распределения памяти в glibc 24

  4. Освобождение фрагмента 24

  5. Освобождение блока перед уже свободным блоком 25

  1. Файловая система Avfs 42

  2. Файловая система CFS 47

  3. Файловая система TCFS 49

  4. Архитектура файловой системы StegFS 53

  5. Файловая система FUSE 58

  1. Контейнер и его представления 63

  2. Архитектура SignFS 69

  1. Работа ядра с файловой системой 73

  2. Существование контейнера в ядре 77

  3. Перехват указателей в структурах file_operations и inode-_operations 84

  4. Формат заголовка контейнера 89

  5. Взаимодействие драйвера и демона 93

  6. Формат контекста ЭЦП 94

  1. Зависимость накладных расходов от размера файла при открытии файла 113

  2. Открытие представления в редакторе oowriter 121

  3. Открытие представления 121

  4. Открытие представления с нарушенной целостностью 122

5.5 Функционирование сетевого червя Slapper 127

П.6 Объекты КС, уязвимые перед компьютерными вирусами .... 148

П.7 Обобщенная архитектура современных многозадачных ОС . . . 157

П.8 Трансляция виртуального адреса в физический 162

Введение к работе

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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