DeteAct

Пентест мобильных приложений

Анализ защищённости приложений для iOS и Android и их серверных API: хранение и передача данных, криптография, WebView, обработка внешних данных, устойчивость к реверс-инжинирингу. Методология OWASP MASVS/MASTG, отчёт с CVSS и PoC, покрытие видно в платформе Scoper.

Паспорт услуги
Объект
Нативные, гибридные и кроссплатформенные приложения для iOS и Android, SDK, серверные API, с которыми они работают
Методология
OWASP MASVS и MASTG, OWASP Mobile Top 10; оценка риска по CVSS 3.1
Модель
Серый ящик с тестовыми учётными записями (рекомендуем); белый ящик с исходным кодом; чёрный ящик по сборке из магазина
Сроки
2–3 недели для одной платформы, 3–4 недели для iOS и Android с общим бэкендом
Результат
Отчёт с резюме для руководства, находками, PoC и рекомендациями с примерами кода; разбор с командой
Перепроверка
Одна контрольная, в течение 10 рабочих дней после запроса, включена в стоимость

Что даёт пентест мобильного приложения

Мобильное приложение работает на устройстве, которое вам не принадлежит и которое может быть скомпрометировано. Поэтому проверка охватывает две стороны: что приложение оставляет на устройстве и в трафике, и как им можно злоупотребить для доступа к серверным API. Уязвимости здесь приводят к утечке персональных данных, финансовым потерям и репутационному ущербу, а исправлять их сложнее, чем на сервере: обновление должно дойти до каждого пользователя.

В проект входят автоматизированное и ручное тестирование: инструментальные сканеры находят устаревшие библиотеки и типовые ошибки, а специалисты проверяют логику, хранение секретов, работу с WebView и платформенными механизмами, устойчивость к модификации и поведение серверной части. Это позволяет найти максимум уязвимостей, включая сложные логические ошибки, которые автоматика не видит.

Наши специалисты тестировали приложения для iOS и Android разного масштаба и назначения: банковские и платёжные клиенты, маркетплейсы, корпоративные приложения, SDK и приложения с собственной криптографией. Что именно проверяем на каждой платформе — ниже.

Покрытие по OWASP MASVS

Семь областей стандарта. В каждой перечислено, что именно проверяем, и какие находки встречаются в реальных проектах.
Область MASVSЧто проверяемПримеры находок
Хранение данных (STORAGE)Небезопасное логирование, запись секретов в общедоступные директории, доступ к сохранённым паролям и идентификаторам сессий, резервные копии, кешТокены сессий в plaintext, пароли в логах, персональные данные в доступных другим приложениям файлах
Криптография (CRYPTO)Слабые алгоритмы, захардкоженные ключи шифрования, пароли и API-ключи в коде, управление секретами, генерация случайных чиселAES с константным ключом в APK, ключи сторонних сервисов в ресурсах приложения
Аутентификация и сессии (AUTH)Биометрия и PIN, хранение токенов, обновление сессий, защита от перебора на стороне APIОбход биометрии через подмену ответа, бессрочные токены
Сетевое взаимодействие (NETWORK)Передача данных в открытом виде, отсутствие SSL pinning, проверка сертификатов, защищённость коммуникаций приложение — серверПерехват трафика в недоверенной Wi-Fi-сети, обход pinning
Взаимодействие с платформой (PLATFORM)Обработка URL-схем и дип-линков, QR-кодов, Intent'ов, pasteboard, broadcast receivers и других внешних источников данных; WebView: XSS, UI redressing, открытие недоверенных страниц; утечки в общий буфер обмена, кеширование экранов, передача данных сторонним сервисам без уведомления пользователяЭкспортированная Activity с доступом к данным, выполнение JavaScript в WebView через дип-линк
Качество кода (CODE)SQL-инъекции в локальные базы, чтение произвольных файлов, обработка внешних данных, уязвимые сторонние библиотекиPath traversal через имя файла из API, устаревший SDK с известной CVE
Устойчивость к анализу (RESILIENCE)Защита от реверс-инжиниринга и модификации: обфускация, детект root/jailbreak, антиотладка, контроль целостностиОтключение проверок через Frida, репак приложения с подменённым сервером

Особенности iOS и Android

Общая методология одна, но платформенные механизмы и типовые ошибки различаются. На скоупинге уточняем, какие из них актуальны для вашего приложения.

