Дипломная работа на тему "ТЮМГУ | Программа для обфускации кода net приложений"

Работа на тему: Программа для обфускации кода .net приложений
Оценка: отлично.
Оригинальность работы на момент публикации 50+% на антиплагиат.ру.
Ниже прилагаю все данные для покупки.
https://studentu24.ru/list/suppliers/Anastasiya1---1326

Описание работы

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» ИНСТИТУТ МАТЕМАТИКИ И КОМПЬЮТЕРНЫХ НАУК
Кафедра информационной безопасности

РЕКОМЕНДОВАНО К ЗАЩИТЕ В ГЭК
И.о. заведующего кафедрой, к.т.н.

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
дипломная работа
ПРОГРАММА ДЛЯ ОБФУСКАЦИИ КОДА .NET ПРИЛОЖЕНИЙ

10.05.03 «Информационная безопасность автоматизированных систем»

Тюмень 2022

РЕФЕРАТ
Объем выпускной квалификационной работы составляет 51 страницы. Выпускная квалификационная работа включает в себя 3 главы, 3 иллюстрации, 2 таблицы, 23 листингов, 20 использованных источников, 4 приложения.
Ключевые слова: обфускация, защита информации, сокрытие информации, методы обфускации, Mono.Cecil, CIL.
Объектом данной работы являются методы и подходы обфускации кода
.NET приложений, предметом – обфускатор.
Целью работы является разработка приложения для обеспечения информационной безопасности алгоритмов пользователя путем обфускации программы.
Для достижения поставленной цели необходимо выполнить следующие задачи:
1. Изучить как работает CIL.
2. Изучить методы обфускации.
3. Изучить вспомогательные библиотеки для работы с .NET сборками.
4. Разработать алгоритмы для обфускации .NET приложений.
5. Разработать приложения на основе разработанных алгоритмов.
Результатом выпускной квалификационной работы является приложение обфускатор, который позволит пользователю запутать CIL код своего приложения. Данное приложение может быть успешно использовано для защиты своего кода, с помощью запутывания, от декомпиляции.

СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1 CIL 6
1.1 Что такое CIL и как он работает? 6
1.2 Структура и команды CIL 8
1.3 Инъекция в CIL код 10
1.4 Общие выводы 12
2 Обфускация 13
2.1 Обфускация и ее проблемы 13
2.2 Основные методы обфускации 19
2.2.1 Переименование 20
2.2.2 Шифрование строк 21
2.2.3 Запутывание потока управления 22
2.2.4 Внедрение рефлексии 24
2.3 Общие выводы 25
3 Разработка программного обеспечения 26
3.1 Программы, библиотеки, среда разработки 26
3.2 Реализация методов 28
3.3 Приложение 36
3.4 Общие выводы 37
ЗАКЛЮЧЕНИЕ 39
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 40
ПРИЛОЖЕНИЕ А «Функция запутывания управляющего потока» 43
ПРИЛОЖЕНИЕ Б «Функция шифрования строк» 45
ПРИЛОЖЕНИЕ В «Функция рефлексии» 46
ПРИЛОЖЕНИЕ Г «Код приложения» 49

ВВЕДЕНИЕ
Для успешной подготовки и защиты выпускной квалификационной работы обучающимся использовались средства и методы физической культуры и спорта с целью поддержания должного уровня физической подготовленности, обеспечивающую высокую умственную и физическую работоспособность. В режим рабочего дня включались различные формы организации занятий физической культурой (физкультпаузы, физкультминутки, занятия избранным видом спорта) с целью профилактики утомления, появления хронических заболеваний и нормализации деятельности различных систем организма.
В рамках подготовки к защите выпускной квалификационной работы автором созданы и поддерживались безопасные условия жизнедеятельности, учитывающие возможность возникновении чрезвычайных ситуаций.
Защита кода является важной частью в проектировании своего приложения. А для .net это еще более важный аспект, так как при создании
.NET-сборки с помощью того или иного языка (C#, VB, COBOL.NET и т.д.) соответствующий компилятор всегда преобразует исходный код на этом языке в код на CIL. Тем самым безопасность кода падает, потому что промежуточный код содержит достаточно информации для адекватного восстановления исходного кода и, когда программу подвергают декомпиляции, она сама показывает, где и что у нее хранится.
Для защиты от этого используют обфускаторы, которые “запутывают” код, заменяя имена переменных или добавляя бессмысленные строчки кода, после чего понять, как программа работает, становится намного сложней.
В наше время существует много разных обфускаторов для .net, но так как многие из них бесплатные, хакеры поняли принцип их работы, и программы, которые были “запутаны” с их помощью, не вызывают сложностей при декомпиляции.

Все компиляторы, которые используют платформу .NET фирмы Microsoft, должны транслировать код с языков высокого уровня платформы
.NET в CIL. CIL – это независимый от процессора и платформы набор команд, который может выполняться в любой среде, поддерживающей инфраструктуру общего языка, например, среда выполнения .NET в Windows или кроссплатформенная среда выполнения Mono. Теоретически это устраняет необходимость распространения разных исполняемых файлов для разных платформ и типов процессоров. Код CIL проверяется на безопасность во время выполнения, обеспечивая лучшую безопасность и надежность, чем встроенные исполняемые файлы.
Так как в промежуточный язык CIL преобразуются программы, написанные на языках, использующих .NET платформу, то спектр приложений, на которых можно будет использовать обфускатор, очень большой.
Есть несколько аргументов, почему данная работа является актуальной:
1. Если наше приложение выходит за границы нашей компании, то оно может подвергнуться процессу реверс инжиниринга, если это является проблемой, то следует защитить алгоритмы приложения, чтобы их не мог использовать кто-то другой.
2. Каждый новый обфускатор является проблемой для взлома
приложения с помощью реверс инжиниринга, так как злоумышленник не сможет знать заранее принцип запутывания нашего приложения. Благодаря этому, чтобы распутать наше приложение злоумышленник должен обладать большими навыками в реверс инжиниринге.
3. Иностранные разработчики избегают сотрудничество с российскими компаниями, из-за чего появляется сложность в приобретении готового обфускатора и приходится писать свой.

Целью работы является разработка приложения для обеспечение информационной безопасности алгоритмов пользователя путем обфускации программы.
Для достижения цели необходимо было выполнить следующие задачи:
1. Изучить как работает CIL.
2. Изучить методы обфускации.
3. Изучить вспомогательные библиотеки для работы с .NET сборками.
4. Разработать алгоритмы для обфускации .NET приложений.
5. Разработать приложения на основе разработанных алгоритмов.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Microsoft Intermediate Language or Common Intermediate Language.
2. Добавление и извлечение данных: стековая природа CIL.
3. Understanding Common Intermediate Language.
4. Синтаксис языка CIL.
5. MONO.CECIL (PART I): OVERVIEW.
6. obfuscation (obfu).
7. Clark Thomborson. The Art and Science of Obfuscation / Clark Thomborson. // Information Systems, Technology and Management - ICISTM, 2012. - C. 445-450.
8. Obfuscation: Cloaking your Code from Prying Eyes.
9. ??????????????????????.
10. Obfuscation, why it is needed, obfuscators and recommendations on the draft to the obfuscation.
11. Бузукин А.В., Губенко Н.Е. Выбор метода защиты программного кода // Информационные управляющие системы и компьютерный мониторинг / Донецкий национальный технический университет. -Украина, 2012. – С. 184-188.
12. String Encryption.
13. Haibo Chen, Liwei Yuan, Xi Wu, Binyu Zang. Control Flow Obfuscation with Information Flow Tracking // - IEEE, 2009. – [10] c.
14. Renaming.
15. Control Flow.
16. Obfuscation in .NET.
17. Введение в рефлексию. Класс System.Type
18. Коробейников А.Г., Кутузов И.М. — Алгоритм обфускации// Кибернетика и программирование. – 2013. – № 3. – С. 1 - 8.
19. dotPeek: Free .NET Decompiler and Assembly Browser.
20. Mono.Cecil.

НЕ НАШЛИ, ЧТО ИСКАЛИ? МОЖЕМ ПОМОЧЬ.

СТАТЬ ЗАКАЗЧИКОМ