Санкт-Петербургский Государственный Политехнический Университет Факультет технической кибернетики Кафедра Измерительных информационных технологий Программный модуль предотвращения локальных вторжений в ОС 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