
Зміст статті
- Коротко
- Що перевіряють: таблиця
- Дані на телефоні
- Зв'язок із сервером і API
- Вхід, сесії і права доступу
- Платежі і покупки в застосунку
- Секрети в коді і захист від розбору
- Сервер застосунку (бекенд)
- iOS і Android: у чому різниця
- Що надає замовник
- Що ви отримаєте в результаті
- Чекліст перед пентестом мобільного застосунку
- FAQ
- Посилання
Під час пентесту мобільного застосунку перевіряють шість речей: які дані застосунок лишає на телефоні, як він обмінюється даними із сервером і його API, як працюють вхід і сесії, чи не можна обійти оплату, чи немає в коді вшитих паролів і ключів і чи захищений сам сервер застосунку. Для iOS і Android основою є стандарт OWASP MASVS (перелік вимог до безпеки мобільних застосунків) і посібник OWASP MASTG (як саме ці вимоги перевіряти), а сервер і API тестують за методикою OWASP для вебзастосунків. [1] [4]
Пентест мобільного застосунку означає ручну перевірку застосунку і його сервера, під час якої фахівець діє як зловмисник: розбирає збірку, перехоплює трафік і пробує дістатися чужих даних, грошей чи функцій. Нижче таблиця з прикладами ризиків, пояснення до кожної частини, що надати виконавцю і що ви отримаєте. Загальний формат роботи описано на сторінці пентест.
Коротко
- Станом на жовтень 2026 року актуальні OWASP MASVS v2.1.0 (січень 2024) і MASTG v2.0.0 (червень 2026). Попросіть виконавця назвати версії, за якими він працює. [2] [3]
- MASVS ділить перевірку на вісім груп: зберігання даних, криптографія, вхід і права, мережа, взаємодія з телефоном, якість коду, стійкість до розбору і приватність. [1]
- Сам MASVS сервер не покриває. Найсерйозніші проблеми часто живуть саме в API, тому його варто включити в межі перевірки. [4]
- Від замовника потрібні збірки для iOS і Android, тестові акаунти для кожної ролі, опис API і контакт розробника.
- Результат: звіт із відтвореними знахідками, впливом на бізнес і порядком виправлень, а після виправлень ретест, якщо він погоджений.
Що перевіряють: таблиця
| Що перевіряють | Приклад ризику | Навіщо бізнесу |
|---|---|---|
| Дані на телефоні | Токен входу і номер картки лежать у файлі без шифрування | Втрачений чи заражений телефон не має ставати витоком даних клієнта |
| Зв'язок із сервером | Застосунок довіряє будь-якому сертифікату, трафік можна підмінити в публічній мережі | Ніхто посередині не читає і не змінює запити клієнтів |
| API сервера | Зміна номера в запиті показує профіль іншого користувача | Один клієнт не бачить даних іншого, а витік не стає новиною |
| Вхід і сесії | Після виходу старий токен далі працює, код з SMS можна перебрати | Чужий акаунт не можна захопити, вкрадена сесія швидко гасне |
| Платежі і покупки | Застосунок сам вирішує, що покупка успішна, сервер не перевіряє | Платний доступ не дістається безкоштовно, немає втрат на шахрайстві |
| Секрети в коді | У збірці знайдено ключ до хмарного сховища або платіжного сервісу | Ключ не можна витягти з магазину застосунків і використати проти вас |
| Взаємодія з телефоном | Чужий застосунок відкриває внутрішній екран через посилання | Інші застосунки на телефоні не отримують зайвого доступу |
| Стійкість до розбору | Перевірку ліміту або рівня доступу легко вимкнути в зміненій збірці | Важливі правила виконує сервер, а не телефон користувача |
Дані на телефоні
Тестувальник встановлює застосунок, проходить основні сценарії і дивиться, що залишилося на пристрої: файли, локальна база, журнали, кеш, резервні копії, знімки екрана в перемикачі застосунків. Типова знахідка: токен сесії (цифровий пропуск після входу) або персональні дані лежать відкрито, хоча iOS і Android мають захищені сховища для ключів, Keychain і Keystore.
Окремо перевіряють, що потрапляє в журнали і в резервні копії телефону. MASVS виносить зберігання даних в окрему групу вимог. [1]
Зв'язок із сервером і API
API означає спосіб, яким застосунок говорить із сервером: кожна кнопка в застосунку зазвичай перетворюється на запит. Тестувальник перехоплює ці запити і перевіряє дві речі. Перша: чи шифрується з'єднання і чи перевіряє застосунок сертифікат сервера, щоб ніхто посередині не підмінив відповідь. Друга: чи перевіряє сервер кожен запит, а не довіряє застосунку.
Найчастіша серйозна проблема виглядає просто: у запиті є номер замовлення чи профілю, і якщо змінити його, сервер віддає чужі дані. Мобільний інтерфейс цього не показує, але зловмисник працює із запитами напряму, без застосунку. Детальніше про перевірку API у статті як перевіряють безпеку сайту і API.
Вхід, сесії і права доступу
Тут перевіряють увесь шлях користувача: реєстрацію, вхід, відновлення пароля, вхід за відбитком чи обличчям, вихід. Типові питання: чи можна перебрати код з SMS, чи гасне сесія після виходу і зміни пароля, чи не можна обійти вхід за біометрією, просто змінивши відповідь у застосунку.
MASVS прямо каже, що рішення про доступ має ухвалювати сервер, а застосунок лише правильно користується протоколами входу. Для чутливих дій, як-от переказ грошей чи зміна телефону, потрібне додаткове підтвердження. [8] Окремо перевіряють ролі: чи може звичайний користувач викликати функцію менеджера чи адміністратора.
Платежі і покупки в застосунку
Якщо в застосунку є оплата, підписка чи бонуси, тестувальник шукає спосіб отримати платне без оплати: змінити суму в запиті, повторити запит на нарахування бонусу, підмінити відповідь «оплачено». Google для Android прямо радить переносити чутливу логіку на свій сервер і перевіряти кожну покупку там, перш ніж відкривати доступ. [6]
Сам платіжний провайдер і магазини застосунків належать іншим компаніям. Їх не тестують, перевіряють лише вашу інтеграцію з ними.
Секрети в коді і захист від розбору
Будь-яку збірку з App Store чи Google Play можна завантажити і розібрати. Тому тестувальник шукає в ній вшиті паролі, ключі API, адреси внутрішніх сервісів і тестові доступи. OWASP описує вшиті в пакет застосунку секрети як окрему слабкість. [5] Правило просте: усе, що є в застосунку, рано чи пізно побачить сторонній.
Стійкість до розбору (захист від зміни і копіювання застосунку) потрібна не всім. Для банківських застосунків, ігор із платними предметами чи застосунків із цінним вмістом її перевіряють глибше: чи працює застосунок на телефоні зі зламаним захистом системи, чи помічає зміну власного коду. Але цей захист лише ускладнює атаку, а важливі правила все одно має перевіряти сервер.
Сервер застосунку (бекенд)
Бекенд означає сервер і бази даних, з якими працює застосунок. MASVS і MASTG його не покривають і радять перевіряти окремо, за стандартами OWASP для вебзастосунків, зокрема посібником WSTG. [4] [7] На практиці мобільний пентест без API дає неповну картину: застосунок може бути зроблений акуратно, а сервер віддавати чужі дані будь-кому, хто знає адресу запиту.
Тому в межах перевірки варто прямо записати: застосунок iOS, застосунок Android, API, адмінпанель, якщо вона є. Якщо щось лишається поза тестом, це має бути видно у звіті.
iOS і Android: у чому різниця
Вимоги MASVS однакові для обох платформ, а методи перевірки в MASTG розписані окремо для кожної. [3] Відрізняються захищені сховища, правила дозволів, спосіб, яким інші застосунки можуть відкривати ваші екрани, і інструменти аналізу. Тому дві версії одного застосунку тестують окремо: помилка часто є лише на одній платформі, бо їх пишуть різні люди.
Що надає замовник
MASVS радить формат «відкритої книги»: тестувальник має доступ до розробників, документації, вихідного коду і щонайменше одного акаунта для кожної ролі. [4] Мінімум, який варто підготувати:
- збірки для iOS (через TestFlight або файл для тестового пристрою) і Android (файл APK або AAB), бажано без додаткового захисту від розбору для основної частини тесту;
- по два тестові акаунти на кожну роль, щоб перевірити доступ одного користувача до даних іншого;
- опис API або колекцію запитів, адресу тестового сервера;
- тестові картки або пісочницю платіжного провайдера, якщо є оплата;
- контакт розробника для швидких питань і письмовий дозвіл із межами перевірки.
Повний список кроків є в статті як підготуватися до пентесту.
Що ви отримаєте в результаті
- Короткий висновок для керівництва: що знайдено, чим це загрожує бізнесу, що виправити першим.
- Знахідки з кроками відтворення, доказами і оцінкою ризику, окремо для iOS, Android і API.
- Конкретні рекомендації для розробників, а не загальні поради.
- Перелік того, що перевірили і що лишилося поза межами.
- Ретест після виправлень, якщо його погоджено в договорі, з письмовим підтвердженням, що закрито.
Строк залежить від кількості платформ, ролей і функцій, тому його фіксують до старту. Якщо обсяг ще не зрозумілий, почніть з опису застосунку і пентесту найважливіших сценаріїв: входу, даних клієнта і платежів.
Чекліст перед пентестом мобільного застосунку
Завантажити чекліст підготовки (PDF)PDF · A4
FAQ
Що перевіряють під час пентесту мобільного застосунку?
Дані, які застосунок зберігає на телефоні, зв'язок із сервером і API, вхід і сесії, платежі, вшиті в код секрети, взаємодію з іншими застосунками і, за потреби, стійкість до розбору. Основою є OWASP MASVS і MASTG, а сервер перевіряють за методикою OWASP для вебзастосунків.
Чи треба тестувати iOS і Android окремо?
Так. Вимоги однакові, але платформи по-різному зберігають дані і дають доступ іншим застосункам, а код часто пишуть різні команди. Помилка в одній версії не означає, що вона є в іншій, і навпаки.
Чи входить API в пентест мобільного застосунку?
Має входити, але це варто записати явно. MASVS покриває лише сам застосунок, а найсерйозніші проблеми, як-от доступ до чужих даних, зазвичай живуть на сервері.
Чи потрібен вихідний код?
Не обов'язково, тест можна провести лише зі збірками. Але з кодом і документацією перевірка глибша за той самий час, і MASVS рекомендує саме такий відкритий формат.
Як часто робити пентест мобільного застосунку?
Зазвичай раз на рік і після великих змін: нових платежів, нового способу входу, переходу на інший сервер. Між пентестами допомагають автоматичні перевірки в процесі збирання застосунку.
Посилання
- OWASP MASVS: The Mobile Application Security Verification Standard mas.owasp.org
- OWASP MASVS v2.1.0 release (January 2024) github.com
- OWASP MASTG v2.0.0 release (June 2026) github.com
- OWASP MASVS: Assessment and Certification mas.owasp.org
- OWASP MASWE-0004: Sensitive Data Hardcoded in the App Package mas.owasp.org
- Android Developers: Play Billing, Fight fraud and abuse developer.android.com
- OWASP Web Security Testing Guide wstg.owasp.org
- OWASP MASVS-AUTH: Authentication and Authorization mas.owasp.org



