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