Пентест на мобилни приложения: Открийте какво App Store не проверява

Вашето мобилно приложение преминава всяко ревю в App Store. Обработва милиони транзакции. Потребителите ви му доверяват данните си. Но тествали ли сте какво се случва, когато някой умишлено се опита да го разбие? Ние правим reverse engineering на вашите iOS и Android приложения, заобикаляме всяка защита и ви показваме точно какво би открил атакуващият — преди той да го направи.

Лаборатория за тестване на мобилна сигурност със смартфони, лаптоп и специализиран хардуер за пентест
200+Тествани мобилни приложения
iOS + AndroidИ двете платформи
OWASP MASVSСертифицирана методология
Реални устройстваНе емулатори

Защо мобилните приложения са различни

Мобилните приложения не са уеб приложения. Те се изпълняват на устройството на потребителя. Това означава, че бинарният файл е в ръцете на атакуващия, хранилището на устройството е достъпно, мрежовият трафик може да бъде прихванат, а jailbroken/rooted устройства заобикалят вашите защити. Всяко мобилно приложение е подарена атакуема повърхност в джоба на потребителя.

Атакуема повърхностУеб приложениеМобилно приложение
Достъп до бинарен файлСамо сървърна странаНапълно изтегляем и обратим
Локално съхранениеCookies и localStorageKeychain, SharedPreferences, SQLite, файлове
Certificate PinningНе е приложимоТрябва да бъде тествано и заобиколимо
Биометрична автентикацияОграничена (WebAuthn)Face ID, Touch ID, пръстов отпечатък — всички заобиколими
Push известияБазовиМогат да изтекат чувствителни данни
Deep LinksСамо URL адресиURL schemes, Universal Links, App Links
Комуникация между приложенияНямаIntents, Content Providers, URL schemes
Сензори на устройствотоОграничениGPS, камера, микрофон, NFC, Bluetooth
iOS и Android смартфони с абстрактни визуализации на анализ на сигурността за мобилен пентест

Какво тестваме: iOS срещу Android

Всяка платформа има уникални механизми за сигурност — и уникални начини да бъдат разбити. Познаваме и двете отвътре.

iOS тестване

  • Анализ и reverse engineering на IPA бинарен файл (class-dump, Hopper)
  • Оценка на Keychain съхранение
  • Конфигурация на App Transport Security
  • Objective-C/Swift runtime манипулация (Frida, Cycript)
  • Заобикаляне на jailbreak детекция
  • Тестване на Universal Links и URL schemes
  • Заобикаляне на certificate pinning (SSL Kill Switch, Objection)
  • Валидация на Data Protection API

Android тестване

  • Декомпилация и анализ на APK (jadx, apktool)
  • Инспекция на SharedPreferences и SQLite бази данни
  • Сигурност на Content Provider и Intent
  • Патчване на Smali код и препакетиране
  • Заобикаляне на root детекция (Magisk, Frida)
  • Експлоатация на deep links и WebView
  • Заобикаляне на certificate pinning (Frida скриптове)
  • Преглед на имплементация на Android Keystore

6-те фази на нашия мобилен пентест

Структурирана, повторяема методология, която покрива всеки ъгъл — от reverse engineering на бинарен файл до доставка на финален доклад.

Фаза 1Ден 1-2

Разузнаване и настройка

Изтегляне на приложението от App Store и Google Play, настройка на средата на jailbroken iOS устройство и rooted Android устройство, конфигурация на прокси с Burp Suite, първоначално прихващане на трафик и fingerprinting на технологиите. Идентифицираме всяка API крайна точка, SDK на трета страна и комуникационен канал преди тестването да започне.

Фаза 2Ден 3-5

Статичен анализ

Reverse engineering на бинарен файл с jadx, apktool, class-dump и Hopper Disassembler. Търсим хардкоднати тайни, API ключове и идентификационни данни. Картографираме API крайни точки, вградени в бинарния файл, преглеждаме криптографски имплементации и анализираме всеки SDK на трета страна за известни уязвимости и изтичане на данни.

Статичен анализ на мобилно приложение с преглед на код и визуализация на reverse engineering
Фаза 3Ден 6-9

Динамичен анализ

Runtime инструментация с Frida и Objection. Прихващаме методи, заобикаляме автентикация, манипулираме логиката на приложението по време на изпълнение, тестваме заобикаляне на биометрична автентикация, побеждаваме jailbreak и root детекция и прихващаме криптирани комуникации. Всеки контрол за сигурност се тества при атакуващи условия.

