Kompletny przewodnik po analizie aplikacji na Androida

  • Analiza aplikacji na Androida łączy w sobie techniczną inspekcję APK, audyt bezpieczeństwa oraz analizę użytkowania i działalności biznesowej.
  • Narzędzia takie jak APK Analyzer, Android Studio, Inspeckage i frameworki OWASP MAS umożliwiają wykrywanie błędów i optymalizację kodu.
  • Platformy analityki mobilnej (Firebase, Contentsquare, Mixpanel itp.) pomagają zrozumieć zachowania, konwersję i wydajność.
  • Integracja zabezpieczeń, możliwości obserwacji i metryk produktu w cyklu życia aplikacji poprawia jakość, zgodność z przepisami i zwrot z inwestycji (ROI).

Analiza aplikacji na Androida

Dziś na naszych telefonach komórkowych zainstalowanych jest tysiące aplikacji, a mimo to mało kto wie, jak z nich korzystać. Co dokładnie robi każda aplikacja na Androida?Jakich uprawnień używa i jak wpływa na wydajność i bezpieczeństwo urządzenia? Dla programistów, audytorów bezpieczeństwa i zespołów marketingowych zrozumienie i analiza aplikacji na Androida nie jest już opcjonalne: to kluczowy element tworzenia niezawodnych, szybkich i skutecznych produktów. szanuj prywatność.

W tym artykule znajdziesz pełny przegląd Analiza aplikacji na Androida z wielu perspektywNarzędzia do inspekcji plików APK i zainstalowanych aplikacji, narzędzia programistyczne, takie jak Android Studio APK Analyzer, frameworki audytowe, takie jak Inspeckage, metodologie bezpieczeństwa, takie jak OWASP MAS, oraz kompleksowy przegląd głównych platform analityki mobilnej (Firebase, Contentsquare, Mixpanel, Countly, Localytics, RevenueCat, AppDynamics i AppsFlyer). Wszystko wyjaśnione w języku hiszpańskim (Hiszpania), w przyjaznym tonie, ale bez uszczerbku dla precyzji technicznej.

Czym jest analiza aplikacji Android i do czego się ją wykorzystuje?

Kiedy mówimy o analizie aplikacji na Androida, możemy mieć na myśli zarówno technicznie rozłożyć APK (uprawnienia, kod, manifest, usługi itp.), a także badanie metryk użytkowania, zachowań użytkowników, wydajności, błędów, a nawet oszustw reklamowych. To dwa odrębne, ale uzupełniające się światy: strona techniczna zapewnia bezpieczeństwo i niezawodność aplikacji; strona analityczna produktu pozwala sprawdzić, czy aplikacja spełnia swoje cele biznesowe.

Z technicznego punktu widzenia analizę można podzielić na analiza statyczna i analiza dynamicznaMonitorowanie statyczne bada pakiet APK lub kod bez jego wykonywania (dekompilacja, analiza uprawnień, przegląd pliku AndroidManifest.xml itp.). Monitorowanie dynamiczne obserwuje zachowanie aplikacji podczas jej działania, rejestrując ruch sieciowy, wywołania poufnych interfejsów API, korzystanie z kryptografii lub tworzenie plików.

W obszarze doświadczeń użytkownika i analityki biznesowej skupiamy się na Zrozumienie, w jaki sposób ludzie korzystają z aplikacji, w których miejscach napotykają problemy i dlaczego dokonują konwersji lub porzucają jąW tym miejscu do gry wchodzą systemy śledzenia zdarzeń, mapy cieplne, nagrywanie sesji, panele przychodów, lejki konwersji i narzędzia marketingu mobilnego.

Narzędzia do analizy plików APK i zainstalowanych aplikacji

Aby zacząć rozumieć, co aplikacja Android robi wewnętrznie, dostępne są specjalistyczne narzędzia, które umożliwiają: sprawdź zainstalowane pliki APK lub zapisane pliki .apk na urządzeniu. Narzędzia te wyświetlają wszystko, od podstawowych danych (nazwa, wersja, rozmiar) po bardzo szczegółowe informacje, takie jak uprawnienia, usługi działające w tle czy podpis cyfrowy.

