Перейти к содержанию

Архитектурная схема

Внешняя сетевая схема

Описание сетевых взаимодействий

Источник Приемник Порт назначения Протокол Описание
1 WAN Stingray 80 / 443 HTTP / WS Доступ пользователей к Web интерфейсу Stingray. Взаимодействие пользователей с интерфейсом AppSec.Sting, основная работа с Web-приложением
2 CI/CD Stingray 80 / 443 HTTP Запуск сканирования мобильных приложений из инструментов CI/CD. Интеграция с процессом разработки через API системы. Отправка приложения на анализ и получение отчета в различных форматах обратно в систему CI/CD
3 Stingray iPhone 22 SSH Связь с iOS-устройством по SSH. Выполняемые операции:
- Передача собранного мобильного приложения на устройство
- Отправка команды на установку мобильного приложения, получение ответа об успешности установки
- Загрузка файлов приложения из внутренней директории на сервер AppSec.Sting для дальнейшего анализа
- Отправка различных команд для запуска необходимых процессов на устройстве (получение информации об устройстве, получение записей системного журнала, получение списка установленных приложений/пакетов)
- Получение информации о "здоровье устройства" (заряд батареи, список установленных пакетов, запущенные сервисы и т.д.)
- Команды на исправление "здоровья устройства" (загрузка и установка необходимых пакетов, перезапуск сервисов, изменение конфигурации сервисов)
- Запрос на удаление приложения, получение ответа об успешности удаления
4 Stingray iPhone 5900 VNC Трансляция экрана устройства iOS. На устройстве iOS запущен VNC-сервис для удаленного управления экраном устройства. Со стороны сервера AppSec.Sting устанавливается соединение через сервис WebSockify для преобразования VNC в WebSocket для дальнейшей передачи управления экраном приложения пользователю
5 Stingray iPhone 27042 TCP Взаимодействие с фреймворком динамической инструментации приложений. На устройстве iPhone запущен сервис, который на определенном порту принимает соединение от клиента. Клиент загружает на сервер скрипты, которые помогают инструментировать мобильное приложение и получать внутреннюю информацию, на базе которой проводится поиск уязвимостей и недостатков конфигурации исследуемого приложения
6 iPhone Wi-Fi / Ethernet - - Подключение устройства к беспроводной сети через WiFi или к проводной сети через Ethernet. Необходимо для осуществления дальнейшей связи между устройством и сервером AppSec.Sting
7 Stingray Mobile Application Backend Зависит от приложения HTTP / WS Доступ к серверной части исследуемого мобильного приложения. Необходим для корректной работы мобильного приложения. Порты и протоколы связи определяются самим исследуемым приложением и могут меняться в зависимости от сборки/версии и т.д. Применимо для Android-агентов сканирования, так как их трафик проходит через сервер AppSec.Sting
8 Stingray iPhone 6000 TCP Взаимодействие iOS Engine с сервисом воспроизведения и записи пользовательских действий на iPhone. На стороне устройства запущен сервис, который принимает команды по протоколу WebSocket и осуществляет функции записи действий пользователя или воспроизведения записанных ранее действий пользователя
9 iPhone Mobile Application Backend Зависит от приложения HTTP / WS Доступ к серверной части исследуемого мобильного приложения. Необходим для корректной работы мобильного приложения. Порты и протоколы связи определяются самим исследуемым приложением и могут меняться в зависимости от сборки/версии и т.д. Применимо для iOS-устройств, так как их трафик может проходить напрямую от устройства до серверной части мобильного приложения
10 Mobile Application Backend K8S Microservices 80/443 HTTP Доступ к сервисам тестирования. Необходим для отправки мобильных приложений в сервисы тестирования

Внутренняя сетевая схема

Описание сетевых взаимодействий

