📄Работа №192673

Тема: РАЗРАБОТКА WEB-ПРИЛОЖЕНИЯ НА ОСНОВЕ АНАЛИЗА ТРАФИКА НЕДОКУМЕНТИРОВАННЫХ API

📝
Тип работы Магистерская диссертация
📚
Предмет математика и информатика
📄
Объем: 81 листов
📅
Год: 2025
👁️
Просмотров: 43
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

АННОТАЦИЯ 3
ВВЕДЕНИЕ 7
1 Анализ предметной области и обзор литературы 10
1.1 Обзор литературы 10
1.2 Клиент-серверная архитектура и роль API 12
1.3 Практические аспекты воспроизведения логики API и построения
единой системы доступа 13
1.4 Инструменты анализа web-приложений 15
1.5 Подготовка Android-среды для анализа трафика 17
1.6 Настройка Fiddler для перехвата Android-трафика 19
1.7 Особенности анализа Android-приложений и методы обхода защиты .. 22
1.8 Механизм безопасности SSL Pinning 26
1.9 SSL Pinning в анализе трафика 26
1.10 Обход SSL Pinning с помощью Frida 27
1.11 Установка и настройка Frida 27
1.12 Выводы по главе 29
2 Обоснование выбора исследуемых приложений 30
2.1 Этические и юридические аспекты исследования 30
2.2 Критерии отбора приложений для анализа 32
2.3 Поисковые запросы 32
2.4 Сервисы доставки и агрегаторы 33
2.5 Выводы по главе 33
3 Описание исследуемых приложений 34
3.1 «Приложение А» 34
3.2 «Приложение Б» 38
3.3 «Приложение В» 42
3.4 «Приложение Г» 46
3.5 «Приложение Д» 50
3.6 «Приложение Е» 55
3.7 «Приложение Ж» 59
3.8 Выводы по главе 64
4 Реализация проксирующего REST API 66
4.1 Архитектура сервера 66
4.2 Паттерны проектирования: фабрика, шаблон 69
4.3 Защита серверной логики 72
4.4 Генерация Swagger-документации 74
4.5 Выводы по главе 75
5 Веб-интерфейс и демонстрация работы API 76
5.1 Архитектура клиентского web-приложения 76
5.2 Сортировка по цене с учётом веса товара 77
5.3 Выводы по главе 78
ЗАКЛЮЧЕНИЕ 79
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 81

📖 Введение

