Android · iOS · OWASP MASVS

Testy aplikacji mobilnych obejmujące aplikację, urządzenie i backend.

Analizujemy APK/IPA, dane lokalne, komunikację sieciową, mechanizmy platformy oraz zaufanie pomiędzy aplikacją a API.

1000+zrealizowanych pentestów
20+ latdoświadczenia większości zespołu
1 retestzazwyczaj w cenie
globalnieprojekty po polsku i angielsku

Mobilny pentest to więcej niż analiza APK

Aplikacja mobilna działa w środowisku kontrolowanym przez użytkownika lub napastnika. Sekrety zapisane w kliencie, ukryte funkcje i założenie, że request pochodzi z oficjalnej aplikacji, nie stanowią zabezpieczenia.

Łączymy analizę statyczną, testy dynamiczne i ręczną weryfikację backendu zgodnie z OWASP MASVS i MASTG.

Co obejmuje test

  • manifesty, entitlementy, uprawnienia, eksportowane komponenty i konfiguracja platformy;
  • lokalne bazy, pliki, logi, schowek, backupy i bezpieczne przechowywanie sekretów;
  • TLS, certificate pinning, proxy resistance i walidacja hostów;
  • deep linki, universal links, WebView, IPC i interakcje między aplikacjami;
  • root/jailbreak detection, obfuskacja, anti-tamper i odporność na instrumentację;
  • API mobilne, autoryzacja, urządzenie jako czynnik zaufania i logika biznesowa.

Jak pracujemy

1. Zakres i ROE

Ustalamy cele, systemy, wyłączenia, konta testowe, okno prac i bezpieczne zasady komunikacji.

2. Test manualny

Automatyzacja wspiera rekonesans, lecz potwierdzenie podatności i łańcuchów ataku wykonuje pentester.

3. Raport

Zarząd otrzymuje wpływ biznesowy, a IT dowody, priorytety i konkretne zalecenia naprawcze.

4. Retest

Jedno podejście retestowe jest zazwyczaj w cenie, o ile oferta nie stanowi inaczej.

Przykładowy przebieg techniczny

APK/IPA triage -> static analysis -> runtime instrumentation -> storage and IPC -> TLS/pinning -> backend/API -> abuse cases -> platform findings -> retest

Co otrzymuje klient

  • raport techniczny z dowodami, oceną ryzyka i instrukcjami naprawy;
  • executive summary dla zarządu i właścicieli ryzyka;
  • prezentację wyników dla zespołu technicznego i kadry zarządzającej;
  • raport w języku polskim lub angielskim;
  • jedno podejście retestowe, o ile oferta nie stanowi inaczej;
  • możliwość podpisania NDA przed przekazaniem zakresu.

Najczęstsze pytania

Czy potrzebujecie kodu źródłowego?

Nie. Możemy przeprowadzić test black-box na pliku APK/IPA. Dostęp do kodu zwiększa jednak pokrycie i ułatwia analizę przyczyn.

Czy test obejmuje backend?

Rekomendujemy objęcie zakresem API, ponieważ wiele krytycznych błędów mobilnych znajduje się po stronie zaufania backendu.

Czy omijacie certificate pinning?

Tak, jeżeli jest to potrzebne do kontroli komunikacji i dozwolone w zakresie. Sama obecność pinningu nie zastępuje bezpieczeństwa API.

Czy potrzebne jest konto deweloperskie?

Zależy od platformy i sposobu dystrybucji. Ustalamy wymagania techniczne przed rozpoczęciem.

Czy test obejmuje M1:2024 Improper Credential Usage?

Tak. Szukamy kluczy API, tokenów, haseł, sekretów i danych dostępowych w kodzie, zasobach, logach, kopiach zapasowych i pipeline. Sprawdzamy również możliwość nadużycia po wyodrębnieniu sekretu z aplikacji.

Czy test obejmuje M2:2024 Inadequate Supply Chain Security?

Tak. Analizujemy biblioteki, SDK reklamowe i analityczne, proces budowania, podpisy, aktualizacje oraz zależności pochodzące z zewnętrznych repozytoriów. Wskazujemy komponenty podatne i zbierające nadmiarowe dane.

Czy test obejmuje M3:2024 Insecure Authentication and Authorization?

Tak. Testujemy logowanie, biometrię, MFA, tokeny, odświeżanie sesji, role, funkcje ukryte w kliencie i backendowe kontrole dostępu. Manipulacja aplikacją nie może zastępować autoryzacji po stronie serwera.

Czy test obejmuje M4:2024 Insufficient Input and Output Validation?

Tak. Sprawdzamy dane z deep linków, intentów, schowka, plików, QR, WebView, API i mechanizmów udostępniania. Test obejmuje injection, path traversal, niebezpieczne URI i błędne parsowanie odpowiedzi.

Czy test obejmuje M5:2024 Insecure Communication?

Tak. Weryfikujemy TLS, certificate pinning, hostname verification, cleartext traffic, proxy, WebSocket, niestandardowe protokoły i zachowanie przy błędach certyfikatu. Analizujemy również dane wysyłane do usług trzecich.

Czy test obejmuje M6:2024 Inadequate Privacy Controls?

Tak. Sprawdzamy minimalizację danych, zgody, identyfikatory urządzenia, telemetrykę, analitykę, logi, screenshoty i dane pozostające po wylogowaniu. Wyniki opisują techniczny przepływ danych, nie tylko deklaracje interfejsu.

Czy test obejmuje M7:2024 Insufficient Binary Protections?

Tak. Oceniamy odporność na modyfikację, repackaging, hooking, debugging, emulatory, root/jailbreak i podmianę kodu. Ochronę binarną traktujemy jako warstwę utrudniającą, a nie zastępstwo kontroli serwerowych.