Jedną z najpopularniejszych aplikacji w tym obszarze jest analizator APK z otwartym kodem źródłowym, który szczyci się tym, że najczęściej pobierana aplikacja do analizy APK w Google PlayTo narzędzie umożliwia wygenerowanie bardzo szczegółowego raportu zarówno o już zainstalowanych aplikacjach, jak i o plikach .apk, które nie zostały jeszcze zainstalowane. Jest to przydatne narzędzie do sprawdzania aplikacji przed udzieleniem jej dostępu do urządzenia.

Typowy raport zawiera takie informacje, jak: nazwa aplikacji, wersja, minimalna i docelowa wersja AndroidaDaty instalacji i aktualizacji, dane certyfikatów i podpisów, użyte uprawnienia (wraz z opisem), działania, usługi, odbiorniki transmisyjne i dostawców treści. Zawiera również szczegółowe informacje na temat wymagań sprzętowych (obowiązkowych i opcjonalnych) oraz pełną wersję pliku AndroidManifest.xml z możliwością zapisania go w formacie czytelnym dla człowieka.

Kolejną kluczową funkcją jest możliwość wyodrębnij plik APK zainstalowanej aplikacji i zapisz go w pamięci urządzenia, a także wyeksportuj ikonę. Jest to przydatne podczas audytu, tworzenia kopii zapasowych, testowania w odizolowanych środowiskach lub po prostu przeglądania konkretnej wersji przed aktualizacją.

Ten typ analizatora zazwyczaj zawiera również sekcje specjalne dla uprawnienia i zagregowane statystykiZ jednej strony pozwala wyświetlić listę wszystkich uprawnień żądanych przez aplikacje na urządzeniu, sprawdzić, które aplikacje żądają poszczególnych uprawnień, wyświetlić opis i poziom ochrony oraz łatwo zlokalizować aplikacje wymagające najwięcej uprawnień. Z drugiej strony oferuje statystyki dotyczące zainstalowanej kolekcji aplikacji: rozkład docelowych wersji Androida, typy sygnatur, średnią liczbę aktywności lub uprawnień na aplikację itp.

Narzędzie Android Studio APK Analyzer i apkanalyzer

Dla osób tworzących w Android Studio własna platforma Google zawiera Potężny analizator APK zintegrowany ze środowiskiem programistycznymTo narzędzie można otworzyć, przeciągając plik APK lub pakiet aplikacji do okna edytora, klikając dwukrotnie plik APK w folderze kompilacji lub wybierając go z menu Kompilacja w opcji „Analizuj APK”. Dostępna jest również wersja wiersza poleceń o nazwie apkanalyzer.

Analizator APK umożliwia hierarchiczne przeglądanie zawartości pliku, co wewnętrznie przypomina Plik ZIP z uporządkowanymi folderami i plikamiKażdy element (folder lub plik) wyświetla swój surowy rozmiar pliku oraz szacunkowy rozmiar skompresowanego pliku do pobrania, dostarczany przez Google Play, wraz z procentem, jaki reprezentuje on w całkowitym rozmiarze. Pomaga to szybko zidentyfikować, które zasoby, biblioteki lub pliki DEX zajmują najwięcej miejsca.

Bardzo ciekawym punktem jest sposób, w jaki analizator APK Odbudowa ostatecznego pliku AndroidManifest.xmlW projektach z wieloma wariantami produktu lub bibliotekami z własnymi manifestami, wszystkie te pliki są łączone w jeden plik podczas kompilacji. Plik APK pozostaje w formacie binarnym, ale parser konwertuje go z powrotem do czytelnego pliku XML, wyświetlając dokładnie taki manifest, jaki system zobaczy na urządzeniu, i ułatwiając wykrywanie zmian wprowadzonych w procesie kompilacji.

Przeglądarka manifestu zawiera również możliwości kłaczeniaOstrzega o błędach i ostrzeżeniach, takich jak nierozpoznane schematy XML. Niektóre alerty (na przykład te dotyczące niezarejestrowanych schematów) można bezpiecznie zignorować i można je wyłączyć, dodając schemat do listy ignorowanych w preferencjach Android Studio.

Kolejnym podstawowym elementem APK Analyzer jest przeglądarka plików DEX, która oferuje liczniki dla klas, pakietów, zdefiniowanych i referencyjnych metodJest to przydatne między innymi do sprawdzenia, czy zbliżasz się do limitu 64 tys. metod na DEX, do podjęcia decyzji o włączeniu multidex lub o konieczności usunięcia zależności.