Современные программные системы, включая веб-сайты и мобильные приложения, в подавляющем большинстве построены на клиент-серверной архитектуре. Обмен данными между пользовательским интерфейсом и серверной частью осуществляется через API-интерфейсы. Нередко такие API активно используются в процессе работы приложения, но не сопровождаются официальной документацией, что формально делает их внутренними. Несмотря на это, они остаются технически доступными для анализа с помощью инструментов сетевого мониторинга и отладки.
Понимание структуры и поведения таких недокументированных API имеет важное значение с точки зрения информационной безопасности, обеспечения совместимости и отладки. Анализ сетевого трафика позволяет не только реконструировать схему HTTP(S)-запросов и ответов, но и воспроизвести поведение клиента на стороне сервера - без необходимости декомпиляции или доступа к исходному коду приложения.
Актуальность темы определяется как широким распространением клиент-серверной архитектуры, так и потребностью в системном подходе к изучению API, не предоставленных через официальные каналы. Особенно это важно в контексте обратной разработки (reverse engineering), тестирования защищённости, а также формализации взаимодействия с внешними сервисами, архитектура которых скрыта от пользователя.
В настоящей работе рассматривается прикладной подход к анализу недокументированных API, основанный на изучении сетевого взаимодействия веб- и Android-приложений. Ключевая задача - продемонстрировать возможность воспроизведения клиентской логики на стороне сервера путём построения промежуточного REST API, обеспечивающего унифицированный доступ к данным. Таким образом, исследование направлено на практическое подтверждение возможности декомпозиции сетевого взаимодействия и реализации альтернативного серверного компонента, что представляет интерес для специалистов в области кибербезопасности, тестирования программных решений и анализа поведения клиентских приложений.
Целью настоящей работы является проведение прикладного исследования недокументированных API, используемых в веб- и мобильных приложениях, с последующей реализацией промежуточного REST API, демонстрирующего возможность воспроизведения клиентского
взаимодействия без доступа к исходному коду, SDK или официальной документации.
Для достижения поставленной цели были сформулированы следующие задачи:
1. Выполнить анализ архитектуры клиент-серверного взаимодействия в современных веб- и Android-приложениях, использующих API-интерфейсы.
2. Отобрать приложения с публично используемыми, но не документированными API, удовлетворяющими критериям исследуемости (открытые запросы, отсутствие авторизации, доступность структуры).
3. Провести сбор и анализ сетевого трафика с использованием инструментов проксирования и перехвата HTTP(S)-запросов.
4. Реконструировать структуру API: определить формат запросов, типы параметров, структуру ответов.
5. Реализовать промежуточный REST API на языке PHP, инкапсулирующий логику обращения к внешним сервисам от имени клиента.
6. Построить модульную архитектуру на основе паттернов проектирования, обеспечивающую масштабируемость и повторное использование компонентов.
7. Разработать и протестировать механизм взаимодействия с API для различных источников (веб-сервисов), реализованных в виде отдельных классов.
8. Подготовить основу для визуализации полученных данных через пользовательский интерфейс, интегрируемый с промежуточным API.
Научная новизна работы заключается в комплексном подходе (шаги и принципы подхода описаны в главе 4) к анализу недокументированных API веб- и мобильных приложений с разными архитектурами (REST, GraphQL, JSON-RPC), включающем не только методы перехвата и декомпозиции защищённого сетевого трафика, но и создание собственного унифицированного REST API. Предложенная система инкапсулирует логику взаимодействия с разнородными сервисами и позволяет получать данные из нескольких источников через единый интерфейс.
В отличие от существующих решений, ориентированных преимущественно на точечную отладку API или тестирование безопасности отдельных приложений ([1-3]), в работе реализована масштабируемая архитектура с применением паттернов «фабрика» и «шаблон», собственная Swagger-документация и наглядный клиент в виде web-приложения, демонстрирующий работу агрегированного API без доступа к исходным кодам оригинальных приложений.
Практическая значимость работы заключается в подтверждении технической возможности и формализации подхода по воспроизведению клиентской логики взаимодействия с внешними сервисами - в виде управляемой, расширяемой и документированной системы. Полученные результаты могут быть применены в области информационной безопасности, включая задачи реверс-инжиниринга, анализа защищённости, тестирования API-интерфейсов и этичного пентестинга мобильных и web-приложений.

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

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

👨‍🎓 Помощь в написании

✅ Заключение

В ходе выполнения магистерской диссертации была решена прикладная задача, связанная с разработкой промежуточного REST API и клиентского web-приложения на основе анализа недокументированных API, используемых в веб- и мобильных приложениях торговых сетей. Исследование продемонстрировало, что при наличии доступа к сетевому трафику возможно воспроизведение клиентской логики взаимодействия с сервером без официальной документации и SDK, что подтверждает практическую актуальность выбранного направления.
В работе были достигнуты следующие результаты:
• Выполнен анализ архитектуры клиент-серверного взаимодействия в веб- и Android-приложениях на примере реальных сервисов из розничной торговли;
• Разработана и протестирована методика перехвата трафика мобильных приложений, включая установку пользовательского сертификата в системное хранилище Android и обход SSL Pinning с использованием инструментов Frida и Objection;
• Исследовано несколько приложений с различными форматами API (REST, GraphQL, JSON-RPC), часть из которых участвовала в Bug Bounty- программах, что позволило провести технически и этически обоснованный анализ взаимодействия;
• Реализован промежуточный REST API на языке PHP с применением паттернов «фабрика» и «шаблон», обеспечивающих расширяемость и модульность кода;
• Подготовлена Swagger-документация в формате OpenAPI 3.0 и подключена визуализация через Swagger UI для повышения удобства тестирования и интеграции;
• Разработано web-приложение с пользовательским интерфейсом, поддерживающее поиск и агрегацию данных из разных API, включая сортировку по стоимости с учётом веса товара на основе анализа названия;
• Показано, что поведение клиентского приложения может быть воспроизведено без доступа к исходному коду и без нарушения безопасности, если используется анализ недокументированных, но публичных HTTP- интерфейсов.
Работа опирается на существующие исследования в области реверс- инжиниринга API, анализа защищённого трафика и проектирования собственных интерфейсов, но отличается тем, что объединяет эти разрозненные аспекты в единую архитектурную модель, способную работать с API различных типов (REST, GraphQL, JSON-RPC), несмотря на различия в форматах, механизмах авторизации и логике взаимодействия. Это делает предложенный подход полезным не только в исследовательских, но и в практических целях.
Практическая значимость результатов заключается в возможности использования разработанных решений:
• для задач тестирования, аудита защищённости и эмуляции клиентской логики;
• в образовательных целях при изучении архитектуры API, методов обратной разработки и взаимодействия между клиентом и сервером;
• как основы для построения собственных инструментов анализа или агрегаторов данных.
Таким образом, продемонстрирована возможность формального и функционального воспроизведения API-взаимодействия с внешними сервисами в условиях отсутствия официальной документации, при соблюдении принципов безопасности и корректного анализа.

Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

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

