APLIKACJE MOBILNE
Testy penetracyjne aplikacji mobilnych (Android i iOS)
Aplikacja mobilna trafia na urządzenie, nad którym nie masz kontroli. Atakujący dostaje plik binarny, dane zapisane lokalnie i cały ruch sieciowy. Testujemy wszystkie trzy warstwy oraz backend, z którym aplikacja się łączy.
Pracujemy zgodnie ze standardem weryfikacji OWASP MASVS i przewodnikiem MASTG. Dzięki temu zakres testów da się zmierzyć i porównać – nie zależy od tego, kto akurat siedział przy projekcie.
ZAUFALI NAM
APLIKACJE MOBILNE
Co sprawdzamy w aplikacjach na Androida i iOS
Test aplikacji mobilnej to znacznie więcej niż ekrany, które widzi użytkownik. Pracujemy na fizycznym urządzeniu i na produkcyjnym buildzie: dekompilujemy kod, podpinamy się pod działającą aplikację i sprawdzamy każdą drogę, którą atakujący pokona ze skradzionego albo zrootowanego telefonu.
Jeśli aplikacja jest tylko cienkim klientem, prawdziwe ryzyko siedzi w API za nią – i to API również wchodzi w zakres prac.
Zakres testów według kategorii MASVS
| Obszar | Czego szukamy |
|---|---|
| Przechowywanie danych | Sekrety w shared preferences, niezaszyfrowane bazy danych, dane wrażliwe w pamięci zewnętrznej, dane pozostające w kopiach zapasowych. |
| Transmisja danych | Ruch bez szyfrowania, brak walidacji certyfikatu, pinning certyfikatu TLS, który da się obejść w czasie działania aplikacji. |
| Poświadczenia i sesje | Klucze API zaszyte w kodzie, tokeny zapisywane w logach, tokeny sesji, których można użyć ponownie, biometria, która niczego nie chroni. |
| Zabezpieczenia pliku binarnego | Wersje produkcyjne z włączonym debugowaniem, brak wykrywania roota i jailbreaka, odporność na przepakowanie i modyfikację kodu. |
| Interfejsy systemowe | Eksportowane komponenty, nadużycie deep linków, mostki JavaScript w WebView, path traversal w content providerach. |
| Łańcuch dostaw | SDK z wszytym backdoorem, dependency confusion, ładowanie niepodpisanego kodu w czasie działania. |
Każdy wiersz prowadzi do odpowiedniego rozdziału Haxoris Wiki (po angielsku), gdzie opisujemy podatność, sposób jej wykorzystania i zalecaną naprawę.
Jak przebiega test aplikacji mobilnej
Typowa aplikacja: od dwóch do czterech tygodni, razem z retestem.
Ustalenie zakresu
Ustalamy platformy, wersję buildu, konta testowe i to, czy backend wchodzi w zakres. Stałą cenę znasz, zanim zaczniemy pracę.
Analiza statyczna
Dekompilujemy build, przeglądamy manifest i uprawnienia, szukamy sekretów, słabej kryptografii i pozostałości po debugowaniu w wersji produkcyjnej.
Testy dynamiczne
Na fizycznym urządzeniu: instrumentacja w czasie działania, przechwytywanie ruchu, obejście pinningu, wgląd w dane lokalne i nadużycie eksportowanych interfejsów.
Testy backendu
API, od których zależy aplikacja, sprawdzamy tak samo dokładnie jak aplikację webową: autoryzację, IDOR, limity zapytań i logikę biznesową.
Raport i retest
Każda podatność z dowodem i zaleceniem naprawy. Po wdrożeniu poprawek robimy bezpłatny retest.
Co dostajesz
Każdy test aplikacji mobilnej obejmuje:
OPINIE KLIENTÓW
Co o nas mówią klienci
Testy penetracyjne aplikacji mobilnych – najczęstsze pytania
01 Czy potrzebujecie kodu źródłowego?
Nie. Domyślnie testujemy metodą black box, na wersji produkcyjnej aplikacji. Jeśli udostępnisz kod albo build debugowy, wykorzystamy go – w podejściu grey box znajdujemy więcej podatności w tej samej liczbie dni – ale nie jest to warunek konieczny.
02 Czy testujecie zarówno iOS, jak i Androida?
Tak. Większość klientów zamawia obie platformy, bo każda psuje się inaczej: w Androidzie problemem są zwykle eksportowane komponenty i dane zapisane lokalnie, w iOS – błędne użycie keychaina i obejście wykrywania jailbreaka.
03 Czy backendowe API wchodzi w zakres?
Może wchodzić i zwykle powinno. Aplikacja mobilna to często tylko cienki klient, a cała logika autoryzacji siedzi w API. Zakres zapisujemy wprost, żeby po teście nie było wątpliwości, co sprawdziliśmy.
04 Ile kosztuje test penetracyjny aplikacji mobilnej?
Cena zależy od liczby platform i od tego, czy backend wchodzi w zakres. Test obu platform razem z backendem to zwykle od 8 do 15 osobodni. Stałą cenę podajemy po krótkiej rozmowie o zakresie.
05 Czy możecie przetestować aplikację przed publikacją?
Tak. To nawet lepszy moment. Wyślij podpisany build – TestFlight, plik APK albo kanał wewnętrzny – a sprawdzimy aplikację, zanim trafi do użytkowników.