Drzewo klas wyświetla metody zdefiniowane w DEX oraz metody referencyjne (w tym te z bibliotek zewnętrznych oraz standardowych interfejsów API Android i Java). Narzędzie rozróżnia te dwa rodzaje metod, pomagając zrozumieć, jaka część budżetu metody przypada na kod niestandardowy, a jaka na zależności.

Widok DEX zawiera również: filtry umożliwiające pokazywanie lub ukrywanie pól, metod i metod referencyjnychPodczas rozwijania klasy możesz wybrać, czy chcesz wyświetlić tylko definicje lokalne, czy wszystkie odwołania zewnętrzne. Elementy zaznaczone kursywą oznaczają odwołania bez definicji w danym DEX; czyli metody lub pola znajdujące się w innych plikach DEX lub w infrastrukturze.

W przypadku projektów wykorzystujących zaciemnianie i redukcję kodu za pomocą ProGuard lub R8 analizator umożliwia ładowanie pliki mapowania (mapping.txt), seeds.txt i usage.txt Pochodzące z tej samej kompilacji. Po zaimportowaniu włączane są dodatkowe funkcje: deobfuskacja nazw w celu odzyskania oryginalnych klas i metod, podświetlanie węzłów, których nie można usunąć (seedów), oraz wyświetlanie węzłów usuniętych podczas procesu redukcji.

