Testy Aplikacji Mobilnych

Dlaczego warto robić testy aplikacji mobilnych?

Wszystkie aplikacje mobilne, które przechowują poufne czy wrażliwe informacje o użytkownikach, powinny działać w środowisku zaufanym. A większość aplikacji mobilnych takie dane posiada. Cyberprzestępcy próbują wykraść nam nie tylko pieniądze. Poszukują też punktów z programów lojalnościowych, danych kart rabatowych czy portfeli kryptowalutowych.

Gwarancji bezpieczeństwa ściągniętej aplikacji nie daje nawet korzystanie z oficjalnych sklepów z aplikacjami.

Co dostanę po Testach?

Wraz z omówieniem wyniku testów dostaniesz raport ze zidentyfikowanymi obszarami do poprawy bezpieczeństwa. Wszystkie znalezione podatności będą pogrupowane względem ryzyka (standard CVSS) i oznaczone w najpopularniejszych standardach (OVAL, CVE). Raport, w razie potrzeby, będzie również zawierał listę zgłoszeń podlegających gwarancji aktualnych dostawców.

CyberClue nie zostawia Cię z samym raportem. Możemy również pomóc we wprowadzeniu wszystkich koniecznych poprawek i zmian.

  • Powiadomienia aplikacji
  • Wiadomości tekstowe
  • Kody PIN
  • Wzorce blokady ekranu
  • Kody autoryzacji dwuetapowej

Kolejnym zagrożeniem jest też dostęp do ekranu ofiary w czasie rzeczywistym. Cyberprzestępca widzi wtedy wszystko, co robimy na ekranie naszego smartphone’a. Istnieje też zagrożenie zastąpienia okna np. do logowania, oknem fałszywym, wychwytującym login i hasło. To tylko niektóre z możliwych scenariuszy, dlatego tak ważne jest, aby aplikacje były regularnie sprawdzane i monitorowane.

Testy bezpieczeństwa aplikacji mobilnych, w zależności od potrzeb, obejmują:
  • Analizę sposobu obsługi sesji na aplikacji mobilnej
  • Weryfikację sposobu przechowywania przez aplikację danych uwierzytelniających
  • Weryfikację sposobu przechowywania plików w lokalnym storage
  • Próbę dekompilacji aplikacji (w celu wykrycia łatwej możliwości analizy aplikacji / dostępu do klienckiej logiki biznesowej aplikacji)
  • Analizę sposobu realizacji mechanizmów autoryzacji w aplikacji (lokalna vs serwerowa oraz sprawdzenia dla części serwerowej)
  • Analizę sposobu połączenia z komponentem backend (zapewnienie poufności / integralności transmisji)
  • Analizę udostępnionych elementów w komponencie backend – w tym wykrycie ewentualnych information leak-ów (dotyczy tylko URLi do których odwołuje się aplikacja)
  • Analizę technicznych wstrzyknięć do komponentów backend
  • Przetwarzanie chronionych danych po stronie urządzenia – ich szyfrowanie, przechowywanie, przetwarzanie w obrębie pamięci operacyjnej lub klas/metod/funkcji
  • Sposoby komunikacji z serwerem – bezpieczeństwa transmisji, możliwości podszycia się pod serwer
  • Analizę bezpieczeństwa kryptograficznego aplikacji – wybór oraz poprawność implementacji algorytmów
  • Analizę bezpieczeństwa wykorzystywanych bibliotek zewnętrznych
  • Badanie bezpieczeństwa wykorzystywanych protokołów
  • Wykrycie błędów logicznych po stronie aplikacji – możliwości ominięcia uwierzytelnienia, autoryzacji, podszycia się pod innych użytkowników, ominięcia zaimplementowanych kontroli
  • Sprawdzenie bezpieczeństwa zaimplementowanych mechanizmów „push”,
  • Wykrycie podatności na znane typy ataków np.  użycia niezainicjowanych obszarów pamięci, „stack/heap overflow”, „integer overflow”, „memory leaks”, „double free” oraz innych zależnych od wykorzystywanej technologii
  • Sprawdzenie ochrony przed wypływem informacji
  • Analizę ochrony prywatności użytkowników aplikacji
  • Wykrycie podatności po stronie serwera obsługującego aplikację

Przeprowadzamy testy aplikacji systemów Android oraz iOS (iPhone, iPad).