iOS

  • Keychain, NSUserDefaults и файлы в песочнице: классы защиты, доступность данных при заблокированном устройстве, попадание в резервные копии iCloud и iTunes
  • App Transport Security, pinning сертификатов и его обход через инструментирование
  • Универсальные ссылки и URL-схемы, расширения приложений, межпроцессное взаимодействие
  • Снимки экранов в переключателе задач, автозаполнение и буфер обмена
  • Проверка jailbreak-детекта и защиты от отладки, анализ бинарного файла после расшифровки

Android

  • Экспортированные Activity, Service, Broadcast Receiver и Content Provider, обработка Intent'ов и дип-линков
  • Хранение в SharedPreferences, SQLite и внешнем хранилище, флаги резервного копирования
  • Network Security Config, доверие пользовательским сертификатам, pinning
  • WebView: включённый JavaScript, доступ к файлам, мосты JavaScript — Java, загрузка недоверенного контента
  • Декомпиляция и анализ APK, обфускация, root-детект и контроль целостности, SDK и библиотеки с известными уязвимостями

Как мы работаем

Пять этапов типового проекта. Критические уязвимости сообщаем сразу после подтверждения, не дожидаясь отчёта.
  1. 01

    Сбор информации об объекте

    Изучаем документацию и структуру приложения, проводим декомпозицию и выделяем потенциально уязвимые интерфейсы. Анализируем сетевое взаимодействие и HTTP-запросы, обращения к файловой системе, буферу обмена, камере и другим ресурсам устройства. Результат — карта экранов и API-методов, по которой далее фиксируется покрытие.

  2. 02

    Инструментальное сканирование

    Определяем уязвимые и устаревшие версии сторонних библиотек в сборке. Запускаем средства анализа защищённости классов SAST и DAST для мобильных платформ, анализируем и верифицируем результаты, отсеиваем ложные срабатывания.

  3. 03

    Ручной и полуавтоматический поиск уязвимостей

    Основная часть проекта. Проверяем безопасность хранения и передачи данных, соблюдение приватности, уязвимости WebView, ошибки криптографии и управления секретами, обработку внешних данных, SQL-инъекции, чтение файлов, защиту от реверс-инжиниринга. Используем перехват трафика, инструментирование в рантайме и анализ декомпилированного кода.

  4. 04

    Эксплуатация обнаруженных уязвимостей

    Подтверждаем находки эксплуатацией и демонстрируем получение доступа к защищаемым ресурсам: данным других пользователей, серверным функциям, локальным секретам. Показываем возможности полной или частичной компрометации ресурсов мобильного приложения и связанных с ним сервисов.

  5. 05

    Отчёт и повторные проверки

    Составляем отчёт с описанием каждой уязвимости, оценкой риска по CVSS, шагами воспроизведения и рекомендациями по устранению с примерами кода и лучшими практиками. После исправления проводим контрольную перепроверку и подтверждаем, что исправления работают.

Ход работ виден в Scoper

Платформа DeteAct Scoper показывает прогресс тестирования и статус каждой уязвимости в реальном времени: заказчик всегда знает, что проверено, что найдено и что уже исправлено.

О платформе Scoper
  • Прозрачность процесса: проверенные экраны, API-методы и роли отображаются по мере работы
  • Статус уязвимостей в реальном времени — от обнаружения до подтверждения исправления
  • Приоритизация задач по устранению по уровню риска и затрагиваемым функциям
  • Общее пространство для вопросов между пентестерами, разработчиками и ИБ-командой
  • Статистика по запросам, методам и типам проверок и отчётность на любом этапе

Что нужно для старта

Чем полнее доступ, тем выше покрытие за то же время. Минимальный набор — сборки и тестовые учётные записи; остальное ускоряет работу.

Сборки
IPA и APK/AAB тестовой версии или доступ в TestFlight и внутреннее тестирование Google Play. Желательно без обфускации либо с картой символов
Учётные записи
Тестовые аккаунты для каждой роли (пользователь, премиум, администратор) и тестовые платёжные данные, если есть платежи
Серверы
Адреса тестовых серверов API, идентичных продакшену; при тестировании продакшена — согласованные окна и исключения
Документация
Описание функций, схема API (OpenAPI, GraphQL-схема), особенности защиты: pinning, root-детект, собственная криптография
Исходный код
Не обязателен. Доступ к репозиторию переводит работу в формат белого ящика и совмещается с аудитом кода
Аудит безопасности исходного кода