Okno dialogowe przesyłania pliku zazwyczaj automatycznie wskazuje zwykłą ścieżkę (aplikacja/kompilacja/wyjścia/mapowania/wydanie/i wyszukuje dokładne nazwy lub nazwy zawierające słowa kluczowe „mapping”, „usage” lub „seeds” kończące się na .txt. Dzięki tym informacjom analizator może wyświetlać elementy chronione pogrubioną czcionką i przekreślać te, które nie występują już w końcowym DEX.

Przeglądarka DEX zawiera również menu kontekstowe z bardzo rozbudowanymi funkcjami: Wyświetl kod bajtowy (smali), wyszukaj użycia i wygeneruj reguły konserwacji ProGuard.Wybierając klasę, metodę lub pole, możesz otworzyć okno dialogowe z kodem w małej reprezentacji, uruchomić wyszukiwanie, w którym miejscu DEX jest używany dany symbol, lub automatycznie wygenerować regułę zachowania, aby zapobiec jego zmniejszeniu w przyszłych kompilacjach.

Oprócz kodu APK Analyzer pozwala również sprawdzić ostateczną wersję wielu zasobów, takich jak: obrazy, układy lub sam plik resources.arscMożna na przykład przeglądać zlokalizowane ciągi znaków w różnych językach i konfiguracjach, sprawdzać, który zasób nadpisał który w danym wariancie, lub przeglądać zawartość plików binarnych, których normalnie nie otwiera się ręcznie.

Wreszcie narzędzie zawiera bardzo przydatną funkcję do przeglądania kompilacji: porównaj dwa pliki APK lub pakiety aplikacjiZaładowanie bieżącej wersji i porównanie jej z poprzednio opublikowanym artefaktem pozwala zobaczyć różnice w rozmiarach poszczególnych jednostek, co jest przydatne do zrozumienia, skąd wziął się wzrost wagi pomiędzy wersjami (nowe zasoby obrazów, dodatkowe biblioteki, zmiany kodu itp.).

Wykorzystanie analityki mobilnej do zrozumienia doświadczeń użytkowników

Oprócz analizy czysto technicznej, niezbędne jest posiadanie narzędzi, które pozwalają nam mierzyć, co użytkownicy robią w aplikacjiSposób, w jaki użytkownicy poruszają się po ekranach, miejsca występowania błędów, które kampanie generują wartościowy ruch, a które nie. Rynek mobilnych platform analitycznych jest ogromny, dlatego przed wyborem jednej z nich niezwykle ważne jest jasne zdefiniowanie potrzeb biznesowych.

Pierwszy filtr polega na zadaniu sobie pytania, czy oprócz uzyskiwania danych o wykorzystaniu i wydajności potrzebujesz narzędzia promować współpracę między zespołami (produkt, marketing, UX, rozwój, wsparcie) lub który pozwala na jednoczesną analizę danych z aplikacji i witryny mobilnej. Kolejnym ważnym kryterium jest integracja z innymi rozwiązaniami, z których już korzystasz, takimi jak CRM, narzędzia do automatyzacji marketingu czy platformy eksperymentalne.

Wśród najczęściej używanych rozwiązań w ekosystemie Androida wyróżnia się Firebase elastyczna platforma programistyczna, hosting i zintegrowana analitykaFirebase umożliwia tworzenie aplikacji na systemy Android, iOS i Internet, wykorzystując infrastrukturę bazy danych i uwierzytelniania, a także udostępnia solidny system analiz i raportowania awarii.

Pełniąc rolę narzędzia analitycznego, Firebase umożliwia zbieraj dane ilościowe dotyczące użytkowania, ruchu i interakcji, generuj automatyczne i dostosowane zdarzenia (nawet do kilkuset), monitoruj, gdzie i jak często aplikacja ulega awariom oraz wspieraj decyzje marketingowe lub produktowe obiektywnymi danymi, a nie założeniami.

Kolejną platformą silnie skoncentrowaną na produktach i doświadczeniach cyfrowych jest Contentsquare, która wykracza poza klasyczne wskaźniki i oferuje szczegółowe mapowanie ścieżki klienta, mapy cieplne, odtwarzanie sesji i analiza błędówJego celem jest pomóc zrozumieć nie tylko to, co dzieje się w aplikacji, ale także, dlaczego występują pewne zachowania: w których miejscach użytkownicy się gubią, które obszary interfejsu ignorują lub które elementy powodują frustrację.

Moduły takie jak Podróże zapewniają globalny widok kompletne podróże od momentu wejścia użytkownika do momentu jego wyjścia Aplikacja lub strona mobilna jest analizowana pod kątem identyfikacji kluczowych ścieżek wartych optymalizacji. Mapy cieplne wizualizują obszary najczęściej klikane lub ignorowane, funkcja Session Replay analizuje poszczególne sesje w celu wykrycia wzorców (na przykład wielokrotne kliknięcia z irytacją tego samego wezwania do działania), a funkcja Product Analytics analizuje wskaźniki takie jak wdrażanie funkcji, współczynnik konwersji, pozyskanie klienta i postrzegany wysiłek.

Contentsquare zawiera również moduł analizy błędów, który grupowanie błędów technicznych i funkcjonalnych według wpływupomagając ustalić priorytety, które należy rozwiązać w pierwszej kolejności, a także funkcje Impact Quantification pozwalające przełożyć te problemy na straty w konwersji, przychodach lub retencji, co jest bardzo przydatne przy uzasadnianiu zmian przed interesariuszami.

Ciekawym przypadkiem jest zespół, który wykorzystując ten rodzaj analizy produktu, potwierdził swoje podejrzenia, że Ekran podpisu na urządzeniach mobilnych był dla użytkowników mylący.Porównując dane dotyczące stron internetowych i urządzeń mobilnych, zauważyli wyraźnie niższy poziom konwersji na urządzeniach mobilnych, szczegółowo przeanalizowali doświadczenie użytkowników urządzeń mobilnych, przeprojektowali stronę podpisu, stosując podejście „mobile first”, a także znacząco poprawili dostosowanie do różnych urządzeń.

Zaawansowana segmentacja użytkowników i analiza behawioralna

Aby głębiej wniknąć w zachowania użytkowników, niektóre platformy są wysoce wyspecjalizowane w segmentacja i tworzenie kohortMixpanel to jeden z najbardziej znanych przykładów tego narzędzia, przeznaczonego zarówno do celów produktowych, jak i marketingowych. Skupia się na wizualizacji ścieżek konwersji i analizowaniu zachowań różnych grup użytkowników.

W Mixpanelu użytkownicy mogą być grupowani w kohorty według wykonane działania lub współdzielone atrybutyNa przykład osoby, które rozpoczęły plan płatności w ciągu ostatnich 30 dni, użytkownicy, którzy wypróbowali określoną funkcję, lub klienci, którzy dokonali co najmniej dwóch zakupów. Siłą systemu są jego niestandardowe właściwości i logika segmentacji, która pozwala na tworzenie złożonych segmentów.

Można łączyć właściwości niestandardowe atrybuty zdarzeń, użytkowników lub grup w nowych, bardziej ogólnych właściwościach. Na przykład grupowanie różnych źródeł UTM w mediach społecznościowych (Facebook, Instagram, Twitter) w ramach właściwości „Społecznościowe” w celu analizy ich łącznego zachowania. Logika segmentacji pozwala tworzyć segmenty, które wykonały określone kombinacje działań, takie jak zakup produktu A i produktu B.

Kolejnym wyróżniającym się narzędziem, tym razem mocno skoncentrowanym na prywatności, jest Countly, rozwiązanie do analizy danych mobilnych, internetowych i stacjonarnych, które można wdrożyć w infrastrukturze własnej firmy, zapewniając absolutna kontrola nad danymiJest to szczególnie interesujące dla sektorów regulowanych lub firm ze ścisłymi wymogami zgodności.

Countly oferuje zwiększone bezpieczeństwo, dostęp w czasie rzeczywistym do szczegółowych danych (bogate profile, wskaźniki zaangażowania na poziomie indywidualnym) oraz moduły ukierunkowane na analizuj lojalność klientów i wykrywaj odejścia„Compliance Hub” umożliwia zarządzanie gromadzeniem danych zgodnie ze zgodami, a także wnioskami o eksport lub usunięcie, zgodnie z przepisami o ochronie danych.

Platformy marketingowe i subskrypcyjne ze zintegrowaną analityką

Gdy głównym celem jest marketing mobilny, istnieją konkretne rozwiązania, które łączą pomiary, segmentacja i realizacja kampanii na jednej platformie. Dobrym przykładem jest Localytics: integruje analitykę aplikacji z narzędziami do obsługi wiadomości i personalizacji, co czyni ją bardzo atrakcyjną dla zespołów marketingowych, które potrzebują ujednoliconego systemu.

Localytics oferuje szczegółowe raporty kampanii do przeglądania Które działania mają największy wpływ na konwersję, retencję, zwrot z inwestycji, odejścia i deinstalacje?Możliwości analityki predykcyjnej pomagają identyfikować użytkowników, którzy mają duże prawdopodobieństwo dokonania konwersji lub porzucenia zakupów, co pozwala na wysyłanie spersonalizowanych wiadomości we właściwym momencie.

Platforma zawiera również inteligentne moduły personalizacji tworzenie segmentów na podstawie profilu, zachowania i historii i na tej podstawie uruchamiać kampanie i doświadczenia dostosowane do kontekstu użytkownika, co znacznie zwiększa trafność przekazów.

W obszarze aplikacji subskrypcyjnych RevenueCat stał się kluczowym narzędziem dla wielu zespołów. Dzięki stosunkowo łatwemu w integracji pakietowi SDK umożliwia zarządzaj subskrypcjami mobilnymi, zbieraj ukierunkowane analizy, a nawet testuj paywalle bez konieczności wymyślania Ameryki na nowo w każdym projekcie.

RevenueCat oferuje panel skupiający się na metrykach subskrypcji: aktywnych okresach próbnych, konwersjach okresów próbnych, aktywnych użytkownikach, przychodach i miesięcznym oprocentowaniu (MRR). Oferuje również konfigurowalne wykresy z filtrami i segmentacją aby zobaczyć na przykład, jak przychody cykliczne rozkładają się według kraju lub rodzaju planu.

Jedną z jego zalet jest możliwość testowania cen i płatnych treści w formacie A/B, co pozwala Przetestuj różne kombinacje cen, pakietów i promocji i mierz wpływ każdego wariantu na cały lejek subskrypcji, od pierwszej wizyty na stronie płatnej aż po długoterminową retencję.

Aby zapewnić obserwowalność złożonych aplikacji, AppDynamics oferuje kompleksowe podejście do monitorowania, obejmujące wszystko – od mikrousług i funkcji bezserwerowych, przez publiczne i prywatne API, aż po same aplikacje mobilne. Celem jest… szybko wykrywaj problemy z wydajnością i identyfikuj ich przyczynęniezależnie od tego, czy znajduje się w kodzie, zależności czy usłudze zewnętrznej.

AppDynamics umożliwia korelację danych z urządzeń mobilnych, przeglądarek i niestandardowych użytkowników Porównaj doświadczenia różnych wersji aplikacji i zobacz, gdzie UX cierpi. Zawiera gotowe do użycia widżety do tworzenia szczegółowych pulpitów nawigacyjnych oraz moduł syntetycznego monitorowania, który symuluje przepływy użytkowników i wywołania API, wykrywając błędy, zanim wpłyną one na rzeczywistych użytkowników.

Wreszcie, AppsFlyer koncentruje się w szczególności na zespołach marketingowych, które muszą mierzyć, przypisywać i chronić swoje kampanie mobilne. Oferuje rozwiązania od podstawowych analiz po zaawansowane funkcje, ze szczególnym naciskiem na... wykrywanie oszustw reklamowych (na przykład boty generujące fałszywe kliknięcia).

Oprócz ochrony przed oszustwami AppsFlyer umożliwia zdefiniowanie niestandardowe zdarzenia w aplikacji Aby powiązać wskaźniki KPI, takie jak ROI czy wartość cyklu życia klienta (LV), z konkretnymi działaniami użytkownika. Obejmuje również testy przyrostowości, które pozwalają oszacować liczbę konwersji, które można by osiągnąć bez płatnych kampanii, a tym samym zmierzyć rzeczywisty wpływ inwestycji w reklamę.

Jako uzupełnienie całej tej analizy ilościowej warto rozważyć narzędzia takie jak AppFollow, które skupiają się na Monitoruj oceny i recenzje w App Store i Google PlayDzięki analizie nastrojów możliwe jest prześledzenie ewolucji tonu recenzji i porównanie okresów, co pozwala uzyskać jasne wskazówki na temat tego, jak użytkownicy postrzegają jakość i doświadczenia związane z aplikacją.

Audyt bezpieczeństwa i zaawansowana analiza z Inspeckage

Kiedy celem nie jest marketing czy produkt, ale audyt bezpieczeństwa, analiza złośliwego oprogramowania lub przegląd wewnętrznego zachowania aplikacjiW grę wchodzą bardziej szczegółowe frameworki. Jednym z najciekawszych w ekosystemie Androida jest Inspeckage (Android Package Inspector), który działa jako moduł Xposed.

Inspeckage konfiguruje serwer na samym urządzeniu z systemem Android, do którego można uzyskać dostęp za pośrednictwem adb z komputera, i umożliwia przeglądanie zdarzenia w czasie rzeczywistym, które mają miejsce na urządzeniu podczas działania aplikacjiW przeciwieństwie do innych środowisk analitycznych, takich jak MobSF czy AppMon, jego wielką zaletą jest możliwość obserwowania zdarzeń bez zatrzymywania dynamicznej analizy i łatwa konfiguracja zaczepów dla określonych metod.

Kod narzędzia jest dostępny na GitHubie i można go również pobrać w formacie APK ze Sklepu Play lub repozytorium Xposed. Po zainstalowaniu modułu jest on włączany w Xposed i widoczny w głównym interfejsie. status serwera, interfejs sieciowy, port i polecenie adb wymagane jest połączenie z komputera lokalnego.

Aplikacja wyświetla listę aplikacji na urządzeniu, z możliwością wyboru tylko aplikacji użytkownika lub uwzględnienia również aplikacji systemowych. Opcja ta jest dostępna w menu bocznym. Skonfiguruj interfejs i port, włącz uwierzytelnianie za pomocą nazwy użytkownika i hasła i dostosować inne parametry serwera.

Po wybraniu i uruchomieniu aplikacji rozpoczyna się dynamiczna analiza. Z przeglądarki komputera otwiera się strona internetowa hostowana na urządzeniu, gdzie wyświetlane jest menu z przyciskami [niejasne – prawdopodobnie „możliwości” lub „funkcje”]. Pobierz plik APK lub dane z pamięci wewnętrznej, wykonuj zrzuty ekranu, stosuj różne konfiguracje (takie jak wyłączanie FLAG_SECURE, ponowne uruchamianie aplikacji, wybieranie serwera proxy lub wybieranie typów zdarzeń do rejestrowania) i odświeżaj wyniki w czasie rzeczywistym.

Inspeckage oferuje również skróty do otwierania kart LogCat, sprawdzania, czy aplikacja lub moduł jest uruchomiony, oraz ukrywania lub wyświetlania paneli szczegółów. Panel informacji o aplikacji wyświetla nazwa pakietu, UID, GUID, status kopii zapasowej oraz dostęp do pamięci wewnętrznej typu TreeView, z której pliki można pobierać jednym kliknięciem.

Główna część raportu podzielona jest na różne zakładki: jedna z działania, uprawnienia, usługi, dostawcy treści, odbiorcy transmisji i biblioteki współdzielonez opcjami uruchamiania działań lub konsultowania się z dostawcami; inny dedykowany SharedPreferences, który można przeglądać zarówno w formacie dziennika (aby móc obserwować zmiany zmiennych na przestrzeni czasu), jak i w bieżącym stanie pliku.

Jedną z bardzo przydatnych funkcji jest nagrywanie wszystkich aktywność kryptograficzna aplikacjiTa sekcja wyświetla użyte algorytmy, klucze i zaszyfrowane informacje. Karta „Hash” zawiera wszystkie wartości, do których stosowane są funkcje skrótu, oraz typ funkcji używanej w każdym przypadku.

Sekcja „System plików” zawiera listę wszystkich plików, z którymi aplikacja miała interakcję, co jest przydatne do wykrywania, czy tworzy podejrzane pliki lub pobiera aplikacje z nieoficjalnych źródeł. Karta „IPC” wyświetla próby komunikacji międzyprocesowej z wykorzystaniem intencji.

Karta „Haki” gromadzi aktywność wszystkich metod, dla których skonfigurowano niestandardowe haki. Ich tworzenie jest stosunkowo proste dzięki graficznemu interfejsowi, w którym można… Wskaż metodę przechwytywania i typ hakaMożna zdefiniować haki modyfikujące parametry wejściowe metody lub jej wartość zwracaną, co otwiera drzwi do licznych scenariuszy testowych.

Dodatkowe funkcje można znaleźć w menu bocznym. manipulować wartościami odcisków palców urządzeń lub współrzędnymi GPSPomaga to ominąć mechanizmy wykrywania emulatorów i podszywania się pod lokalizację. Oprócz tego, Inspeckage może rejestrować zapytania do bazy danych, ruch sieciowy, WebViews i inne zasoby, do których uzyskują dostęp dostawcy treści.

Dzięki temu rozbudowanemu zestawowi możliwości Inspeckage jest uważany za Bardzo wszechstronne narzędzie skracające czas analizy próbek, szczególnie przydatne dla tych, którzy dopiero zaczynają przygodę z analizą złośliwego oprogramowania na urządzeniach mobilnych lub audytami bezpieczeństwa aplikacji na Androida.

Metodyki bezpieczeństwa, zagrożenia i laboratorium testowe

W obecnej sytuacji, w której miliardy aktywnych urządzeń i aplikacji z systemem Android przetwarzają poufne dane (bankowość, służba zdrowia, edukacja itp.), konieczne jest podjęcie działań bezpieczeństwo w całym cyklu życia aplikacjiNie chodzi tylko o unikanie oczywistych błędów, ale o przestrzeganie przepisów, takich jak RODO, lub standardów branżowych, np. PCI DSS, podczas przetwarzania płatności.

Aplikacje na Androida są narażone na liczne zagrożenia, z których wiele jest rozwiązywanych w ramach projektów takich jak OWASP Mobile Top 10Do najpoważniejszych problemów możemy zaliczyć nieprawidłowe korzystanie z platformy (niewykorzystanie natywnych mechanizmów bezpieczeństwa, źle zarządzane uprawnienia, nadużywanie odsłoniętych interfejsów API), niezabezpieczone przechowywanie danych (niezaszyfrowane bazy danych, dzienniki z poufnymi informacjami, słabo chronione pliki cookie) lub niezabezpieczona komunikacja (wykorzystanie przestarzałych protokołów lub niezaszyfrowanego ruchu).

Problemy z słabe uwierzytelnianie i zarządzanie sesjami (słabe hasła, sesje, które nie wygasają, słabo zabezpieczone tokeny), niewystarczające szyfrowanie umożliwiające dostęp do danych osobom atakującym fizycznie lub złośliwemu oprogramowaniu oraz błędy autoryzacji, które otwierają drogę do eskalacji uprawnień poprzez zautomatyzowane ataki.

Po stronie programistycznej kluczowa jest jakość kodu po stronie klienta: złe praktyki, brak kontroli błędów lub źle wdrożone funkcje bezpieczeństwa Może to prowadzić do przepełnienia bufora i innych luk w zabezpieczeniach. Do tego dochodzi ryzyko modyfikacji kodu (złośliwe poprawki binarne, modyfikacje zasobów itp.). fałszywe aplikacje podszywające się pod legalne), inżynieria wsteczna APK i obecność „ukrytych” funkcjonalności lub funkcji debugowania, które nie są wyłączone w środowisku produkcyjnym.

