Nullify

Usługi

Testy penetracyjne Audyty bezpieczeństwa Bezpieczeństwo aplikacji Szkolenia dla firm Bezpłatny skan ekspozycji

Menu

Blog O nas Kontakt
Pentest / Mobile

Testy penetracyjne aplikacji mobilnych

Analizujemy aplikację od strony pliku instalacyjnego, uruchomionego procesu i ruchu sieciowego. Sprawdzamy też backend, bo to zwykle tam znajduje się realne ryzyko.

PlatformyAndroid i iOS
Metodaanaliza statyczna i dynamiczna
Odpowiedźbezpłatna wycena w 24 h
Zakres

Co sprawdzamy

SAST

Analiza statyczna

Dekompilacja pakietu, przegląd kodu i zasobów, wyszukiwanie kluczy API, adresów środowisk testowych i danych pozostawionych w kodzie.

DAST

Analiza dynamiczna

Obserwacja i modyfikacja działania aplikacji w czasie rzeczywistym (Frida), obchodzenie kontroli po stronie klienta, manipulacja przepływem.

DATA

Przechowywanie danych

Keychain i Keystore, bazy lokalne, pliki tymczasowe, logi, kopie zapasowe i to, co zostaje na urządzeniu po wylogowaniu.

NET

Komunikacja

Poprawność TLS, przypinanie certyfikatów i jego obchodzenie, dane przesyłane w sposób nadmiarowy lub niezaszyfrowany.

API

Backend aplikacji

Najczęstsze źródło poważnych znalezisk. Autoryzacja po stronie serwera, dostęp do cudzych zasobów, logika przeniesiona do klienta.

HARD

Zabezpieczenia aplikacji

Wykrywanie roota i jailbreaka, ochrona przed debugowaniem, odporność na modyfikację pakietu - i to, co realnie dają.

Kontekst

Aplikacja mobilna jest w rękach atakującego

To założenie zmienia wszystko. Aplikację webową użytkownik widzi przez przeglądarkę, a kod wykonuje się na Waszym serwerze. Aplikację mobilną atakujący pobiera, rozbiera na części, uruchamia na urządzeniu z pełnymi uprawnieniami i modyfikuje jej działanie w locie.

Praktyczna konsekwencja: każde zabezpieczenie zaimplementowane wyłącznie po stronie aplikacji jest sugestią, nie zabezpieczeniem. Sprawdzenie uprawnień przed pokazaniem ekranu, walidacja kwoty w formularzu, wykrywanie roota, przypinanie certyfikatu - wszystko to da się obejść, mając kontrolę nad urządzeniem. Liczy się wyłącznie to, co weryfikuje serwer.

Dlatego w teście aplikacji mobilnej najwięcej poważnych znalezisk pochodzi z backendu. Typowy scenariusz: aplikacja pokazuje tylko własne zamówienia użytkownika, ale API zwróci dowolne, jeśli poprosić je bezpośrednio. W interfejsie tego nie widać, bo interfejs pyta grzecznie.

Osobny obszar to dane pozostawione na urządzeniu. Tokeny zapisane poza bezpiecznym magazynem, dane w logach, pliki tymczasowe i to, co zostaje po wylogowaniu. Przy urządzeniu zgubionym albo skradzionym to często najkrótsza droga do konta.

Proces

Jak wygląda test

01

Ustalamy zakres

Definiujemy, co testujemy, w jakim trybie i w jakich godzinach. Doprecyzowujemy, co jest poza zakresem.

02

Podpisujemy NDA

Pełna poufność na każdym etapie. Znalezione podatności zostają między nami.

03

Przeprowadzamy testy

Testy manualne wsparte narzędziami. Krytyczne znaleziska zgłaszamy od razu, nie czekamy z nimi do raportu.

04

Raport i retest

Raport z oceną ryzyka, krokami reprodukcji i rekomendacjami. Po wdrożeniu poprawek sprawdzamy je ponownie.

FAQ

Najczęstsze pytania

Czy potrzebujecie kodu źródłowego?

Nie jest wymagany. Testy prowadzimy na pliku instalacyjnym, tak jak zrobiłby to atakujący. Dostęp do kodu skraca analizę i pozwala zejść głębiej, więc jeśli możecie go udostępnić, wykorzystamy go.

Android i iOS to jeden test czy dwa?

To dwa osobne zakresy - inne mechanizmy przechowywania danych, inne narzędzia, inne zabezpieczenia platformy. Wyceniamy je oddzielnie, choć przy wspólnym backendzie część pracy się pokrywa i uwzględniamy to w wycenie.

Czy testujecie też serwer, z którym łączy się aplikacja?

Tak i uważamy to za najważniejszą część. Aplikacja mobilna jest w rękach użytkownika, więc każde zabezpieczenie zaimplementowane wyłącznie po jej stronie da się obejść. Liczy się to, co weryfikuje serwer.

Aplikacja nie jest jeszcze w sklepie. Możecie ją przetestować?

Tak, to nawet lepszy moment. Wystarczy plik instalacyjny albo dostęp przez kanał testowy. Poprawki przed publikacją kosztują ułamek tego, co po wydaniu aktualizacji.

Przetestuj aplikację przed publikacją

Napisz, na jakich platformach działa aplikacja i czy mamy sprawdzić także backend - odezwiemy się w 24 h.

Zapytaj o wycenę