Что получает компания

Результаты, которые важны руководителю ИБ, мобильной разработке и бизнесу по итогам проекта.

Опыт в мобильной безопасности

Специалисты с опытом тестирования приложений для iOS и Android разной сложности и назначения — от банковских клиентов до SDK.

Автоматизированное и ручное тестирование

Сканеры закрывают типовые ошибки, специалисты — логику, платформенные механизмы и цепочки из нескольких находок, которые автоматика не связывает.

Отчёт с примерами кода

Каждая уязвимость описана с шагами воспроизведения, оценкой риска и рекомендацией по устранению с примерами кода и лучшими практиками.

Соответствие стандартам

Тестирование по OWASP Mobile Top 10 и MASVS/MASTG; отчёт принимают аудиторы по PCI DSS, ГОСТ Р 57580 и требованиям ФСТЭК.

Поддержка после тестирования

Помогаем разработке устранить находки и проводим повторное тестирование, подтверждающее эффективность исправлений.

Прозрачность процесса

Платформа Scoper даёт регулярные обновления о ходе работ и статусе тестирования без запросов «как дела?».

Вопросы о пентесте мобильных приложений

Сколько стоит пентест мобильного приложения?
Стоимость фиксируется после скоупинга и зависит от числа платформ (iOS, Android или обе), объёма функций и ролей, наличия исходного кода и того, входит ли в работу серверный API. Коммерческое предложение с составом работ, сроками и ценой готовим за один-два рабочих дня.
Сколько длится тестирование мобильного приложения?
Одно приложение на одной платформе вместе с его серверным API обычно занимает две-три недели активной фазы; две платформы с общим бэкендом — три-четыре недели. Отчёт передаём в течение недели после завершения активной фазы.
Что нужно предоставить для начала работ?
Сборки приложения для тестирования (IPA и APK или доступ в TestFlight и внутреннее тестирование Google Play), тестовые учётные записи для каждой роли, адреса тестовых серверов и, если они есть, описание API и схема взаимодействия. Исходный код не обязателен, но ускоряет работу и повышает покрытие.
Проверяете ли вы серверную часть и API?
Да. Мобильное приложение почти всегда ценно для атакующего как способ добраться до серверных API, поэтому в проект входит проверка бэкенда, с которым оно работает: аутентификация, авторизация между пользователями, бизнес-логика, инъекции. Глубина проверки API согласуется на скоупинге.
По какой методологии проводится тестирование?
По OWASP Mobile Application Security Verification Standard (MASVS) и Mobile Application Security Testing Guide (MASTG), с учётом OWASP Mobile Top 10. Уровень проверки (L1, L2 или с требованиями устойчивости к реверс-инжинирингу R) фиксируем до начала работ.
Нужны ли jailbreak или root для тестирования?
Мы используем собственные устройства и эмуляторы с полным доступом, чтобы анализировать хранение данных, трафик и поведение приложения в рантайме. От заказчика ничего дополнительно не требуется. Отдельно проверяем, корректно ли приложение определяет скомпрометированное окружение, если такая защита заявлена.
Как вы подтверждаете, что приложение проверено полностью?
Покрытие фиксируется в платформе DeteAct Scoper: заказчик видит проверенные экраны, API-методы и роли, статус каждой находки и статистику работ в реальном времени. В отчёте приводим перечень проверенных требований MASVS.
Проводится ли повторная проверка после исправлений?
Да. Одна контрольная перепроверка исправленных уязвимостей входит в стоимость и выполняется в течение десяти рабочих дней после запроса в рамках гарантийного срока. По её итогам выдаём обновлённый отчёт со статусами.

Заказать пентест мобильного приложения

Пришлите ссылку на приложение в магазине или тестовую сборку, укажите платформы, роли пользователей и желаемые сроки. Уточним границы работ, предложим уровень проверки по MASVS и зафиксируем стоимость в течение одного-двух рабочих дней. NDA подписываем до получения любых материалов.

Почта
info@deteact.ru
Телефон
+7 499 444-12-46
Офис
Москва, Пресненская набережная, 10с2 (IQ-квартал, Москва-Сити)
Лицензия
ФСТЭК России №Л024-00107-00/00581935
Заявка уходит напрямую команде, без колл-центра. Ответим с рабочей почты.