Смартфон, тестван динамично с runtime анализ и USB debugging връзка
Фаза 4Ден 10-12

Мрежово и API тестване

Man-in-the-middle прихващане на целия трафик на приложението. Заобикаляне на certificate pinning за инспекция на криптирани комуникации. Пълно тестване на API автентикация и авторизация, манипулация на бизнес логика, проверки на rate limiting и анализ на изтичане на данни. Тестваме всяка заявка, която приложението прави — не само тези, които разработчикът е документирал.

Настройка за тестване на мобилна API сигурност със смартфон, свързан към монитор с визуализация на потока данни
Фаза 5Ден 13-14

Експлоатация и верижно свързване

Верижно свързване на уязвимости за демонстрация на максимално въздействие. Комбинираме отделни констатации в пълни вериги на атака — ескалиране от незначително изтичане на данни до превземане на акаунт, от заобиколена детекция до пълно извличане на данни. Всеки proof of concept демонстрира реално бизнес въздействие, не теоретичен риск.

Фаза 6Ден 15-17

Докладване и отстраняване

Резюме за ръководството, подробни технически констатации с CVSS оценки, стъпка по стъпка инструкции за възпроизвеждане и специфични за платформата насоки за отстраняване. Всяка констатация включва препоръки за поправка, разбираеми за разработчици, с примери за код за iOS и Android. Провеждаме на живо разбор на всяка констатация.

Доставка на доклад от мобилен пентест в конферентна зала с табло за констатации на сигурността

Покритие на OWASP Mobile Top 10

Тестваме срещу пълния OWASP Mobile Top 10 (2024) — индустриалният стандарт за рискове за сигурността на мобилни приложения.

M1

Improper Credential Usage

Критичен
Какво тестваме

Хардкоднати идентификационни данни, несигурно съхранение на credentials, неправилно обработване на токени, излагане на API ключове в бинарен файл

Чести констатации

API ключове в plaintext, токени в SharedPreferences, credentials в plist файлове

M2

Inadequate Supply Chain Security

Висок
Какво тестваме

Анализ на SDK на трети страни, сканиране за уязвимости в библиотеки, преглед на зависимости, детекция на злонамерени пакети

Чести констатации

Остарели SDK с известни CVE, analytics SDK, изтичащи PII, рекламни библиотеки с прекомерни разрешения

M3

Insecure Authentication/Authorization

Критичен
Какво тестваме

Заобикаляне на биометрия, управление на сесии, валидация на токени, ескалация на привилегии, IDOR на мобилни API

Чести констатации

Заобиколена биометрична автентикация чрез Frida, слаби сесийни токени, нарушена авторизация на обектно ниво

M4

Insufficient Input/Output Validation

Висок
Какво тестваме

SQL injection, XSS в WebViews, path traversal, format string атаки, deep link injection

Чести констатации

JavaScript injection чрез deep links, SQL injection в локални SQLite заявки, XSS във вградени WebViews

M5

Insecure Communication

Висок
Какво тестваме

Заобикаляне на certificate pinning, детекция на cleartext трафик, слаби TLS конфигурации, MITM уязвимост

Чести констатации

Липсващ certificate pinning, HTTP fallback връзки, слаби cipher suites, данни, изпратени в cleartext

M6

Inadequate Privacy Controls

Среден
Какво тестваме

Излагане на PII в логове, изтичане на данни от clipboard, заснемане на екрани с чувствителни данни, прекомерно събиране от analytics

Чести констатации

Чувствителни данни в системни логове, PII, изпратени към analytics доставчици, кеширани скрийншоти на финансови данни

M7

Insufficient Binary Protections

Среден
Какво тестваме

Устойчивост на reverse engineering, обфускация на код, anti-tampering, детекция на debugger, jailbreak/root детекция

Чести констатации

Без обфускация, лесно заобиколима jailbreak детекция, без anti-debugging, тривиално препакетиране

M8

Security Misconfiguration

Висок
Какво тестваме

Настройки за backup, debug флагове, експортирани компоненти, прекомерни разрешения, несигурна WebView конфигурация

Чести констатации

Активиран debug режим, android:allowBackup=true, експортирани activities без защита, JavaScript активиран в WebViews

M9

Insecure Data Storage

Критичен
Какво тестваме

Използване на Keychain/Keystore, разрешения на файловата система, криптиране на бази данни, анализ на кеш и temp файлове

Чести констатации

Чувствителни данни в plaintext файлове, некриптирани SQLite бази данни, токени в UserDefaults вместо Keychain

