УДК 004
Разработка программного обеспечения для обнаружения уязвимостей операционных систем
Русаков Алексей Михайлович – старший преподаватель МИРЭА – Российского технологического университета
Амелютин Евгений Вячеславович – доцент МИРЭА – Российского технологического университета
Михайлов Егор Алексеевич – студент МИРЭА – Российского технологического университета
Аннотация: В статье показаны возможности разработанного программного обеспечения, которое может быть использовано для обнаружения и предотвращения уязвимостей, эксплуатируемых злоумышленниками для несанкционированного доступа и атак на операционные системы.
Ключевые слова: уязвимости в программном обеспечении, информационная безопасность, несанкционированный доступ, вирусы.
Основной целью разработанной программы является является возможность обнаружения и предотвращение уязвимостей, которые могут быть использованы злоумышленниками для несанкционированного доступа и атак на операционные системы.
Для достижения цели разработано приложение, способное анализировать структуру файлов, параметры доступа к реестру и файловой системе, определять владельца файла, рассчитывать энтропию файла и определять принадлежит ли файл к какому-либо известной вредоносной компьютерной программе.
В статье приведен пример обнаружения вируса с использованием разработанного программного обеспечения (ПО). Существует несколько основных методов определения вредоносного файла: статистический, эвристический и ручной [1]. Для эффективности поиска вредоносного было использовано два подхода: ручной и статистический.
Программное обеспечение также определяет упакована ли программа, что тоже может быть попыткой скрыть вредоносную активность, анализирует используемые программой системные вызовы и библиотеки для идентификации ресурсов получения доступа.
Ручной подход для определения возможных скрытых уязвимостей используется для определения различных параметров файла, по которым возможно его идентифицировать в качестве потенциально опасного. Далее выполняется проверка файла по базе вирусов с помощью MD5 хеша [1].
Выбор файла осуществляется с использованием кнопки в меню, как показано на рисунке 1.
Рисунок 1. Анализ GoldenEye.exe.
Далее система сканирует файл с помощью модуля парсера исполняемых файлов PEXE, получая необходимую информацию по различным разделам файла. В разработанном приложении подключен модуль анализа файлов на известные уязвимости. Для сравнения текущего файла по хешу MD5 используется база данных от virusTotal, содержащая несколько десятков тысяч различных известных хешей малварей.
Выходными данными разработанного программного продукта является любой исполняемый файл или библиотека. Для эксперимента возьмём на вход файл из библиотеки малварей (Trojan Golden Eye).
Полные результаты анализа представлены на рисунках 1-8.
На рисунке 1 показан полный отчет по результатам анализа файла:
- Определение типа файла, архитектура запуска, операционная система;
- Определение типов секций файлов;
- Определение экcпортируемости функций;
- Определение внешних библиотек (COMCTL32, WINMM, gdiplus, MSIMG.dll, KERNELdll, USER32.dll, GDI32.dll, COMDLG32.dll, ADVAPI32, SHELL32.dll);
- Вычисление энтропии файла;
- Определение наличия доступа к реестру (реестр, командная строка, динамические модули, файловая система, отладка);
- Определения предупреждений системы (управление реестром, функции отладки, динамические модули, доступ к командной строке, высокая энтропия, возможно сжатые или шифрованные данные).
На рисунках 2-3 показано общее заключение анализа, общая информация о файле, включающая архитектуру, ОС под которую велась сборка, исполняемая подсистема и флаги.
Рисунок 2. Интерфейс программного средства с отображением
информации о файле.
Рисунок 3. Информация о возможностях доступа.
На рисунке 4 приведена статистика по полученным предупреждениям.
Рисунок 4. Информация о предупреждениях.
На рисунках 5-6 показано заключение по вычисленной энтропии файла и результатах анализа каждой секции. Анализ данных показывает, что в секции «.text» находится код, т.к. энтропия высокая, а значит данные являются хаотичными.
Рисунок 5. Вычисление энтропии.
Рисунок 6. Анализ секций.
На рисунках 7-8 показан анализ импортов и экспортов.
Рисунок 7. Анализ импортов.
Рисунок 8. Анализ экспортов.
На рисунке 9 размещен самый главный модуль программы – определение вируса по его сигнатуре. Как можно видеть, вирус успешно определился, информацию о нем отображается.
Рисунок 9. Отчет работы программы.
Заключение
В результате работы над программным обеспечением были определены принципы анализа файлов на предмет наличия вредоносного программного обеспечения. Программное обеспечение было протестировано на примере анализа файла с наличием вируса Trojan Golden Eye, который был успешно обнаружен. Планируется дальнейшая работа над проектом и размещение исходных кодов программного обеспечение в открытом доступе.
Список литературы
- Алгоритм вычисления дайджеста сообщения MD5 [Электронный ресурс] // URL http://book.itep.ru/6/mdhtm (дата обращения 15.12.2023).
- Лекция 15. Технологии защиты от вредоносных программ [Электронный ресурс] // URL https://www.kaznu.kz/content/files/news/folder22810/Лекция%20-15_2020.pdf (дата обращения 12.2023).