Aby stawić czoła tym zagrożeniom, projekt OWASP Mobile Application Security (MAS) proponuje metodologia i lista kontrolna wymagań bezpieczeństwa obejmujące kilka obszarów: bezpieczną architekturę i projektowanie, prywatność i przechowywanie danych, odpowiednią kryptografię, uwierzytelnianie i zarządzanie sesjami, bezpieczną komunikację sieciową, interakcję z platformą, jakość kodu i konfigurację kompilacji oraz mechanizmy odporności po stronie klienta.

Ocena tych wymagań zazwyczaj łączy analizę statyczną i dynamiczną. W części statycznej artefakty takie jak kod źródłowy, kod dekompilowany, pliki binarne i powiązane pliki Bez uruchamiania aplikacji potencjalne luki w zabezpieczeniach można wywnioskować z metadanych, wywołań funkcji i przepływu programu. Narzędzia takie jak Mara (platforma analityczna umożliwiająca deasemblację i dekompilację plików APK, defuzzyfikację, analizę ciągów znaków, ekstrakcję uprawnień itp.), sam APK Analyzer oraz rozwiązania takie jak JAADAS do statycznej analizy IPC są na tym etapie szczególnie przydatne.

Z kolei w analizie dynamicznej aplikacja działa w kontrolowanym środowisku, a jej zachowanie jest obserwowane w różnych warunkach. Właśnie tutaj przydatne są narzędzia takie jak Drozer, który współpracuje z maszyną wirtualną Dalvik, punktami końcowymi IPC i systemem operacyjnym w celu znajdowania luk w zabezpieczeniach; Burp Suite, który działa jako serwer proxy sieciowy do przechwytywania i manipulowania ruchem pomiędzy aplikacją a serwerem; oraz Inspeckage, zaprojektowany do instrumentacji i obserwacji aplikacji w czasie rzeczywistym za pomocą haków w interfejsie API systemu Android.

