Содержание к диссертации
ВВЕДЕНИЕ 9
1. АНАЛИЗ ПРОБЛЕМ ПОСТРОЕНИЯ ПРОГРАММНЫХ СИСТЕМ
ЗАЩИТЫ ИНФОРМАЦИИ ОТ СРЕДСТВ ДИНАМИЧЕСКОГО И
СТАТИЧЕСКОГО ИЗУЧЕНИЯ ПРОГРАММ 17
1 Л. Анализ проблем построения программных систем защиты
ИНФОРМАЦИИ ОТСРЕДСТВ ДИНАМИЧЕСКОГО И СТАТИЧЕСКОГО ИЗУЧЕНИЯ
ПРОГРАММ ДЛЯ ДИСКОВЫХ ОПЕРАЦИОННЫХ СИСТЕМ 17
/// Структура программной системы защиты информации для
дисковых операционных систем 17
L1,Z Классификация средств анализа программного кода 18
I.L3, Структурная модель программной среды дисковой операционной
системы в аспекте применяемых средств анализа 19
LL4. Классификация способов противодействия средствам анализа
программного кода для дисковой операционной системы 21
ЛЛ5. Программная среда дисковой операционной системы в аспекте системы защиты информации от средств динамического и
статического анализа 24
L2. Анализ проблем построеі іия программных систем защиты
информации от средств динамического и статического изучения
программ для операционных систем Windows 25
Структура операционной системы Windows 25
Классификация средств анализа и способов исследования механихмов работы программного кода для операционной системы
Windows 34
1,2.3* Классификация способов противодействия средствам анализа
программного кода для операционной системы Windows 38
1.2.4. Амшлт проблем практической реализации программных систем
защиты для операционной системы Windows , 43
1-3, Существующая оценочная модель программных систем защиты
информации 44
Модель оценки надежности программных систем защиты информации. 44
Недостатки модели оценки надежности программных систем защиты информации 49
1.4. Классы программного обеспечения, для которых целесообразно
применение результатов работы 49
1.5- Постановка задач исследований 50
1.6. Выводы по первой главе 53
2. РАЗРАБОТКА МОДЕЛЕЙ ПРОГРАММНЫХ СИСТЕМ ЗАЩИТЫ
ИНФОРМАЦИИ ОТ СРЕДСТВ ДИНАМИЧЕСКОГО И СТАТИЧЕСКОГО
АНАЛИЗА 55
2.1, Разработка структурных моделей программной среды операционной системы Windows в аспекте защиты информации от средств
динамического и статического анализа 55
2.1.L Понятие информационного потока в среде функционирования
программной системы защиты информации 55
Классификация информационных потоков в среде функционирования программной системы защиты информации 56
Структурная модель среды функционирования пользовательского приложения 58
Структурная модель среды функционирования пользовательского приложения в аспекте используемых средств анализа 61
Структурная модель среды функционирования пользовательского приложения в аспекте программных систем защиты информации 63
2.2. Разработка математической модели программной системы защиты
информации на основе марковских процессов с дискретными
состояниями и непрерывным временем 66
Недостатки существующих моделей 66
Принятые при разработке модели допущения 67
Определение состояний для программных систем защиты
информации, функционирующих в пользовательском режиме 67
2.24. Определение переходов между состояниями для программных систем защиты информации, функционирующих в пользовательском
режиме 70
2.2,5. AfameMamunecKoe описание модели 73
2.3. Показатели применимости разработанной модели 76
2А Выводы по второй главе 76
3. РАЗРАБОТКА СПОСОБОВ ПРОТИВОДЕЙСТВИЯ СРЕДСТВАМ
ДИНАМИЧЕСКОГО И СТАТИЧЕСКОГО АНАЛИЗА 78
3-1 -Выявление слабых мест средств анализа 78
3-2- Анализ структур и компонентов операционной системы в аспекте их
использования при разработке способов противодействия 80
Использование структурной обработки исключений для разработки способов противодействия средствам анализа 80
Использование таблиц импорта загружаемых файлов для разработки способов противодействия средствам анализа 82
Использование атрибутов страниц памяти для противодействия получению образов программ 82
Использование недокументированных возможностей операционных систем для противодействия эмуляторам 83
33. Практическая разработка способов противодействия средствам
динамического и статического анализа 83
3.3.1, Разработка программной подсистемы защиты логики работы.... 84
Разработка способов противодействия средствам анализа 86
Противодействие исследованию таблиц импорта средствами
анализа , 94
3*3*4. Противодействие получению дампа памяти 101
3.3.5. Противодействие программным эмуляторам кода 104
3.4. Разработка блок-схем алгоритмов разработанных способов
противодействия 107
Использование структурной обработки исключений для противодействия отладчикам 107
Использование структурной обработки исключений при переключении контекста потоков 108
Противодействие получению информации через таблицу импорта статическими средствами анализа 109
Противодействие установке контрольных точек на вход API-функций ПО
Противодействие получению дампа памяти ПО
3.4.6. Противодействие программным эмуляторам кода 111
3.5-ВЫВОДЫ ПО ТРЕТЬЕЙ ГЛАВЕ 112
4. РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТАЛЬНОЙ ПРОВЕРКИ
РАЗРАБОТАННЫХ СПОСОБОВ ПРОТИВОДЕЙСТВИЯ СРЕДСТВАМ
АНАЛИЗА 115
4 Л. Тестирование 115
4.1.1. Выбор объекта тестирования 115
4.L2. Выбор стратегии тестирования , 115
4. КЗ. Описание процесса тестирования 116
4.L4. Влияние разработанных способов противодействия на
быстродействие 118
4.2. Независимость реализации способов противодействия от различных
версий операционных систем 118
4.3. Оценка достоверности результатов выполненной работы 119
4*3.1. Расчет количественных характеристик программной системы
защиты информации па основе разработанной математической модели
119
Оценка адекватности теоретических результатов диссертации с помощью существующей оценочной модели 127
Оценка практических результатов работы с использованием разработанной структурной модели 132
Сравнительный анализ существующих систем защиты 135
Показатели применимости разработанных способов противодействия 136
4,5J. Технические показатели , 136
4+5*2* Экономические показатели 137
4+5,3. Положительные аспекты использования результатов
диссертации , 138
4.5.4, Отрицательные аспекты использования результатов диссертации
138
Направление дальнейших исследований 139
Патентная защита и внедрение 139
Выводы по четвертой главе 140
ЗАКЛЮЧЕНИЕ 142
БИБЛИОГРАФИЧЕСКИЙ СПИСОК ИСПОЛЬЗОВАННОЙ
ЛИТЕРАТУРЫ 146
ПРИЛОЖЕНИЯ. 155
ПРИЛОЖЕНИЕ U ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ 156
ПРИЛОЖЕНИЕ 2. ПРОГРАММА ИЗМЕРЕНИЯ ВРЕМЕНИ
ВЫПОЛНЕНИЯ ПРИЛОЖЕНИЯ В РЕЖИМЕ ЯДРА 158
ПРИЛОЖЕНИЕ 3. ПРОГРАММА, ОСУЩЕСТВЛЯЮЩАЯ ПЕРЕДАЧУ
УПРАВЛЕНИЯ ИЗ ОБРАБОТЧИКА СТРУКТУРНОЙ ОБРАБОТКИ
ИСКЛЮЧЕНИЙ.. 163
ПРИЛОЖЕНИЕ 4. ПРИМЕР ИСПОЛЬЗОВАНИЯ ТРАССИРОВКИ В
ПОЛЬЗОВАТЕЛЬСКОМ ПРИЛОЖЕНИИ. 167
ПРИЛОЖЕНИЕ 5. ПРОГРАММА ПРОТИВОДЕЙСТВИЯ ПОЛУЧЕНИЮ
ДАМПА ПАМЯТИ 171
ПРИЛОЖЕНИЕ 6. КОД ФУНКЦИИ GETPROCAD DRESS 174
ПРИЛОЖЕНИЕ 7. ПРОГРАММА ПРОСМОТРА СПИСКА
ЗАГРУЖЕННЫХ МОДУЛЕЙ ПУТЕМ ИСПОЛЬЗОВАНИЯ
ВНУТРЕННИХ СТРУКТУР ОПЕРАЦИОННОЙ СИСТЕМЫ. 179
ПРИЛОЖЕНИЕ 8." АКТ О ВНЕДРЕНИИ РЕЗУЛЬТАТОВ
ДИССЕРТАЦИОННОЙ РАБОТЫ В ООО "ПРОТЕКШЕЙ
ТЕХНОЛОДЖИ" „182
ПРИЛОЖЕНИЕ 9. СВИДЕТЕЛЬСТВО О РЕГИСТРАЦИИ В
РОСПАТЕНТ ПРОГРАММНОЙ СИСТЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ
STAR-FORCE V2.0 С РАЗРАБОТАННЫМИ СПОСОБАМИ
ПРОТИВОДЕЙСТВИЯ 184
ПРИЛОЖЕНИЕ 10. АКТ О ТЕСТИРОВАНИИ РАЗРАБОТАННЫХ
СПОСОБОВ ПРОТИВОДЕЙСТВИЯ ОТДЕЛОМ ТЕСТИРОВАНИЯ
КОМПАНИИ ООО "РУССОБИТ-ТРЕЙД" 186
ПРИЛОЖЕНИЕ 11. ИСПОЛЬЗОВАНИЕ РАЗРАБОТАННОЙ
МАТЕМАТИЧЕСКОЙ МОДЕЛИ ДЛЯ ПОЛУЧЕНИЯ
КОЛИЧЕСТВЕННОЙ ОЦЕНКИ ЭФФЕКТИВНОСТИ
ПРОТИВОДЕЙСТВИЯ РАЗРАБОТАННЫХ СПОСОБОВ 188
ПРИЛОЖЕНИЕ 12. АКТ ОБ ИСПОЛЬЗОВАНИИ РЕЗУЛЬТАТОВ
ДИССЕРТАЦИИ В УЧЕБНОМ ПРОЦЕССЕ СМОЛЕНСКОГО
ФИЛ НАЛА МЭИ (ТУ) 192
ПРИЛОЖЕНИЕ 13. АКТ О ВНЕДРЕНИИ РЕЗУЛЬТАТОВ
ДИССЕРТАЦИОННОЙ РАБОТЫ В ООО "РУССОБИТ-ТРЕЙД" 194
ПРИЛОЖЕНИЕ 14. СВИДЕТЕЛЬСТВО О РЕГИСТРАЦИИ
РАЗРАБОТАННЫХ АЛГОРИТМОВ В РОСПАТЕНТ 196
ПРИЛОЖЕНИЕ 15. ГРАФИЧЕСКОЕ СРАВНЕНИЕ ВЕРОЯТНОСТЕЙ
НАХОЖДЕНИЯ РАССМАТРИВАЕМЫХ ПРОГРАММНЫХ СИСТЕМ
ЗАЩИТЫ ИНФОРМАЦИИ В КАЖДОМ ИЗ ОПРЕДЕЛЕННЫХ В
РАБОТЕ СОСТОЯНИЙ 198
ПРИЛОЖЕНИЕ 16. РАСЧЕТ ЭФФЕКТИВНОСТИ ИСПОЛЬЗОВАНИЯ
РАЗРАБОТАННЫХ СПОСОБОВ ПРОТИВОДЕЙСТВИЯ НА ОСНОВЕ
РАЗРАБОТАННОЙ МОДЕЛИ 204
ПРИЛОЖЕНИЕ 17. РАСЧЕТ ЭФФЕКТИВНОСТИ ИСПОЛЬЗОВАНИЯ
РАЗРАБОТАННЫХ СПОСОБОВ ПРОТИВОДЕЙСТВИЯ НА ОСНОВЕ
СУЩЕСТВУЮЩЕЙ МОДЕЛИ 206
Введение к работе
Необходимость использования систем защиты программного
обеспечения (ПО) обусловлена рядом факторов, среди которых следует
выделить; незаконное использование алгоритмов, являющихся
интеллектуальной собственностью автора, несанкционированный доступ [34], использование и модификация ПО, незаконное распространение и сбыт ПО.
Имеется тенденция роста уровня пиратства [32, 58, 79], которая сохраняется и в настоящее время, что увеличивает финансовые потери производителей ПО.
В связи с этим задача разработки надежных программных систем защиты информации (ПСЗИ) приобретает все большую значимость.
Согласно [75, 76, 83], стойкость к взлому ПСЗИ во многом определяется стойкостью к взлому программной подсистемы защиты логики работы (ППЗЛР), которая является составной частью любой ПСЗИ.
В настоящее время можно говорить о нехватке новых способов противодействия средствам изучения программ для операционных систем (ОС) Windows, которые могут быть использованы при разработке ППЗЛР, что влечет снижение стойкости к взлому ПСЗИ, которые функционируют в пользовательском режиме ОС Windows.
В первой главе диссертации рассмотрены программные продукты, для которых применяются ПСЗИ, проведен анализ применяемых при построении ППЗЛР способов защиты и средств их исследования, что позволяет определить причины снижения стойкости ПСЗИ к взлому и определить направление для дальнейших исследований» Из первой главы диссертации следуют выводы о необходимости разработки методов и средств, которые могут быть использованы для построения ППЗЛР.
Внедрение разработанных в данной работе способов противодействия
средствам анализа позволяет увеличить стойкость к взлому ПСЗИ,
разрабатываемых для ОС семейства Windows, позволяет осуществлять
успешное противодействие средствам анализа потенциального злоумышленника, которые применяются при изучении защищенного ПО.
Решение задачи разработки математических моделей для оценки стойкости к взлому ППЗЛР наталкивается на серьезные трудности. Во-первых, необходимо отмстить, что, как правило, отсутствуют строго адекватные модели и методы оценки таких систем. Практика показывает, что методы оценки в подавляющем большинстве случаев создаются для каждой ППЗЛР индивидуально [76], что позволяет учитывать для них различные аспекты использования- Во-вторых, часть информации, необходимая для разработки способов противодействия средствам анализа, недоступна из-за недоку ментироваш гости кода операционной системы, что заставляет проводить дополнительные исследования принципов функционирования ОС Windows-Разработка математических и структурных моделей осложняется неочевидными зависимостями между параметрами, а также неизвестными закономерностями их влияния на целевые характеристики; выборки данных зачастую непредставительны.
Целью диссертационной работы является исследование существующих и разработка новых средств защиты программ от динамического и статического анализа для повышения эффективности противодействия средствам анализа потенциального злоумышленника путем повышения степени контроля за информационными потоками в операционной среде, практическая реализация и внедрение разработанных программных средств, оценка их эффективности-
Для достижения указанной цели в работе необходимо решить следующие научные задачи:
1) исследование и классификация существующих средств динамического и статического анализа программ. Исследование и классификация существующих средств защиты программ. Анализ степени защищенности информационных потоков;
разработка структурной модели информационных потоков в операционной среде с точки зрения возможного использования их средствами динамического и статического анализа;
разработка метода количественной оценки эффективности системы защиты от динамического и статического анализа программ;
разработка алгоритмов способов противодействия средствам исследования программ.
В ходе работы над диссертацией были использованы следующие методы исследовании:
методы теории Марковских процессов;
методы теории вычислительных систем;
экспериментальные методы.
Обоснование научных результатов, выводов и рекомендаций, сформулированных в диссертации, определяется корректным применением использованных методов исследования и экспериментальной проверкой полученных результатов. А также подтверждается приведенной оценкой
адекватности разработанной модели.
Достоверность научных положений и результатов диссертационной работы подтверждается:
совпадением полученных теоретических результатов с экспериментальными результатами;
апробацией основных результатов;
практическим внедрением разработанных средств защиты программ от исследования, что подтверждено двумя актами о внедрении и актом о тестировании разработанных алгоритмов.
Научный вклад и научная новизна работы заключается в следующем:
Разработаны структурные модели информационных потоков при выполнении программы в среде Win32, которые могут использоваться средствами анализа программ.
Разработана модель систем защиты программ от статического и динамического анализа, которая может быть использована для получения количественной оценки эффективности средств противодействия исследованию программ.
Разработаны алгоритмы противодействия средствам динамического и статического анализа программ.
Основные положение, выносимые на защиту.
Классификация и структурные модели информационных потоков пользовательской среды Win32.
Модель систем защиты программ от статического и динамического анализа.
Алгоритмы противодействия средствам динамического и статического анализа программ.
Практическая значимость работы:
разработки программных средств защиты прикладных приложений операционной системы Windows от их динамического и статического анализа;
получения количественных оценок эффективности способов противодействия средствам динамического и статического анализа программ;
увеличения стойкости программных средств защиты информации к их анализу и последующему преодолению.
Практическая значимость работы подтверждена также тремя актами о внедрении.
Реализация результатов исследований.
Результаты диссертационной работы используются в следующих организациях:
ООО "Руссобит-Трейд", г.Москва - завод по производству CD-дисков и игрового программного обеспечения;
ООО "Протекшей Техполоджи", г. Москва - фирма-разработчик новых систем защиты информации.
филиал государственного образовательного учреждения высшего профессионального образования "Московский энергетический институт (технический университет)" в г, Смоленске.
Факт использования результатов работы подтверждается
соответствующими актами, приведенными в приложениях.
Апробацня работы.
Основные результаты диссертации докладывались на следующих конференциях:
шестая военно-научная конференция "Проблемы теории и практики войсковой ПВО ВС РФ в современных условиях". Военный университет войсковой ПВО ВС РФ, Смоленск, 1999 год;
шестая международная научно-техническая конференция студентов и аспирантов "Радиоэлектроника, электротехника и энергетика". МЭИ, Москва, 2000 год;
межвузовская научно-техническая конференция "Управляющие и вычислительные системы. Новые технологии", ВоГТУ, Вологда, 2000 год;
пятая международная научная конференция "Современные проблемы информатизации в технике и технологиях", ЦЧКИ, Воронеж, 2000 год;
восьмая военно-научная конференция "Уроки и выводы из опыта локальных войн и их влияние па развитие теории и практики войсковой ПВО'1- Военный университет войсковой ПВО ВС РФ, Смоленск, 2000 год.
Публикации.
По результатам исследований автором опубликовано 11 работ.
Структура и объем работы.
Диссертация состоит из введения, четырех глав, заключения, списка
литературы (всего 101 наименование) и 17 приложений. Диссертация содержит
207 страниц машинописного текста, рисунков и таблиц,
В первой главе рассмотрены структуры операционных систем DOS и Windows, проведен анализ существующих способов противодействия средствам изучения программ, проведен анализ оценочных моделей, позволяющих определять характеристики ПСЗИ. Проанализированы и выделены проблемы, возникающие при практической реализации существующих способов противодействия на ОС Windows. Определен класс ПО, для которого целесообразно применение результатов диссертации. Сформулированы задачи диссертационного исследования.
Во второй главе предложена классификация информационных потоков в
программной среде, разработаны структурные модели программной среды в
аспекте защиты от средств анализа. На основе теории марковских процессов
разработана математическая модель, которая может быть применена для
получения количественных характеристик различных ПСЗИ,
функционирующих в пользовательском режиме ОС Windows.
В третьей главе проведено исследование слабых мест средств анализа,
которым не может быть осуществлено противодействия со стороны
существующих способов защиты. Выполнено исследование
недокументированных структур и компонентов ОС с точки зрения возможности их использования в разработке новых способов противодействия средствам анализа. Предложены новые способы противодействия рассмотренным средствам изучения программ, приведены схемы алгоритмов разработанных способов противодействия:
В четвертой главе приведены результаты проведенного тестирования разработанных способов противодействия, выполнена оценка достоверности результатов проведенной работы, выполнен сравнительный анализ существующих ПСЗИ, предназначенных для защиты программных продуктов, стоимость снятия ПСЗИ с которых выше стоимости самого продукта. Приведены положительные и отрицательные аспекты использования результатов диссертации, экономические показатели использования результатов работы. С использованием разработанной модели получены количественные оценки для разработанных способов противодействия средствам анализа. Для подтверждения адекватности полученных теоретических результатов, выполнено их сравнение с результатами, полученными с помощью существующей оценочной модели.
Указаны возможные направления дальнейших исследований и область применения результатов работы. Приведен список, организаций, в которых выполнено внедрение теоретических и практических результатов диссертации.
В заключении работы приведена общая характеристика работы и основные выводы по результатам диссертационной работы.
Приложения содержат исходные тексты реализованных способов противодействия средствам анализа, акты о внедрении и тестировании разработанных способов противодействия, свидетельства о регистрации в РОСПАТЕНТе, графическое сравнение вероятностей нахождения
*
сравниваемых ПСЗИ в каждом из определенных при разработке математической модели состояний.