Система обнаружения скрытого программного обеспечения в ОС Windows

Автор: Пользователь скрыл имя, 31 Марта 2012 в 17:27, дипломная работа

Краткое описание

Многие способы обнаружения зависят от версии ОС Windows или версии его пакета обновления. Например, для получения списка процессов с использованием списков потоков планировщика, необходимо определять смещения полей внутри структуры, которые могут изменяться как с новой версией ОС Windows, так и с новой версией пакета обновления. Это вынуждает анализировать код системной функции, динамически искать в памяти сигнатуры для функций. Причём при выходе каждой новой версии ОС Windows или версии его пакета обновления трудоёмкие исследования необходимо всякий раз повторять заново.

Оглавление

Обозначения и сокращения 5
Введение 6
1 Описание архитектуры ОС Windows 8
1.1 Процессы 8
1.2 Потоки 9
1.3 Драйверы 15
1.4 Службы 17
2 Недостатки известных способов обнаружения объектов в ОС Windows 21
3 Описание предлагаемого способа обнаружения скрытых объектов 23
3.1 Использование динамических битовых сигнатур для поиска ядерных структур 23
3.2 Процессы 25
3.3 Потоки 27
3.4 Драйверы 28
3.5 Службы 30
4 Особенности реализации способов сокрытия и обнаружения объектов 33
4.1 Процессы и потоки 33
4.2 Драйверы 35
4.3 Службы 36
4.4 Технология получения дампа памяти 39
5 Порядок использования разработанного средства 43
5.1 Описание запуска 43
5.2 Описание интерфейса 43
5.3 Описание работы 46
5.3.1 Сокрытие объектов 46
5.3.2 Обнаружение скрытых объектов 46
6 Примеры обнаружения сокрытия вредоносного программного обеспечения: 48
6.1 Пример №1 Вирус Virus.Win32.Sality.q (Kaspersky Lab) 48
6.2 Пример №2 Вирус Trojan.Win32.VB.aqt (Kaspersky Lab) 49
7 Задачи для последующего решения 50
Заключение 52
Список использованных источников 54
Приложение А Листинг программы для исследования работы потоков 56
Приложение Б Сравнение дампов работающего потока и завершённого потока 60
Приложение В Исходный текст программы, позволяющей получать сигнатуру рабочего процесса 61
Приложение Г Исходный текст программы, позволяющей получать сигнатуру рабочего потока 64
Приложение Д Листинг функции, позволяющей получать сигнатуру структуры службы 67
Приложение Е Листинг функции, реализующей нахождение виртуального адреса структуры службы 71
Приложение Ж Исходный текст программы, реализующей последовательный поиск сигнатуры процесса в памяти и сравнение со списком, полученным, используя функцию NtQuerySystemInformation 73
Приложении И Исходный текст программы, реализующей последовательный поиск сигнатуры потока в памяти и сравнение со списком, полученным, используя функцию NtQuerySystemInformation. 77
Приложение К Исходный текст программы, реализующей последовательный поиск сигнатуры драйвера в памяти и сравнение со списком, полученным, используя функцию NtQuerySystemInformation 81
Приложение Л Исходный код, реализующий проход по списку структур сервисов, нахождение виртуального адреса скрываемой структуры и отсылку управляющего кода драйверу 86
Приложение М Исходный код, реализующий переключение в контекст процесса с заданным уникальным идентификатором и сокрытие структуры с заданным виртуальным адресом 91
Приложение Н Исходный текст программы, реализующей последовательный поиск сигнатуры службы в памяти и сравнение со списком, полученным, используя функцию EnumServicesStatus 93
Приложение П Исходный текст драйвера, позволяющего получать дамп памяти 97
Приложение Р Листинг функций для анализа подозрительных объектов 103
Приложение С Графическая форма программы 105

Файлы: 1 файл

Система обнаружения скрытого программного обеспечения в ОС Windows2.doc

— 4.62 Мб (Скачать)