Слайд 1 - Кафедра измерительных информационных технологий

advertisement
Санкт-Петербургский Государственный Политехнический Университет
Факультет технической кибернетики
Кафедра Измерительных информационных технологий
Программный модуль
предотвращения локальных
вторжений в ОС Windows
Выполнил: студент группы 6085/2
Карамышев Владимир
Научный руководитель: Доц., к.т.н., Сальников В.Ю.
Постановка задачи
Цель дипломной работы – разработка программного модуля
предотвращения локальных вторжений для операционной
системы Windows.
Для реализации данной цели необходимо:
1. Провести исследование программных угроз безопасности и
потенциально атакуемых объектов операционной системы;
2. Провести анализ и выбрать алгоритм защиты потенциально атакуемых
объектов операционной системы;
3. Разработать программный модуль, реализующий систему
предотвращения локальных вторжений;
4. Провести тестирование разработанного программного обеспечения.
2
Вредоносное программное обеспечение
Тип вредоносной программы
Применение
Троянский конь
Кража конфиденциальной информации
Бэкдор
Удаленное управление компьютером
Руткит
Сокрытие и маскировка измененных
процессов, ключей реестра
Червь
Автоматическое распространение своих копий на
другие компьютеры в сети
Вирус
Модификация исполняемых файлов
Рекламные программы
Загрузка и демонстрация рекламы
Шпионские программы
Кража конфиденциальной информации
файлов,
3
Вредоносное программное обеспечение
Тип
вредоносной
программы
Действия в операционной системе
Создание
процессов/
потоков
Модификация
файлов/
каталогов
Модификация
ключей
реестра
Перехват
функций
Модификация
процессов
в
памяти
Троянский
конь
+
+
+
Бэкдор
+
+
+
Руткит
+
+
+
Червь
+
+
+
+
Вирус
+
+
+
+
Рекламные
программы
+
+
Шпионские
программы
+
+
+
4
Противодействие вредоносному ПО
Основные решения:
• Антивирусы;
• Брандмауэры (firewall, сетевой экран);
• Антирекламные и антишпионские
программы (anti-adware, anti-spyware);
• Системы предотвращения локальных
вторжений (Host Intrusion Prevention
System, HIPS).
5
Системы предотвращения локальных
вторжений
• Управляют правами приложений на выполнение
тех или иных действий, основываясь либо на
таблице правил, либо на решении пользователя.
• Являются средством проактивной защиты, т.е. не
содержат базы данных сигнатур вирусов и не
осуществляют их детектирование.
• Эффективность может доходить до 100%
предотвращения повреждения или
инфицирования системы, однако большинство
программ этого класса требует определенных
знаний для управления ими.
6
Основные типы HIPS
• Классические HIPS – системы, оснащенные
открытой таблицей правил.
• Экспертные HIPS, иначе называемые
поведенческими эвристиками,
осуществляют анализ активности
работающих приложений.
• HIPS типа «песочница» (Sandbox)
реализуют принцип минимального
взаимодействия с пользователем.
7
Классическая HIPS
8
Способы перехвата API
• Модификация таблицы импорта.
• Сплайсинг функций.
• Перехват функций в режиме ядра.
9
Схема работы HIPS
Приложение
Приложение
Приложение
Пользователь
Kernel32.dll
Таблица
правил
Модуль
управления
Ntdll.dll
Пользовательский
режим
INT 2Eh
Режим ядра
Драйвер модуля
защиты
SDT
Ntoskrnl.exe
10
Способ инсталляции драйвера
• Внесение записи в системный реестр.
• Инсталляция с использованием INF файла.
• Вызов функций менеджера SCM (Service
Control Manager).
11
Алгоритм работы драйвера
Вход в процедуру
перехвата
Начало
Инициализаци
я драйвера
Копирование аргументов
функции из стека
Установка перехватчиков
функций
Запрос в модуль
управления
Установка обработчиков
IRP
Ожидание
ответа
Ожидание IRP-запроса
на выход
нет
Удаление перехватчиков
функций
Выгрузка
драйвера
Действие
разреше
но?
да
Вызов оригинальной
функции
Остано
в
Выход из
процедуры
перехвата
12
Перехваченные функции
• Функция создания/открытия файлов на
диске.
• Функция создания/открытия ключей
системного реестра.
• Функция создания процессов.
13
Алгоритм работы модуля управления
Начало
Установка
драйвера
Чтение файла с
правилами
Ожидание запроса от
драйвера
Анализ параметров
функции
да
Разрешени
е на
основе
правил?
нет
Вывод запроса
пользователю
да
А
Б
Разреши
ть
вызов?
нет
14
В
Алгоритм работы модуля управления
А
Б
В
Выдать драйверу ответ о
разрешении
Выдать драйверу ответ о
запрете
нет
Проверка
на выход
да
Выдача IRP-запроса на
останов драйвера
Остано
в
15
Система правил
• Таблица правил хранится в виде текстовых
файлов на диске.
• Привила, общие для всех приложений в
системе.
• Правила для конкретных приложений.
16
Правила, общие для всех приложений
Защищенные
каталоги
Защищенные
разделы реестра
[protected_files]
C:\Windows\System32\ R+
C:\Share\test\
R+W[protected_keys]
HKEY_LOCAL_MACHINE\SOFTWARE\Micr
osoft\
R+
17
Правила для конкретных приложений
Раздел программы 1
Раздел программы 2
<C:\prog1.exe>
[protected_files]
C:\WINDOWS\system32\
W+R+
[protected_keys]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
R+W+
[create_process]
+
<C:\prog2.exe>
[protected_files]
C:\WINDOWS\system32\
W-R+
[protected_keys]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
R+W18
Тестирование
• Функции перехватываются.
• Решение принимается на основе
созданных правил.
• В случае отсутствия правил,
отображается запрос
пользователю.
• Новые правила сохраняются в
файл.
19
Тестирование производительности
• Программа вызывает функцию открытия файла 100000
раз.
• Замеряется время работы программы.
• При использовании модуля HIPS программа работала
на 41% дольше.
Время выполнения, с.
Без модуля HIPS
17
Модуль HIPS запущен
24
20
Выводы
• Проведен обзор вредоносного ПО и потенциально
атакуемых объектов ОС.
• Проведен обзор типовых средств защиты от вредоносного
ПО.
• Выбран способ перехвата функций и способ установки
драйвера.
• Реализован драйвер модуля защиты и модуль управления.
• Разработан формат файлов правил.
• Тестирование прошло успешно.
• Возможно расширение набора перехватываемых функций.
21
Download