Czy test obejmuje M8:2024 Security Misconfiguration?

Tak. Analizujemy manifest, exported components, entitlements, ATS/network security config, backup, debug, uprawnienia, Universal Links i App Links. Sprawdzamy także konfigurację usług push i backendu mobilnego.

Czy test obejmuje M9:2024 Insecure Data Storage?

Tak. Badamy Keychain/Keystore, SQLite, SharedPreferences, pliki, cache, logi, clipboard, screenshoty i kopie zapasowe. Weryfikujemy dane dostępne po utracie urządzenia, root/jailbreak lub przez inną aplikację.

Czy test obejmuje M10:2024 Insufficient Cryptography?

Tak. Sprawdzamy algorytmy, tryby pracy, IV, generatory losowe, klucze zaszyte w aplikacji, własne schematy szyfrowania i prawidłową walidację podpisów. Oceniamy, czy kryptografia faktycznie chroni przed założonym przeciwnikiem.

Czy testujecie deep linki, WebView i komponenty eksportowane?

Tak. Sprawdzamy przejęcie schematu URL, błędne hosty, open redirect, JavaScript bridges, file access, intent injection i możliwość uruchomienia chronionej funkcji z innej aplikacji lub strony WWW.

Czy testujecie aplikację na urządzeniu z root lub jailbreak?

Tak, jeżeli jest to potrzebne do analizy runtime. Używamy kontrolowanego środowiska do instrumentacji, obserwacji pamięci, omijania pinningu i weryfikacji założeń; raport rozróżnia wymagany poziom dostępu atakującego.

Czy test obejmuje backend i API aplikacji mobilnej?

Tak, jeśli znajduje się w uzgodnionym zakresie. Bez testu API nie można wiarygodnie ocenić autoryzacji, logiki biznesowej i odporności na zmodyfikowanego klienta, dlatego rekomendujemy łączny zakres mobile plus API.

Czy potrzebujecie kodu źródłowego lub pliku APK/IPA?

Możemy rozpocząć od wersji dystrybucyjnej, APK, AAB lub IPA. Kod źródłowy, build debug i dokumentacja architektury zwiększają pokrycie oraz ułatwiają wskazanie dokładnej przyczyny i poprawki.

Ile kosztują testy penetracyjne aplikacji mobilnej?

Test jednej platformy, Android albo iOS, zaczyna się od 3 000 PLN netto. Ostateczna cena zależy od liczby platform, funkcji, ról, mechanizmów ochronnych i zakresu backendu. Wspólny zakres Android, iOS i API potwierdzamy w ofercie, a wycenę przygotowujemy zwykle w około 24 godziny.

Czy trzeba osobno testować aplikację Android i iOS?

Tak, ponieważ platformy różnią się mechanizmami bezpieczeństwa, konfiguracją, pamięcią, linkami, WebView i dystrybucją. Część logiki i API może być wspólna, ale binaria oraz zachowanie runtime należy zweryfikować oddzielnie. Zakres łączony pozwala ograniczyć powtarzanie testów backendu.

Czym test bezpieczeństwa aplikacji mobilnej różni się od testów funkcjonalnych i automatycznych?

Test funkcjonalny sprawdza, czy aplikacja działa zgodnie z wymaganiami. Pentest zakłada zmodyfikowane urządzenie i klienta, analizuje binarium, pamięć, transmisję, komponenty systemowe oraz możliwość bezpośredniego użycia API. Automatyczny skaner nie potwierdzi większości błędów autoryzacji i logiki biznesowej.

Jak przygotować aplikację mobilną do pentestu?

Należy przekazać APK, AAB lub IPA albo dostęp do wersji dystrybucyjnej, konta testowe dla kilku ról, opis backendu i głównych procesów. Przydatny jest build debug lub testowy, dokumentacja deep linków i lista mechanizmów pinningu. Dane produkcyjne nie są potrzebne do przygotowania wyceny.

Czy lepiej testować wersję ze sklepu czy build deweloperski?

Wersja sklepowa pokazuje rzeczywistą konfigurację użytkownika, podpisy i zabezpieczenia binarne. Build testowy ułatwia diagnostykę, instrumentację i dokładne wskazanie przyczyny. Najlepsze pokrycie daje test wersji zbliżonej do produkcyjnej z kontrolowanym dostępem do artefaktów pomocniczych.

Czy wykonujecie pentesty aplikacji bankowych, medycznych i e-commerce?

Tak. Zakres dostosowujemy do danych i procesów: płatności, autoryzacji transakcji, danych medycznych, zakupów, kuponów, powiadomień i integracji urządzenia. W branżach regulowanych szczególnie ważne są prywatność, odporność backendu i wiarygodne dowody dla zespołu naprawczego.

Czy pentest aplikacji mobilnej wspiera DORA, NIS2, KSC2 lub PCI DSS?

Może dostarczyć technicznej weryfikacji zabezpieczeń aplikacji i API oraz planu naprawczego wspierającego zgodność. Zakres i raport możemy mapować do właściwych kontroli klienta. Sam pentest nie zastępuje pełnego audytu regulacyjnego ani pozostałych obowiązków organizacji.

Co powinien zawierać profesjonalny raport z testów aplikacji mobilnej?

Raport powinien rozróżniać platformę, wersję, urządzenie, wymagany poziom dostępu atakującego i wpływ na backend. Każda podatność powinna mieć CVSS, kroki reprodukcji, dowód, wpływ, rekomendację oraz test zamknięcia. Ważne jest wskazanie, które zabezpieczenia muszą znajdować się po stronie serwera.

Powiązane obszary testów i ochrony