M10

Insufficient Cryptography

Висок
Какво тестваме

Сила на алгоритми, управление на ключове, повторно използване на IV, потребителски crypto имплементации, генериране на случайни числа

Чести констатации

Хардкоднати ключове за криптиране, остарели алгоритми (MD5, SHA1), използване на ECB режим, предвидими IV

Какви видове мобилни приложения тестваме

Всяка платформа и framework има уникални вектори на атака. Познаваме вътрешността на всеки от тях.

Native iOS

Swift и Objective-C приложения с пълен анализ на бинарен файл, тестване на Keychain и runtime манипулация чрез Frida и Cycript.

Native Android

Kotlin и Java приложения с декомпилация на APK, Smali патчване, тестване на Content Provider и преглед на Android Keystore.

React Native

Експлоатация на JavaScript bridge, анализ на Hermes bytecode, инспекция на AsyncStorage и преглед на сигурността на native модули.

Flutter

Анализ на Dart AOT бинарен файл, прихващане на platform channel, инспекция на Hive/Drift бази данни и reverse engineering базиран на snapshot.

Хибридни (Ionic/Cordova)

Тестване на WebView сигурност, анализ на уязвимости в плъгини, извличане на JavaScript сорс код и инспекция на локално съхранение.

Progressive Web Apps

Сигурност на service worker, манипулация на кеш, тестване на Web API достъп и анализ на офлайн съхранение на данни.

Забележка: Всяка платформа има уникални вектори на атака. React Native приложенията излагат JavaScript bridges. Flutter приложенията изискват Dart-специфичен анализ. Xamarin приложенията се нуждаят от .NET декомпилация. Познаваме вътрешността на всеки framework.

Кой се нуждае от пентест на мобилно приложение?

Ако нещо от изброеното ви звучи познато, вашето мобилно приложение се нуждае от оценка на сигурността.

Стартирате мобилно банкиране, плащания или fintech приложение, което обработва чувствителни финансови данни
Вашето мобилно приложение съхранява или обработва защитена здравна информация и трябва да отговаря на HIPAA
Клиент, партньор или корпоративен купувач изисква оценка на мобилната сигурност преди интеграция
Приложението ви има милиони изтегляния и никога не сте имали професионален тест за мобилна сигурност
Подавате приложението си за PCI DSS съответствие и се нуждаете от доказателство за тестване на сигурността
Вашият екип за разработка е създал потребителска автентикация или криптиране и иска да го валидира
Подозирате, че приложението ви може да е уязвимо на reverse engineering, клониране или злоупотреба с API
Приложението ви наскоро беше пробито или открихте неоторизиран достъп до потребителски данни

Цени за пентест на мобилни приложения

Прозрачно, фиксирано ценообразуване. Без почасово таксуване. Оферта в рамките на 24 часа.

ПакетОбхватСрокНачална цена
Една платформаiOS ИЛИ Android приложение2-3 седмици€4 500
Двете платформиiOS И Android приложения3-4 седмици€7 200
Двете платформи + APIiOS + Android + backend API4-5 седмици€10 800
Непрекъснато тестванеТримесечно за платформаПостоянно€3 200/тримесечие

Всеки ангажимент включва един кръг безплатно повторно тестване след отстраняване. След като вашият екип поправи констатациите, ние верифицираме, че поправките работят без допълнително заплащане.

Комбинираните обхвати получават обемни отстъпки. Свържете се с нас за индивидуална оферта.

Защо да изберете Atlant Security за мобилен пентест

Какво отличава нашето тестване на мобилна сигурност от останалите.

Реални физически устройства, не емулатори

Тестваме на реални jailbroken iOS устройства и rooted Android устройства. Емулаторите пропускат хардуерни функции за сигурност като Secure Enclave, биометрични сензори и специфично за устройството поведение. Реалните устройства дават реални резултати.

Старши специалисти по мобилна сигурност

Всеки ангажимент се води от консултант, специализиран в мобилна сигурност — не генералист, използващ автоматизирани инструменти. Човекът, който определя обхвата на проекта, е човекът, който тества приложението ви.

Фиксирана цена, оферта за 24 часа

Знаете точната цена преди да започнем. Без почасово таксуване, без разширяване на обхвата, без изненадващи фактури. Определяме обхвата, ценообразуваме и доставяме — точно както е договорено.

OWASP MASVS методология

Тестваме срещу OWASP Mobile Application Security Verification Standard — глобално признатият framework за сигурност на мобилни приложения. Всяка констатация се картографира към MASVS контроли за ясна приоритизация на отстраняването.