Istnieją również hybrydowe struktury, takie jak Mobile Security Framework (MobSF), które łączą analizę statyczną i dynamiczną i pomagają organizować bardziej kompleksowe audyty Z jednego narzędzia. Dla tych, którzy chcą ćwiczyć, bardzo skutecznym sposobem nauki jest praca z celowo podatnymi na ataki aplikacjami.

Wśród tych aplikacji ćwiczeniowych znajdują się projekty takie jak InsecureShop (podatny na ataki sklep internetowy z prawie dwudziestoma możliwymi do wykorzystania lukami, z których większość nie wymaga uprawnień roota), AndroGoat (pierwsza podatna na ataki aplikacja opracowana w Kotlinie, z kilkudziesięcioma różnymi lukami), InsecureBank V2 (aplikacja bankowa z zapleczem w Pythonie, zaprojektowana z uwzględnieniem wielu luk) oraz Crackmes z samego projektu MAS, podzielone na kilka poziomów trudności typu CTF.

Krótko mówiąc, analiza aplikacji na Androida to coś więcej niż tylko sprawdzanie uprawnień czy liczenie pobrań. Polega ona na łączeniu Narzędzia do inspekcji APK, środowiska analizy dynamicznej, metodologie zabezpieczeń oraz platformy analityki produktów i marketinguGdy wszystkie te elementy zostaną zintegrowane w cyklu życia aplikacji, efektem będą bezpieczniejsze i wydajniejsze aplikacje, które odpowiadają rzeczywistym potrzebom użytkowników i firmy.

Podobne artykuł:
Jak zrobić świetną aplikację na Androida?