Details

Title: Обфускатор бинарных файлов формата Portable Executable: выпускная квалификационная работа бакалавра: направление 10.03.01 «Информационная безопасность» ; образовательная программа 10.03.01_03 «Безопасность компьютерных систем»
Creators: Кучиев Георгий Мисостович
Scientific adviser: Павленко Евгений Юрьевич
Other creators: Штыркина Анна Александровна
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint: Санкт-Петербург, 2024
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: обфускация; защита программного обеспечения; бинарный код; Portable Executable; виртуальные машины; протекторы; obfuscation; software protection; binary code; virtual machines; protectors
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 10.03.01
Speciality group (FGOS): 100000 - Информационная безопасность
DOI: 10.18720/SPBPU/3/2024/vr/vr24-1695
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Additionally: New arrival
Record key: ru\spstu\vkr\28762

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Целью данной работы является разработка эффективного обфускатора, который позволит затруднить анализ и модификацию исполняемых файлов. Для достижения этой цели были поставлены следующие задачи:     1. Исследование современных методов обфускации, таких как шифрование строк и констант, встраивание ложных инструкций, слияние и разделение функций, использование виртуальных машин, обфускация управляющих структур и вызовов функций, полиморфизм и метаморфизм.     2. Анализ существующих решений, таких как VMProtect, Alcatraz, PE bin2bin obfuscator и Viper, с целью выявления их преимуществ и недостатков.     3. Разработка обфускатора с использованием методов метаморфизма, добавления бессмысленного кода и упаковки.     4. Проведение анализа разработанного обфускатора на предмет его эффективности и влияния на производительность программного обеспечения. В ходе исследования было установлено, что современные методы обфускации повышают защиту ПО, усложняя его анализ и обратную разработку. Разработанный обфускатор успешно реализует несколько методов обфускации, обеспечивая защиту файлов при минимальном влиянии на производительность. Испытания подтвердили, что обфусцированные программы показывают умеренное увеличение объема памяти и незначительное снижение производительности. Практическая значимость работы заключается в создании программного средства для обфускации исполняемых файлов формата PE, которое может быть использовано для защиты программного обеспечения от анализа и модификации. Разработанный обфускатор может найти применение в различных областях, требующих защиты кода, включая коммерческие и корпоративные приложения.

The subject of the graduate qualification work is the development of an efficient obfuscator that complicates the analysis and modification of executable files. To achieve this goal, the following tasks were set:     1. Research Modern Obfuscation Methods. This includes string and constant encryption, embedding false instructions, function merging and splitting, using virtual machines, obfuscating control structures and function calls, polymorphism, and metamorphism.     2. Analyze Existing Solutions. Investigate solutions such as VMProtect, Alcatraz, PE bin2bin obfuscator, and Viper to identify their advantages and disadvantages.     3. Develop an Obfuscator. Utilize methods like metamorphism, adding meaningless code, and packing.     4. Evaluate the Developed Obfuscator. Assess its effectiveness and impact on software performance. The study established that modern obfuscation methods significantly enhance software protection by complicating its analysis and reverse engineering. The developed obfuscator successfully implements several obfuscation methods, providing protection for executable files with minimal impact on their performance. Tests demonstrated that obfuscated versions of programs show moderate memory usage increase and slight performance degradation, confirming the effectiveness of the selected methods. The practical significance of this work lies in the creation of a software tool for obfuscating PE format executable files, which can be used to protect software from analysis and modification. The developed obfuscator can be applied in various fields requiring code protection, including commercial and corporate applications.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
-> Internet Anonymous

Table of Contents

  • РЕФЕРАТ
  • СОДЕРЖАНИЕ
  • ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
  • Введение
  • 1 Исследование современных методов обфускации исполняемого кода
    • 1.1 Шифрование строк и констант в исполняемом файле
    • 1.2 Встраивание ложных инструкций для затруднения статического анализа
    • 1.3 Применение слияния и разделения функций для усложнения графа управления потоком данных
    • 1.4 Использование виртуальных машин
    • 1.5 Обфускация управляющих структур и вызовов функций
    • 1.6 Использование полиморфизма и метаморфизма для изменения структуры бинарного кода
    • 1.7 Выводы
  • 2 Анализ существующих современных решений
    • 2.1 VMProtect
    • 2.2 Alcatraz
    • 2.3 PE bin2bin obfuscator
    • 2.4 Viper
    • 2.5 Выводы
  • 3 Разработка обфускатора
    • 3.1 Описание реализуемых идей
    • 3.2 Техническая часть
      • 3.2.1 Метаморфизм
      • 3.2.2 Добавление бессмысленного кода
      • 3.2.3 Упаковщик
    • 3.3 Проведение анализа разработанного обфускатора
    • 3.4 Выводы
  • Заключение
  • Список использованных источников
  • Приложение 1. Листинг кода hexpat-файла упаковщика
  • Приложение 2. Листинги кода обфусцируемых программ

Usage statistics

stat Access count: 0
Last 30 days: 0
Detailed usage statistics