Контейнер источника Контейнер назначения Порт назначения Протокол Описание
1 Nginx Knowledgebase 8080 HTTP Документация
2 Nginx UI 8080 HTTP Веб-интерфейс Stingray
3 Nginx Backend 8000 HTTP Бекенд/Админка
4 Nginx Android Engine 6080 TCP / WebSocket Показ экрана Android Engine в UI
5 Nginx iOS Engine 6080 TCP / WebSocket Показ экрана iOS Engine в UI
6 Celerybeat Redis 6379 TCP Хранилище кеша
7 Backend RabbitMQ 5672 TCP Взаимодействие Backend с брокером очередей RabbitMQ
8 Backend PostgreSQL 5432 TCP Взаимодействие backend с базой данных
9 Backend Redis 6379 TCP Хранилище кеша
10 Maintenance RabbitMQ 5672 TCP Подключение и просмотр задач на исполнение в очереди
11 Celerybeat RabbitMQ 5672 TCP Подключение и просмотр задач на исполнение в очереди
12 Maintenance PostgreSQL 5432 TCP Подключение и просмотр состояния Engine в базе данных
13 Celerybeat PostgreSQL 5432 TCP Взаимодействие Celerybeat c базой данных
14 Maintenance Android Engine Docker.sock - Управление Android Engine, сохранение состояния Android Engine
15 Celerybeat iOS Engine Docker.sock - Менеджер задач для iOS Engine
16 Celerybeat Android Engine Docker.sock - Менеджер задач для Android Engine
17 Maintenance iOS Engine Docker.sock - Управление iOS Engine, сохранение состояния iOS Engine
18 Android Engine Neo4j 7687 TCP Взаимодействие Android Engine с графовой базой данных Neo4j
19 iOS Engine iPhone 22 SSH Взаимодействие iOS Engine с физическим устройством по SSH
20 iOS Engine Redis 6379 TCP Хранилище кеша
21 iOS Engine RabbitMQ 5672 TCP Взаимодействие iOS Engine с брокером очередей RabbitMQ
22 iOS Engine PostgreSQL 5432 TCP Сохранение результатов в базу данных
23 Android Engine PostgreSQL 5432 TCP Сохранение результатов в базу данных
24 Android Engine RabbitMQ 5672 TCP Взаимодействие Android Engine с брокером очередей RabbitMQ
25 Android Engine Redis 6379 TCP Хранилище кеша
26 iOS Engine iPhone 5900 VNC Преобразование VNC в WebSocket
27 iOS Engine iPhone 27042 TCP Взаимодействие iOS Engine с Frida Server на iPhone
28 iPhone Wi-Fi / Ethernet - - Подключение устройства в сеть Stingray
29 iOS Engine iPhone 6000 TCP Взаимодействие iOS Engine с сервисом воспроизведения и записи пользовательских действий на iPhone
30 Backend nginx 80/443 HTTP Взаимодействие с сервисами тестирования
31 nginx Oauth2 4180 TCP Взаимодействие с oauth2 proxy для проверки сессии
32 Oauth2 Keycloak 8080 TCP Взаимодействие с keycloak для получения токена
33 Nginx Microservices 8000 TCP Проксирование запросов в микросервисы
34 Nginx Deeptrack 8080 TCP Проксирование запросов в DeepTrack
35 Apricot Infrastructure services 5432/PSQL, 9000/S3, 9092/Kafka, 6379/Redis TCP Взаимодействие с сервисами инфраструктуры
36 Umbrella Infrastructure services 5432/PSQL, 9000/S3, 9092/Kafka, 6379/Redis TCP Взаимодействие с сервисами инфраструктуры
37 Marivanna Infrastructure services 9000/S3, 9092/Kafka, 6379/Redis TCP Взаимодействие с сервисами инфраструктуры
38 Dittany Infrastructure services 5432/PSQL, 9000/S3, 9092/Kafka, 6379/Redis TCP Взаимодействие с сервисами инфраструктуры
39 Camellia Infrastructure services 5432/PSQL, 9000/S3, 9092/Kafka, 6379/Redis, 8080/DTrack TCP Взаимодействие с сервисами инфраструктуры
40 Calypso Infrastructure services 5432/PSQL, 9000/S3, 9092/Kafka, 6379/Redis TCP Взаимодействие с сервисами инфраструктуры
К началу