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
  •  Listę kontaktówListę kontaktów
  •  Dane dostępowe do innych aplikacji

 

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).