Безплатно повторно тестване включено

След като вашият екип отстрани нашите констатации, ние повторно тестваме всяка уязвимост без допълнителна цена. Получавате чист доклад, потвърждаващ, че поправките работят — не само обещание, че би трябвало.

Доклади, разбираеми за разработчици

Нашите доклади включват специфични за платформата насоки за поправка с примери за код. Вашите iOS и Android разработчици получават действащи стъпки за отстраняване — не неясни препоръки, изискващи часове допълнително проучване.

Свързани услуги за сигурност

Вашето приложение е в джоба на всеки потребител. Уверете се, че не е отворена врата.

Запазете безплатен 30-минутен разговор за определяне на обхвата. Ще обсъдим вашето мобилно приложение, ще идентифицираме правилния обхват на тестване и ще ви дадем оферта с фиксирана цена в рамките на 24 часа. Без търговска презентация — само честна оценка на това, от което вашето приложение се нуждае.

Често задавани въпроси за пентест на мобилни приложения

Колко струва пентест на мобилно приложение?
Тестването на една платформа (iOS или Android) започва от €4 500. Двете платформи започват от €7 200. Цялостен ангажимент, покриващ двете платформи плюс backend API, започва от €10 800. Тримесечно непрекъснато тестване започва от €3 200 за платформа. Предоставяме оферта с фиксирана цена в рамките на 24 часа — без почасово таксуване.
Колко време отнема мобилен пентест?
Тест на една платформа отнема 2-3 седмици. Двете платформи отнемат 3-4 седмици. Двете платформи плюс backend API отнемат 4-5 седмици. Активната фаза на тестване е 10-14 дни, с допълнително време за определяне на обхвата, докладване и разбор на живо.
Тествате ли и iOS, и Android?
Да. Тестваме native iOS приложения (Swift/Objective-C), native Android приложения (Kotlin/Java) и крос-платформени приложения, създадени с React Native, Flutter, Xamarin, Ionic и Cordova. Всяка платформа има уникални вектори на атака и имаме специалисти и за двете.
Нужен ли ви е нашият сорс код?
Не. Правим reverse engineering на компилирания бинарен файл — точно както би направил реален атакуващ. Декомпилираме APK с jadx и apktool и анализираме iOS IPA с class-dump и Hopper. Ако искате да предоставите сорс код за white-box преглед, можем да направим и това, но не е задължително.
Можете ли да заобиколите нашата jailbreak/root детекция?
Почти сигурно да. Повечето имплементации на jailbreak и root детекция могат да бъдат заобиколени с Frida, Objection, Magisk или потребителски скриптове. Тестваме ефективността на вашата детекция и ви показваме точно как атакуващ би я заобиколил. След това препоръчваме по-силни имплементации.
Какво е OWASP Mobile Top 10?
OWASP Mobile Top 10 е индустриалният стандарт за най-критичните рискове за сигурността на мобилни приложения. Версията от 2024 покрива 10 категории от Improper Credential Usage до Insufficient Cryptography. Нашата методология за тестване покрива всички 10 категории изчерпателно.
Тествате ли и backend API-то?
Стандартният ни мобилен пентест включва тестване на API заявките, направени от приложението. За пълна самостоятелна API оценка, покриваща цялата API атакуема повърхност, предлагаме комбиниран мобилен + API пакет, започващ от €10 800.
На какви устройства тествате?
На реални физически устройства — не само емулатори. Нашата лаборатория включва jailbroken iOS устройства и rooted Android устройства от различни модели и версии на ОС. Реалните устройства са от съществено значение за тестване на хардуерни функции за сигурност като Secure Enclave, биометрична автентикация и специфично за устройството поведение.
По какво се различава мобилният пентест от пентеста на уеб приложения?
Мобилните приложения се изпълняват на устройството на потребителя, което означава, че бинарният файл е в ръцете на атакуващия. Мобилният пентест изисква reverse engineering на бинарни файлове, runtime манипулация с Frida, тестване на jailbroken/rooted устройства и оценка на специфични за платформата механизми за сигурност като Keychain, certificate pinning и биометрична автентикация.
Предлагате ли повторно тестване след отстраняване на уязвимостите?
Да. Всеки ангажимент включва един кръг безплатно повторно тестване. След като вашият екип поправи констатациите, ние верифицираме, че поправките са ефективни и предоставяме актуализиран доклад, потвърждаващ разрешения статус на всяка уязвимост.