Содержание
- Что такое пентест мобильного приложения
- 8 групп MASVS
- Профили MAS: насколько строго тестировать
- Какой профиль подходит вам
- Главные риски: списки OWASP для мобильных приложений и API
- Что важно на каждой платформе
- Pinning, обнаружение root и обфускация: что защищают, а что нет
- Мобильные платежи и НБМ
- Как проходит мобильный пентест
- Частые вопросы
- Источники
За 30 секунд
- Базовый стандарт — OWASP MASVS v2.1.0 (январь 2024): 8 групп и 24 контроля, от хранения данных до конфиденциальности 12.
- Тесты — в MASTG v2.0.0 (июль 2026), первом стабильном выпуске обновлённой системы: 285 тестов, связанных с контролями через слабости MASWE 37.
- Прежние уровни L1/L2/R стали профилями MAS: L1, L2, R и P. Для банковского приложения пример OWASP — L2+P+R 4.
- Обнаружение root/jailbreak и обфускация — эшелонированная защита, а не мера безопасности: их отсутствие само по себе не уязвимость 6.
- Атакующий, контролирующий телефон, всё равно доходит до сервера: поэтому API бэкенда всегда входит в тест 1013.
Что такое пентест мобильного приложения
У мобильного приложения две половины: код на телефоне пользователя — то есть в руках любого, кто его скачал, — и серверы, с которыми оно общается. Тест охватывает обе. Руководство OWASP по тестированию указывает, что динамический анализ охватывает и приложение на мобильной платформе, и серверные сервисы и API, и рекомендует доступ к исходному коду; наиболее распространено тестирование «gray-box» 9.
| Проект OWASP MAS | Что это | Версия |
|---|---|---|
| MASVS | Стандарт: каким требованиям должно отвечать приложение — 8 групп, 24 контроля | v2.1.0, 18.01.2024 2 |
| MASWE | Каталог слабостей: 78, связаны с контролями | v1.0.0, 17.08.2026 7 |
| MASTG | Руководство по тестированию: 285 тестов с техниками, инструментами и демонстрациями; у каждого теста чёткий критерий прохождения | v2.0.0, июль 2026 3 |
8 групп MASVS
Откройте каждую группу: что требует стандарт и что тестировщик проверяет на практике 12.
STORAGEХранение данныхMASVS-STORAGE-1–2
- Что требует
- Чувствительные данные на телефоне хранятся безопасно и не утекают в журналы, резервные копии или снимки экрана.
- Что проверяем
- Что остаётся на устройстве после входа и выхода: файлы, локальные базы, Keychain или Keystore, журналы.
CRYPTOКриптографияMASVS-CRYPTO-1–2
- Что требует
- Современная криптография, применяемая правильно, и ключи, управляемые на всём жизненном цикле.
- Что проверяем
- Алгоритмы, режимы, ключи, зашитые в код или легко извлекаемые из приложения.
AUTHАутентификация и авторизацияMASVS-AUTH-1–3
- Что требует
- Безопасные протоколы с сервером, правильное использование локальной аутентификации (биометрии) и дополнительные шаги для чувствительных операций.
- Что проверяем
- Разблокирует ли биометрия просто «экран» или действительно ключ; проверяет ли права сам сервер, а не приложение.
NETWORKСетевое взаимодействиеMASVS-NETWORK-1–2
- Что требует
- Трафик защищён, а где нужно, приложение фиксирует идентичность собственных серверов (pinning).
- Что проверяем
- Перехват трафика, проверка сертификатов, исключения в ATS и сетевой конфигурации Android.
PLATFORMВзаимодействие с платформойMASVS-PLATFORM-1–3
- Что требует
- Взаимодействие с другими приложениями (IPC), WebView и интерфейс используются безопасно.
- Что проверяем
- Экспортированные компоненты Android, глубокие ссылки, JavaScript-мосты в WebView, данные на фоновых снимках.
CODEКачество кодаMASVS-CODE-1–4
- Что требует
- Актуальная платформа, принудительные обновления при необходимости, компоненты без известных уязвимостей, проверка входных данных.
- Что проверяем
- Сторонние библиотеки и SDK, минимальная версия ОС, что происходит с неожиданными данными.
RESILIENCEУстойчивость к обратной разработкеMASVS-RESILIENCE-1–4
- Что требует
- Целостность платформы, защита от модификации и затруднение статического и динамического анализа — как эшелонированная защита.
- Что проверяем
- Как быстро обходятся обнаружение root/jailbreak, проверки целостности и защита от отладки.
PRIVACYКонфиденциальностьMASVS-PRIVACY-1–4
- Что требует
- Минимизация данных, неидентифицируемость, прозрачность и контроль пользователя над своими данными.
- Что проверяем
- Что собирают приложение и его SDK по сравнению с заявленным в магазине и политике конфиденциальности.
Профили MAS: насколько строго тестировать
Начиная с MASVS v2.0.0 уровни больше не входят в стандарт: они стали профилями тестирования, применяемыми к тестам MASTG 24. Профиль выбирают по тому, кто атакующий.
| Профиль | Кто атакующий |
|---|---|
| MAS-L1 Essential | Другие приложения на телефоне; ОС не скомпрометирована 4 |
| MAS-L2 Advanced | ОС не доверенная; возможен физический доступ. Рекомендуется приложениям, работающим с данными карт или переводами денег 5 |
| MAS-R Resilient | Сам пользователь: реверс-инженер или жулик 4 |
| MAS-P Privacy | Не ориентирован на атакующего: защита персональных данных 4 |
Профили комбинируются. OWASP приводит примеры L1+P, L1+P+R, L2+P и L2+P+R — последний для банковских приложений 4.
Какой профиль подходит вам
Какой профиль MAS подходит вашему приложению?
Ориентировочно, по профилям OWASP MAS. Итоговый профиль определяем вместе, по модели угроз.
MAS-L1 + MAS-P
- MAS-L1 — базовая безопасность: другие приложения на телефоне — противники, операционная система считается нетронутой.
- MAS-L2 — расширенная безопасность: операционной системе нельзя доверять, у атакующего может быть физический доступ к телефону. OWASP рекомендует его для финансовых приложений.
- MAS-P — базовая конфиденциальность: какие данные собирают приложение и его SDK и контролирует ли их пользователь.
- MAS-R — устойчивость: атакующим может быть сам пользователь; проверяем, насколько приложение устойчиво к обратной разработке и модификации — дополнительно к L1/L2, а не вместо.
Проверяем все 8 групп MASVS; профиль определяет строгость.
- API бэкенда входит в периметр: запросы приложения воспроизводятся и изменяются напрямую, без приложения.
- Android: экспортированные компоненты, WebView, сетевая конфигурация, Keystore, вердикты Play Integrity с проверкой на сервере.
- iOS: исключения ATS, Keychain, URL-схемы, App Attest с проверкой на сервере.
- Две платформы — это два приложения для тестирования; общий API тестируется один раз.
Главные риски: списки OWASP для мобильных приложений и API
Список рисков мобильных приложений в финальной версии 2024 года 12:
- M1 Improper Credential Usage (неправильное использование учётных данных)
- M2 Inadequate Supply Chain Security (цепочка поставок)
- M3 Insecure Authentication/Authorization
- M4 Insufficient Input/Output Validation
- M5 Insecure Communication
- M6 Inadequate Privacy Controls
- M7 Insufficient Binary Protections
- M8 Security Misconfiguration
- M9 Insecure Data Storage
- M10 Insufficient Cryptography
Для серверной части действует API Security Top 10 — 2023, где мобильные приложения названы прямо. На первом месте BOLA — нарушение авторизации на уровне объектов: меняете ID в запросе и получаете данные другого клиента 13.
Что важно на каждой платформе
| Платформа | Тема | Что говорит официальная документация |
|---|---|---|
| Android | Экспортированные компоненты | При android:exported="true" любое приложение может запустить компонент; атрибут нужно объявлять явно 14 |
| Android | WebView | addJavascriptInterface открывает нативный объект всем фреймам WebView без проверки источника 15 |
| Android | Сетевая конфигурация | Незашифрованный трафик запрещён по умолчанию с Android 9; с API 24 по умолчанию доверие только системным центрам сертификации 16 |
| Android | Play Integrity | Вердикты о приложении, устройстве и аккаунте; Google не рекомендует делать его единственным механизмом защиты, nonce управляется на сервере 17 |
| iOS | App Transport Security | Включён по умолчанию; требует TLS 1.2 или новее; некоторые исключения требуют обоснования при публикации в App Store 18 |
| iOS | Keychain | Зашифрованная база для «небольших фрагментов данных»: паролей, ключей, сертификатов 19 |
| iOS | App Attest | Ключ создаётся в Secure Enclave и заверяется Apple; проверка выполняется на сервере, и не все устройства его поддерживают 20 |
Pinning, обнаружение root и обфускация: что защищают, а что нет
Pinning привязывает приложение к сертификату собственных серверов. MASTG указывает, что его отсутствие не следует считать уязвимостью, но для MAS-L2 он обязателен; и что атакующий, контролирующий устройство, может его отключить, поэтому сервер он не защищает 10. Если приложение использует стандартные API, обход занимает секунды с Frida или objection — поэтому тестировщики делают это первым делом, чтобы видеть трафик 11. Apple в 2021 году писала, что в большинстве случаев pinning не нужен 21.
Мобильные платежи и НБМ
Для платежей строгая аутентификация клиентов требует независимости элементов аутентификации. Если телефон — «многоцелевое устройство», где работает и приложение, и приходит код, обязательны отдельные защищённые среды исполнения, механизмы подтверждения, что ПО или устройство не изменены, и смягчение последствий, если изменены (RTS (ЕС) 2018/389, ст. 9) 22. В Республике Молдова регламент НБМ о строгой аутентификации (ПИК № 12/2024) воспроизводит эти требования в пп. 16–17 23.
Регламент ИКТ НБМ требует пентестов критичных систем минимум раз в 3 года и тестирования безопасности при запуске новых систем, доступных из интернета (пп. 33.2, 33.5) — мобильный банкинг подпадает под оба 24. Тест по профилю MAS-L2 прямо отвечает требуемым ст. 9 механизмам защиты от модификации.
Магазины тоже требуют прозрачности: Google Play требует от всех приложений раздел Data safety, включая сторонние SDK 25, а Apple — указывать причину использования API «с обязательной причиной» в манифесте конфиденциальности 26. Профиль MAS-P проверяет, соответствует ли заявленное тому, что собирает приложение.
Как проходит мобильный пентест
- Профиль и периметр
Согласуем профиль MAS, платформы, версии и API бэкенда; получаем тестовые сборки и учётные записи для каждой роли.
- Статический анализ
Декомпиляция и разбор: ключи в коде, экспортированные компоненты, сетевая конфигурация, библиотеки с известными уязвимостями.
- Динамический анализ
Приложение на тестовых устройствах: перехват трафика, что остаётся в хранилище, поведение при root/jailbreak.
- API бэкенда
Запросы без приложения: авторизация на уровне объектов и функций, аутентификация, лимиты.
- Отчёт и повторный тест
Каждая находка с контролем MASVS, критичностью, доказательством и исправлением; повторный тест на новой сборке закрывает их.
Частые вопросы
Какой стандарт используется для пентеста мобильных приложений?
Что означают MAS-L1, MAS-L2, MAS-R и MAS-P?
Отсутствие pinning — это уязвимость?
Защищает ли обнаружение root/jailbreak приложение?
Тестируете ли вы и API за приложением?
Источники
Каждое утверждение о законе или стандарте ссылается на официальный источник. Проверено на указанную дату.
- OWASP MASVS — стандарт проверки безопасности мобильных приложений (дата обращения 23.10.2026)mas.owasp.org · проверено 23 октября 2026 г.
- OWASP MASVS v2.1.0 (18.01.2024) — версия и контролиgithub.com · проверено 23 октября 2026 г.
- «MASTG v2.0.0 is Here» — объявление OWASP MAS (04.07.2026)mas.owasp.org · проверено 23 октября 2026 г.
- OWASP MAS — профили тестирования (MAS-L1, MAS-L2, MAS-R, MAS-P) (дата обращения 23.10.2026)mas.owasp.org · проверено 23 октября 2026 г.
- OWASP MAS — профиль MAS-L2 (дата обращения 23.10.2026)mas.owasp.org · проверено 23 октября 2026 г.
- OWASP MASVS-RESILIENCE (дата обращения 23.10.2026)mas.owasp.org · проверено 23 октября 2026 г.
- OWASP MASWE v1.0.0 (17.08.2026) — слабости мобильных приложенийgithub.com · проверено 23 октября 2026 г.
- OWASP MAS — отказ от чек-листа (14.07.2026)mas.owasp.org · проверено 23 октября 2026 г.
- OWASP MASTG — тестирование безопасности мобильных приложений (статический и динамический анализ) (дата обращения 23.10.2026)mas.owasp.org · проверено 23 октября 2026 г.
- OWASP MASTG — тестирование сетевых коммуникаций (pinning) (дата обращения 23.10.2026)mas.owasp.org · проверено 23 октября 2026 г.
- OWASP MASTG-TECH-0012 — обход pinning на Android (дата обращения 23.10.2026)mas.owasp.org · проверено 23 октября 2026 г.
- OWASP Mobile Top 10 (2024)owasp.org · проверено 23 октября 2026 г.
- OWASP API Security Top 10 — 2023owasp.org · проверено 23 октября 2026 г.
- Android — риск android:exporteddeveloper.android.com · проверено 23 октября 2026 г.
- Android — небезопасные нативные мосты WebViewdeveloper.android.com · проверено 23 октября 2026 г.
- Android — конфигурация сетевой безопасностиdeveloper.android.com · проверено 23 октября 2026 г.
- Android — обзор Play Integrity APIdeveloper.android.com · проверено 23 октября 2026 г.
- Apple — предотвращение небезопасных сетевых соединений (ATS)developer.apple.com · проверено 23 октября 2026 г.
- Apple — Keychain Servicesdeveloper.apple.com · проверено 23 октября 2026 г.
- Apple — проверка целостности приложения (App Attest)developer.apple.com · проверено 23 октября 2026 г.
- Apple Developer News — об identity pinning (14.01.2021)developer.apple.com · проверено 23 октября 2026 г.
- Делегированный регламент (ЕС) 2018/389 (RTS о строгой аутентификации клиентов)eur-lex.europa.eu · проверено 23 октября 2026 г.
- НБМ — Регламент о строгой аутентификации клиентов (ПИК № 12/2024)bnm.md · проверено 23 октября 2026 г.
- НБМ — Регламент о минимальных требованиях к управлению рисками ИКТ (ПИК № 29/2025)bnm.md · проверено 23 октября 2026 г.
- Google Play — раздел Data safetysupport.google.com · проверено 23 октября 2026 г.
- Apple — API с обязательным указанием причины в манифесте конфиденциальностиdeveloper.apple.com · проверено 23 октября 2026 г.
Об авторах
Руководства пишет команда, которая проводит тесты, а не отдел маркетинга. Мы обновляем их, когда меняется закон, стандарт или то, что мы видим в тестах.