1. Reverse Engineer an API using mitmweb and Postman and create a Swagger
file (crAPI) [Электронный ресурс] // Medium.com: сайт. URL:
https://medium.com/@amaraltohami30/reverse-engineer-an-api-using- mitmweb-and-postman-and-create-a-swagger-file-crapi-99f01b58511c (дата обращения: 25.05.2025).
2. Reverse Engineering an API [Электронный ресурс] // Medium.com: сайт.
URL: https://medium.com/better-practices/reverse-engineering-an-api-
403fae885303 (дата обращения: 25.05.2025).
3. Как веб-специалисту начать пентест API мобильного приложения
[Электронный ресурс] // habr.com: сайт. URL:
https://habr.com/ru/articles/830492/ (дата обращения: 25.05.2025).
4. Game Hacking - Reverse Engineering DOFUS [Электронный ресурс] //
upcommons.upc.edu: репозиторий. URL:
https://upcommons.upc.edu/bitstream/handle/2117/386396/TFM_Game_Ha cking Reverse_engineering_Dofus.pdf (дата обращения: 25.05.2025).
5. SSL Pinning: что это и как обойти [Электронный ресурс] // habr.com:
сайт. URL: https://habr.com/ru/companies/otus/articles/530780/ (дата
обращения: 25.05.2025).
6. What is SSL Pinning? - A Quick Walk Through [Электронный ресурс] // Indusface.com: сайт. URL: https://www.indusface.com/learning/what-is-ssl- pinning-a-quick-walk-through/ (дата обращения: 25.05.2025).
7. Что такое SSL pinning [Электронный ресурс]. URL: https://apptractor.ru/info/articles/ssl-pinning.html (дата обращения: 25.05.2025).
8. Lee K. Bypass SSL Pinning & Emulator Checks / K. Lee. - Independently published, 2024. - 24 p.
9. Откручивание SSL пиннинга в Android приложениях [Электронный ресурс]. URL: https://habr.com/ru/articles/559722/ (дата обращения: 25.05.2025).
10. Frida - инструмент для динамического анализа [Электронный ресурс] //
Frida.re: сайт. URL: https://frida.re/docs/home/ (дата обращения:
25.05.2025).
11. Android Frida: для чего она нужна и как ей пользоваться [Электронный ресурс] // Xakep.ru: сайт. URL: https://xakep.ru/2018/03/19/android-frida/ (дата обращения: 25.05.2025).
12. Android: add cert to system store [Электронный ресурс] // Gist.GitHub.com: репозиторий. URL: https://gist.github.com/pwlin/8a0d01e6428b7a96e2eb (дата обращения: 25.05.2025).
13. Fiddler = удобный сниффер + прокси сервер [Электронный ресурс] //
habr.com: сайт. URL: https://habr.com/ru/articles/554562/ (дата
обращения: 25.05.2025).
14. MEmu - Android Emulator for Windows [Электронный ресурс] //
MEmuplay.com: сайт. URL: https://www.memuplay.com/ (дата обращения: 25.05.2025).
15. adb remount permission denied, but able to access super user in shell -
android [Электронный ресурс] // StackOverflow.com: сайт. URL:
https://stackoverflow.com/questions/13089694/adb-remount-permission- denied-but-able-to-access-super-user-in-shell-android (дата обращения:
25.05.2025).
..31

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.

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