УДК 004

Разработка программного обеспечения для обнаружения уязвимостей операционных систем

Русаков Алексей Михайлович – старший преподаватель МИРЭА – Российского технологического университета

Амелютин Евгений Вячеславович – доцент МИРЭА – Российского технологического университета

Михайлов Егор Алексеевич – студент МИРЭА – Российского технологического университета

Аннотация: В статье показаны возможности разработанного программного обеспечения, которое может быть использовано для обнаружения и предотвращения уязвимостей, эксплуатируемых злоумышленниками для несанкционированного доступа и атак на операционные системы.

Ключевые слова: уязвимости в программном обеспечении, информационная безопасность, несанкционированный доступ, вирусы.

Основной целью разработанной программы является является возможность обнаружения и предотвращение уязвимостей, которые могут быть использованы злоумышленниками для несанкционированного доступа и атак на операционные системы.

Для достижения цели разработано приложение, способное анализировать структуру файлов, параметры доступа к реестру и файловой системе, определять владельца файла, рассчитывать энтропию файла и определять принадлежит ли файл к какому-либо известной вредоносной компьютерной программе.

В статье приведен пример обнаружения вируса с использованием разработанного программного обеспечения (ПО).        Существует несколько основных методов определения вредоносного файла: статистический, эвристический и ручной [1]. Для эффективности поиска вредоносного было использовано два подхода: ручной и статистический.

Программное обеспечение также определяет упакована ли программа, что тоже может быть попыткой скрыть вредоносную активность, анализирует используемые программой системные вызовы и библиотеки для идентификации ресурсов получения доступа.

Ручной подход для определения возможных скрытых уязвимостей используется для определения различных параметров файла, по которым возможно его идентифицировать в качестве потенциально опасного. Далее выполняется проверка файла по базе вирусов с помощью MD5 хеша [1].

Выбор файла осуществляется с использованием кнопки в меню, как показано на рисунке 1.

image001

Рисунок 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 показано общее заключение анализа, общая информация о файле, включающая архитектуру, ОС под которую велась сборка, исполняемая подсистема и флаги.

image002

Рисунок 2. Интерфейс программного средства с отображением
 информации о файле.

 image003

Рисунок 3. Информация о возможностях доступа.

На рисунке 4 приведена статистика по полученным предупреждениям.

image004

Рисунок 4. Информация о предупреждениях.

На рисунках 5-6 показано заключение по вычисленной энтропии файла и результатах анализа каждой секции. Анализ данных показывает, что в секции «.text» находится код, т.к. энтропия высокая, а значит данные являются хаотичными.

 image005       

Рисунок 5. Вычисление энтропии.

image006 

Рисунок 6. Анализ секций.

На рисунках 7-8 показан анализ импортов и экспортов.

image007

Рисунок 7. Анализ импортов.

image008

Рисунок 8. Анализ экспортов.

На рисунке 9 размещен самый главный модуль программы – определение вируса по его сигнатуре. Как можно видеть, вирус успешно определился, информацию о нем отображается.

image009

Рисунок 9. Отчет работы программы.

Заключение

В результате работы над программным обеспечением были определены принципы анализа файлов на предмет наличия вредоносного программного обеспечения. Программное обеспечение было протестировано на примере анализа файла с наличием вируса Trojan Golden Eye, который был успешно обнаружен. Планируется дальнейшая работа над проектом и размещение исходных кодов программного обеспечение в открытом доступе.

Список литературы

  1. Алгоритм вычисления дайджеста сообщения MD5 [Электронный ресурс] // URL http://book.itep.ru/6/mdhtm (дата обращения 15.12.2023).
  2. Лекция 15. Технологии защиты от вредоносных программ [Электронный ресурс] // URL https://www.kaznu.kz/content/files/news/folder22810/Лекция%20-15_2020.pdf (дата обращения 12.2023).

Интересная статья? Поделись ей с другими: