Тип работы:
Предмет:
Язык работы:


РЕВЕРС-ИНЖИНИРИНГ БИНАРНЫХ ФАЙЛОВ С ИСПОЛЬЗОВАНИЕМ ФРЕЙМВОРКА RADARE2

Работа №44063

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы64
Год сдачи2018
Стоимость4900 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
290
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 4
1. ЗНАКОМСТВО С RADARE2 6
1.1. Фреймворк Radare2 6
1.2. Исследование бинарных бомб 7
1.2.1 Анализ бинарной бомбы 8
1.3. Решение crackme 16
2. АТАКИ ПЕРЕПОЛНЕНИЯ БУФЕРА. ВОЗВРАТНО-ОРИЕНТИРОВАННОЕ
ПРОГРАММИРОВАНИЕ 18
2.1. Введение 18
2.2. Классическая атака переполнения стекового буфера 18
2.3. Возвратно-ориентированное программирование 22
2.3.1. Конфигурация уязвимого сервера и системы 25
2.3.2. Схема атаки 25
2.3.3. Чтение стека 26
2.3.4. Поиск гаджетов и конструирование ROP цепочек 27
2.3.5 Чтение переменных среды 28
2.3.6. Получение обратного шелла 29
3. РЕВЕРС-ИНЖИНИРИНГ ВРЕДОНОСНЫХ ПРОГРАММ 35
3.1. Анализ шифровальщика-вымогателя Princess Locker 2 35
3.2. Распаковка Princess Locker 2 35
3.3. Технический анализ Princess Locker 37
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 51
ПРИЛОЖЕНИЕ 53
Приложение

Большинство инцидентов информационной безопасности и расследований компьютерных преступлений не могут быть достаточно полно и безошибочно исследованы без понимания природы поведения исполняемых двоичных файлов. Для эффективного распространения вредоносных программ злоумышленники используют уязвимости нулевого дня [15], все лучше совершенствуют методы, предотвращающие обнаружение и усложняющие исследование поведения вредоносных программ, тем самым уменьшая шансы существующих антивирусных решений оперативно распознавать вредоносную угрозу, которая может представлять большую опасность для различных компьютерных и автоматизированных систем.
К тому же, практически любое программное обеспечение (ПО) может содержать в себе ряд различных уязвимостей, таких как переполнение буфера или использование слабых и самописных криптографических алгоритмов. Одним из эффективных способов исследовать ранее неизвестные вредоносные программы и обнаруживать критические уязвимости ПО является реверс-инжиниринг.
Под формальным определением реверс-инжиниринга понимается процесс анализа системы для определения ее компонент и их взаимосвязи и создания представления системы в другой форме или на более высоком уровне абстракции. Это позволяет визуализировать структуру программного обеспечения, способы работы и функции, управляющие поведением ПО.
Конкретизируем главные сферы применения реверс-инжиниринга:
• Поиск вредоносного кода. Множество техник детектирования вредоносных программ используют реверс-инжиниринг для того, чтобы понять структуру и поведение вредоносного кода. Очень
часто вредоносный код бывает запакован и обфусцирован, что в разы увеличивает сложность анализа. При успешном осуществлении реверс-инжиниринга вредоносной программы могут улучшаться эвристические алгоритмы поиска вредоносного кода и пополняться новыми сигнатурами антивирусные базы данных.
• Обнаружение программных ошибок. Даже самые хорошо спроектированные системы могут иметь уязвимости, которые почти всегда вызваны человеческим фактором. Реверсинжиниринг может помочь обнаружить уязвимости, прежде чем это станет критичным для безопасности всей системы.
• То, что непосредственно не связано с информационной безопасностью - поиск нелегально используемого кода, создание открытого аналога программы с закрытым исходным кодом (Windows - ReactOs).
Целью данной работы является реверс-инжиниринг различных исполняемых файлов, в том числе анализ вредоносной программы типа шифровальщик-вымогатель, а также эксплуатация уязвимости переполнения буфера посредством техники возвратно-ориентированного программирования преимущественно с помощью фреймворка Radare.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе бакалаврской работы стояла задача реверс-инжиниринга различных исполняемых файлов и эксплуатации уязвимости стекового буфера на примере тестового сервера в современных Linux системах.
Необходимость проведения такой работы диктуется тем, что большинство инцидентов информационной безопасности так или иначе связаны с исполняемыми файлами, и понимание происходящих низкоуровневых процессов позволяет своевременно реагировать на инциденты безопасности и разрабатывать безопасное программное обеспечение.
Поэтому в этой работе при помощи фреймворка для реверсинжиниринга Radare2 производится анализ исполняемых файлов, в том числе и анализ вредоносной программы типа шифровальщик-вымогатель Princess Locker 2, описывается полный ход ее работы в атакованной системе.
Также, на примере тестового сервера и уязвимости переполнения стекового буфера демонстрируется техника возвратно-ориентированного программирования. Это важно, потому что все современные операционные системы, в том числе и рассматриваемая система Linux, обладают различными методами защиты от атак переполнения и обход защитных мер является достаточно нетривиальной задачей. К тому же, данная часть работы позволяет понять, как работают различные программные уязвимости и способствует разработке безопасного программного обеспечения.



1. Бинарная бомба, [Электронный ресурс] URL: https://github.com/luongvo209/Binary-Bomb/tree/master/1551045
2. Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software by Michael Sikorski, Andrew Honig
3. Crackme от ESET, [Электронный ресурс] URL: https://j oin.eset.com/en/challenges/malware-analyst
4. Mark Dowd, John McDonald, Justin Schuh The Art of Software Security Assessment:Identifying and Preventing Software Vulnerabilities
5. Address Space Layout Randomization, [Электронный ресурс] URL: https://docs.oracle.com/cd/E37670_01/E36387/html/ol_aslr_sec.html
6. A.Bittau, A.Belay, A.Mashtizadeh, D.Mazieres, D.Boneh. Hacking Blind. Stanford University, 2014
7. Вишняков А.В. Классификация ROP гаджетов. Труды ИСП РАН, том 28, вып. 6, 2016, стр. 27-36. DOI: 10.15514/ISPRAS-2016-28(6)-2
8. Программа поиска гаджетов Ropper, [Электронный ресурс] URL: https://github.com/sashs/Ropper
9. Статья: Переменные среды [Электронный ресурс], URL:
https://wiki.archlinux.org/index.php/Environment_variables
10. Онлайн документация Man [Электронные ресурс], URL:
https://www.opennet.ru/man.shtml?topic=dlopen&category=3
11. Статья: Python PEP [Электронный ресурс], URL:
https://www.python.org/dev/peps/pep-0551/
12. Эксплоит обратного шеллп [Электронный ресурс], URL:
https: //pastebin.com/ERJbT gF8
13. Динамический анализ Princess Locker 2 [Электронный ресурс], URL: https://app.any.run/tasks/bc5ed213-5920-49e3-9672-179662990fdc,


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