Kompletní průvodce analýzou aplikací pro Android

  • Analýza aplikací pro Android kombinuje technickou kontrolu APK souborů, bezpečnostní audit a analýzu využití a obchodní analýzu.
  • Nástroje jako APK Analyzer, Android Studio, Inspeckage a frameworky OWASP MAS vám umožňují detekovat chyby a optimalizovat kód.
  • Platformy pro mobilní analytiku (Firebase, Contentsquare, Mixpanel atd.) pomáhají pochopit chování, konverze a výkon.
  • Integrace zabezpečení, sledovatelnosti a metrik produktu do životního cyklu aplikace zlepšuje kvalitu, dodržování předpisů a návratnost investic.

Analýza aplikací pro Android

Dnes máme v telefonech tisíce aplikací, ale jen málo lidí skutečně chápe, co každá aplikace pro Android interně dělá , jaká oprávnění používá nebo jak ovlivňuje výkon a zabezpečení zařízení. Pro vývojáře, bezpečnostní auditory a marketingové týmy již pochopení a analýza aplikací pro Android není volitelná: je klíčovou součástí pro vytváření spolehlivých, rychlých a produktů respektujících soukromí.

V tomto článku naleznete komplexní přehled analýzy aplikací pro Android z různých úhlů : nástroje pro kontrolu APK a nainstalovaných aplikací, vývojářské nástroje jako Android Studio APK Analyzer, auditní frameworky jako Inspeckage, bezpečnostní metodiky jako OWASP MAS a důkladný přehled hlavních platforem pro mobilní analýzu (Firebase, Contentsquare, Mixpanel, Countly, Localytics, RevenueCat, AppDynamics a AppsFlyer). Vše je vysvětleno ve španělštině (Španělsko) přátelským tónem, ale bez kompromisů v technické preciznosti.

Co je analýza aplikací pro Android a k čemu se používá?

Když mluvíme o analýze aplikací pro Android, můžeme mít na mysli jak technickou analýzu APK (oprávnění, kód, manifest, služby atd.), tak studium metrik používání, chování uživatelů, výkonu, chyb nebo dokonce reklamních podvodů. Jedná se o dva odlišné, ale vzájemně se doplňující světy: technický aspekt zajišťuje, že je aplikace bezpečná a robustní; aspekt analýzy produktu nám umožňuje pochopit, zda daná aplikace splňuje své obchodní cíle.

Z technického hlediska lze analýzu rozdělit na statickou a dynamickou . Statická analýza zkoumá soubor APK nebo kód bez jeho spuštění (dekompilace, analýza oprávnění, kontrola souboru AndroidManifest.xml atd.). Dynamická analýza sleduje chování aplikace během jejího běhu, zaznamenává síťový provoz, volání citlivých API, používání kryptografie a vytváření souborů.

V oblasti uživatelské zkušenosti a obchodní analytiky se klade důraz na pochopení toho, jak lidé aplikaci používají, kde se zaseknou a proč ji konvertují nebo ji opouštějí . Zde přicházejí na řadu systémy pro sledování událostí, tepelné mapy, zaznamenávání relací, dashboardy pro sledování tržeb, konverzní trychtýře a nástroje pro mobilní marketing.

Nástroje pro analýzu APK a nainstalovaných aplikací

Abyste pochopili, co aplikace pro Android dělá interně, existují specializované nástroje, které vám umožňují kontrolovat nainstalované soubory APK nebo .apk uložené v zařízení. Tyto nástroje zobrazují vše od základních údajů (název, verze, velikost) až po velmi jemné detaily, jako jsou oprávnění, služby na pozadí a digitální podpisy.

Jednou z nejoblíbenějších aplikací v této oblasti je analyzátor APK souborů s otevřeným zdrojovým kódem, který se pyšní tím, že je nejstahovanější aplikací pro analýzu APK souborů na Google Play . Tento nástroj umožňuje vygenerovat velmi komplexní zprávu o již nainstalovaných aplikacích i souborech .apk, které ještě nebyly nainstalovány, což je neuvěřitelně užitečné pro kontrolu aplikace před udělením přístupu k vašemu zařízení.

Typická zpráva obsahuje informace, jako je název aplikace, verze, minimální a cílová verze systému Android , data instalace a aktualizace, certifikáty a podpisová data, použitá oprávnění (s popisem), aktivity, služby, přijímače vysílání a poskytovatelé obsahu. Dále podrobně popisuje hardwarové požadavky (povinné i volitelné) a poskytuje kompletní soubor AndroidManifest.xml s možností jeho uložení ve formátu čitelném pro člověka.

Další klíčovou funkcí je možnost extrahovat soubor APK nainstalované aplikace a uložit jej do úložiště zařízení a také exportovat ikonu. To je užitečné pro audit, vytváření záloh, testování v izolovaných prostředích nebo jednoduše pro kontrolu konkrétní verze před aktualizací.

Tento typ analyzátoru obvykle obsahuje specifické sekce pro oprávnění a agregované statistiky . Na jedné straně umožňuje zobrazit seznam všech oprávnění požadovaných aplikacemi v zařízení, zjistit, které aplikace požadují jednotlivá oprávnění, zobrazit popis a úroveň ochrany a snadno najít aplikace s nejvyššími nároky na oprávnění. Na druhé straně nabízí statistiky o kolekci nainstalovaných aplikací: rozložení cílových verzí systému Android, typy podpisů, průměrný počet aktivit nebo oprávnění na aplikaci atd.

Analyzátor a apkanalyzer souborů APK pro Android Studio

Pro vývojáře používající Android Studio obsahuje platforma Google výkonný analyzátor souborů APK zabudovaný do vývojového prostředí . Tento nástroj lze otevřít přetažením souboru APK nebo balíčku aplikace do okna editoru, dvojitým kliknutím na soubor APK ve složce sestavení nebo výběrem možnosti „Analyzovat soubor APK“ z nabídky Sestavení. K dispozici je také verze pro příkazový řádek s názvem apkanalyzer.

Analyzátor APK umožňuje hierarchicky prozkoumávat obsah souboru, který je vnitřně podobný archivu ZIP s uspořádanými složkami a soubory . Každá entita (složka nebo soubor) zobrazuje svou nezpracovanou velikost souboru a odhadovanou velikost komprimovaného souboru ke stažení, jak ji poskytuje Google Play, spolu s procentuálním podílem, který představuje z celkové velikosti. To vám pomůže rychle identifikovat, které zdroje, knihovny nebo soubory DEX spotřebovávají nejvíce místa.

Velmi zajímavým bodem je, jak analyzátor APK rekonstruuje finální soubor AndroidManifest.xml . V projektech s více variantami produktů nebo knihovnami s vlastními manifesty jsou všechny tyto soubory během kompilace sloučeny do jednoho souboru. Soubor APK zůstává v binárním formátu, ale analyzátor jej převádí zpět do čitelného XML, čímž zobrazuje přesně ten manifest, který systém uvidí na zařízení, a usnadňuje detekci změn zavedených procesem sestavení.

Tento prohlížeč manifestů také obsahuje funkce lintingu : upozorňuje vás na chyby a varování, jako jsou například nerozpoznaná schémata XML. Některá varování (například varování pro neregistrovaná schémata) lze bezpečně ignorovat a lze je potlačit přidáním schématu do seznamu ignorovaných v předvolbách Android Studia.

Další základní součástí APK Analyzeru je prohlížeč souborů DEX, který poskytuje čítače pro třídy, balíčky a definované a odkazované metody . To je užitečné mimo jiné pro sledování, zda se blížíte limitu 64K metod na DEX, pro rozhodování, zda povolit multidexování nebo zda je třeba odstranit závislosti.

Strom tříd zobrazuje metody definované v DEXu a odkazované metody (včetně metod z knihoven třetích stran a standardních API pro Android a Java). Nástroj rozlišuje mezi těmito dvěma metodami a pomáhá pochopit, jaká část rozpočtu metody je způsobena vlastním kódem a jaká závislostmi.

Zobrazení DEX také obsahuje filtry pro zobrazení nebo skrytí polí, metod a odkazovaných metod . Při rozbalování třídy si můžete vybrat, zda se mají zobrazit pouze lokální definice nebo všechny externí reference. Prvky zobrazené kurzívou označují reference bez definice v daném DEXu, tj. metody nebo pole, která se nacházejí v jiných souborech DEX nebo v frameworku.

U projektů používajících obfuskaci a redukci kódu pomocí ProGuardu nebo R8 umožňuje analyzátor načíst soubory mapování (mapping.txt), seeds.txt a usage.txt ze stejného sestavení. Po importu jsou povoleny další funkce: deobfuskace názvů pro obnovení původních tříd a metod, zvýraznění uzlů, které nelze odstranit (seeds), a zobrazení uzlů, které byly odstraněny během redukce.

Dialogové okno pro načtení těchto souborů obvykle automaticky odkazuje na standardní cestu ( app/build/outputs/mappings/release/ ) a hledá přesné názvy nebo názvy obsahující „mapping“, „usage“ nebo „seeds“ končící na .txt. S těmito informacemi může analyzátor zobrazit chráněné prvky tučně a označit přeškrtnutím ty, které již ve finálním DEXu nejsou přítomny.

Prohlížeč DEXu také obsahuje kontextové menu s výkonnými funkcemi: zobrazením bajtkódu (smali), vyhledáváním použití a generováním pravidel pro zachování ProGuardu . Výběrem třídy, metody nebo pole se otevře dialogové okno s kódem v reprezentaci smali, spustí se vyhledávání, kde se daný symbol v DEXu používá, nebo se automaticky vygeneruje pravidlo pro zachování, které zabrání jeho redukci v budoucích sestaveních.

Kromě kódu umožňuje APK Analyzer také zkontrolovat finální verzi mnoha zdrojů, jako jsou obrázky, rozvržení nebo samotný soubor resources.arsc . Můžete si například prohlédnout lokalizované řetězce v různých jazycích a konfiguracích, zkontrolovat, který zdroj v dané variantě který přepsal, nebo zobrazit obsah binárních souborů, které se normálně neotevírají ručně.

Nástroj konečně obsahuje velmi užitečnou funkci pro kontrolu sestavení: porovnání dvou APK nebo balíčků aplikací . Načtením aktuální verze a jejím porovnáním s dříve publikovaným artefaktem získáte přehled o rozdílech ve velikosti jednotlivých entit, což je ideální pro pochopení, odkud pochází zvětšení velikosti mezi verzemi (nové zdroje obrázků, další knihovny, změny kódu atd.).

Využití mobilní analytiky k pochopení uživatelské zkušenosti

Kromě čistě technické analýzy je nezbytné mít nástroje, které vám umožní měřit, co uživatelé v aplikaci dělají , jak se pohybují po obrazovkách, kde se vyskytují chyby a které kampaně přinášejí kvalitní návštěvnost a které ne. Nabídka platforem pro mobilní analýzu je rozsáhlá, proto je důležité jasně definovat potřeby vaší firmy, než si ji vyberete.

Prvním filtrem je položit si otázku, zda kromě získávání metrik využití a výkonu potřebujete nástroj k usnadnění spolupráce mezi týmy (produkt, marketing, UX, vývoj, podpora) nebo k umožnění analýzy dat z aplikace i mobilního webu současně. Dalším důležitým kritériem je integrace s dalšími řešeními, která již používáte, jako jsou CRM, nástroje pro automatizaci marketingu nebo experimentální platformy.

Mezi nejpoužívanějšími řešeními v ekosystému Androidu vyniká Firebase jako flexibilní platforma pro vývoj, hosting a integrovanou analytiku . Firebase umožňuje vytvářet aplikace pro Android, iOS a web využitím své databázové a autentizační infrastruktury a zároveň nabízí robustní systém pro analýzu a hlášení selhání.

Jako analytický nástroj vám Firebase umožňuje shromažďovat kvantitativní data o používání, provozu a interakci , generovat automatické a vlastní události (až několik stovek), monitorovat, kde a jak často v aplikaci dochází k selhání, a podporovat marketingová nebo produktová rozhodnutí objektivními daty namísto předpokladů.

Další platformou, která se silně zaměřuje na produkty a digitální zážitky, je Contentsquare, která jde nad rámec tradičních metrik a nabízí detailní mapování zákaznické cesty, tepelné mapy, záznamy relací a analýzu chyb . Jejím cílem je pomoci pochopit nejen to, co se v aplikaci děje, ale také proč dochází k určitému chování: kde se uživatelé zaseknou, které oblasti rozhraní ignorují nebo které prvky způsobují frustraci.

Moduly jako Journeys poskytují komplexní pohled na kompletní uživatelský zážitek, od vstupu do aplikace nebo mobilního webu až po jeho ukončení, a identifikují klíčové trasy, které je vhodné optimalizovat. Heatmapy vizualizují nejčastěji dotýkané nebo ignorované oblasti, Session Replay kontroluje jednotlivé relace a detekuje vzorce (například opakovaná kliknutí na stejnou výzvu k akci z hněvu) a Product Analytics analyzuje metriky, jako je přijetí funkcí, míra konverze, akvizice a vnímané úsilí.

Contentsquare také obsahuje modul pro analýzu chyb, který seskupuje technické a funkční chyby podle dopadu , což pomáhá prioritizovat ty, které je třeba opravit jako první, a funkce pro kvantifikaci dopadu, které tyto problémy převádějí na ztráty v konverzi, tržbách nebo udržení zaměstnanců, což je velmi užitečné při zdůvodňování změn pro zúčastněné strany.

Zajímavou případovou studií je tým, který pomocí tohoto typu produktové analytiky potvrdil své podezření, že obrazovka s podpisem na mobilních zařízeních je pro uživatele matoucí . Porovnáním webových a mobilních dat zjistili, že konverze na mobilních zařízeních byly výrazně nižší. Podrobně prozkoumali mobilní zážitek, přepracovali stránku s podpisem s ohledem na mobilní zařízení a podařilo se jim výrazně zlepšit její responzivitu na různých zařízeních.

Pokročilá segmentace uživatelů a behaviorální analýza

Pro hlubší analýzu chování uživatelů se některé platformy specializují na segmentaci a vytváření kohort . Jedním z nejznámějších příkladů je Mixpanel, určený pro produktové i marketingové účely a zaměřený na vizualizaci konverzních cest a analýzu chování různých skupin uživatelů.

Mixpanel umožňuje seskupovat uživatele do kohort na základě provedených akcí nebo sdílených atributů : například lidé, kteří v posledních 30 dnech zahájili platební plán, uživatelé, kteří vyzkoušeli určitou funkci, nebo zákazníci, kteří provedli alespoň dva nákupy. Silnou stránkou systému jsou jeho přizpůsobitelné vlastnosti a logice segmentace, která umožňuje vytvářet komplexní segmenty.

Vlastní vlastnosti umožňují kombinovat atributy událostí, uživatelů nebo skupin do nových, obecnějších vlastností. Můžete například seskupit různé UTM kanály ze sociálních médií (Facebook, Instagram, Twitter) pod vlastnost „Sociální sítě“ a analyzovat jejich kombinované chování. Logika segmentace umožňuje vytvářet segmenty na základě specifických kombinací akcí, jako je například nákup produktu A i produktu B.

Dalším vynikajícím nástrojem, tentokrát se silným zaměřením na soukromí, je Countly, řešení pro analýzu dat pro mobilní zařízení, web a počítače, které lze nasadit na vlastní infrastrukturu společnosti a poskytnout tak úplnou kontrolu nad daty . To je obzvláště zajímavé pro regulovaná odvětví nebo společnosti s přísnými požadavky na dodržování předpisů.

Countly nabízí vylepšené zabezpečení, přístup k detailním datům v reálném čase (bohaté profily, metriky zapojení na individuální úrovni) a moduly určené k analýze loajality zákazníků a detekci odchodů . Jeho „Compliance Hub“ umožňuje správu shromažďování dat na základě souhlasu a také žádosti o export nebo smazání v souladu s předpisy o ochraně osobních údajů.

Marketingové a předplatné platformy s integrovanou analytikou

Pokud je primárním zaměřením mobilní marketing, existují specifická řešení, která kombinují měření, segmentaci a realizaci kampaní na jedné platformě. Localytics je toho ukázkovým příkladem: integruje analytiku aplikací s nástroji pro zasílání zpráv a personalizaci, což ji činí velmi atraktivní pro marketingové týmy, které potřebují jednotný systém.

Localytics nabízí podrobné reporty kampaní, které ukazují, které akce mají největší dopad na konverzi, udržení zákazníků, návratnost investic, odchod zákazníků a odinstalace . Jeho prediktivní analytické funkce pomáhají identifikovat uživatele s vysokou pravděpodobností konverze nebo opuštění, což umožňuje doručování personalizovaných zpráv ve správný čas.

Platforma také obsahuje inteligentní personalizační moduly pro vytváření segmentů na základě profilu, chování a historie a na jejich základě spouštění kampaní a zážitků přizpůsobených kontextu uživatele, což výrazně zlepšuje relevanci sdělení.

V oblasti předplatitelských aplikací se RevenueCat stal klíčovým nástrojem pro mnoho týmů. Díky relativně jednoduché integraci SDK umožňuje spravovat mobilní předplatné, shromažďovat cílené analytické údaje a dokonce testovat paywally, aniž byste museli pro každý projekt znovu vynalézat kolo.

RevenueCat poskytuje řídicí panel zaměřený na metriky předplatného: aktivní zkušební verze, konverze ze zkušebních verzí, aktivní uživatelé, tržby a MRR. Nabízí také přizpůsobitelné grafy s filtry a segmentací , které umožňují například zobrazení rozdělení opakujících se tržeb podle země nebo typu tarifu.

Jednou z jeho silných stránek je A/B testování cen a paywallů, které umožňuje testovat různé kombinace cen, balíčků a propagačních akcí a měřit dopad každé varianty na celý trychtýř předplatného, ​​od první návštěvy paywallu až po dlouhodobou retenci.

Pro sledování složitých aplikací nabízí AppDynamics full-stack monitorovací přístup, který zahrnuje vše od mikroslužeb a bezserverových funkcí až po veřejná a privátní API a dokonce i samotné mobilní aplikace. Jeho cílem je rychle odhalit problémy s výkonem a přesně určit jejich příčinu , ať už se nachází v kódu, závislosti nebo externí službě.

AppDynamics umožňuje korelovat data z mobilních zařízení, prohlížečů a vlastních uživatelů, abyste mohli porovnat zkušenosti mezi verzemi aplikací a identifikovat oblasti, kde UX zaostává. Obsahuje připravené widgety pro vytváření detailních dashboardů a modul syntetického monitorování, který simuluje uživatelské toky a volání API a detekuje chyby dříve, než se projeví u skutečných lidí.

AppsFlyer se zaměřuje konkrétně na marketingové týmy, které potřebují měřit, atribuovat a chránit své mobilní kampaně. Nabízí řešení od základní analytiky až po pokročilé funkce, se zvláštním důrazem na odhalování reklamních podvodů (například botů generujících falešná kliknutí).

Kromě ochrany před podvody vám AppsFlyer umožňuje definovat vlastní události v aplikaci , které propojují klíčové ukazatele výkonnosti (KPI), jako je návratnost investic (ROI) nebo celoživotní hodnota, s konkrétními akcemi uživatelů. Zahrnuje také testování inkrementality, které odhaduje, kolik konverzí by bylo dosaženo bez placených kampaní, a tím měří skutečný dopad investic do reklamy.

Kromě všech těchto kvantitativních analýz stojí za zvážení nástroje jako AppFollow, které se zaměřují na sledování hodnocení a recenzí v App Storu a Google Play . Díky analýze sentimentu můžete sledovat, jak se vyvíjí tón recenzí, a porovnávat různá období, čímž získáte jasný vhled do toho, jak uživatelé vnímají kvalitu aplikace a její zážitek.

Bezpečnostní audit a pokročilá analýza s Inspeckage

Pokud cílem není ani tak marketing nebo produkt, ale spíše audit zabezpečení, analýza malwaru nebo kontrola interního chování aplikace , vstupují do hry specifičtější frameworky. Jedním z nejzajímavějších v ekosystému Androidu je Inspeckage (Android Package Inspector), který funguje jako Xposed modul.

Inspeckage nastaví server přímo na zařízení Android, přístupný z počítače přes ADB, a umožňuje vám sledovat události v reálném čase, které se na zařízení odehrávají během běhu aplikace . Na rozdíl od jiných analytických prostředí, jako jsou MobSF nebo AppMon, je jeho hlavní výhodou to, že umožňuje pozorovat události bez přerušení dynamické analýzy a snadno konfigurovat hooky na konkrétních metodách.

Kód nástroje je k dispozici na GitHubu a lze jej také získat jako APK z Obchodu Play nebo z repozitáře Xposed. Po instalaci je modul v Xposed povolen a hlavní rozhraní zobrazuje stav serveru, síťové rozhraní, port a příkaz adb potřebný pro připojení z lokálního počítače.

Aplikace zobrazuje seznam aplikací v zařízení s možností vybrat pouze uživatelské aplikace nebo zahrnout i systémové aplikace. Boční nabídka umožňuje konfigurovat rozhraní a port, povolit ověřování pomocí uživatelského jména a hesla a upravit další parametry serveru.

Po výběru a spuštění aplikace začíná dynamická analýza. Prostřednictvím prohlížeče počítače se otevře webová stránka hostovaná zařízením, kde se zobrazí nabídka s tlačítky pro stažení APK nebo dat z interního úložiště , pořízení snímků obrazovky, použití různých konfigurací (například vypnutí FLAG_SECURE, restartování aplikace, výběr proxy serveru nebo výběr typů událostí, které se mají zaznamenávat) a aktualizaci výsledků v reálném čase.

Inspeckage také nabízí zkratky pro otevření karty pomocí LogCatu, kontrolu, zda je aplikace nebo modul spuštěný, a skrytí nebo zobrazení panelů s podrobnostmi. Panel s informacemi o aplikaci zobrazuje název balíčku, UID, GUID, stav zálohy a přístup k internímu úložišti ve stylu TreeView, ze kterého lze soubory stáhnout jediným kliknutím.

Hlavní část zprávy je uspořádána do různých záložek: jedna s aktivitami, oprávněními, službami, poskytovateli obsahu, přijímači vysílání a sdílenými knihovnami s možnostmi spouštění aktivit nebo konzultací s poskytovateli; druhá je věnována Sdíleným předvolbám (SharedPreferences), které lze zobrazit jak ve formátu protokolu (pro posouzení změn proměnných v čase), tak v aktuálním stavu souboru.

Obzvláště účinnou funkcí je protokolování veškeré kryptografické aktivity v aplikaci , včetně použitých algoritmů, klíčů a šifrovaných informací. Záložka „Hash“ zobrazuje všechny hodnoty, na které jsou hašovací funkce aplikovány, spolu s typem použité funkce v každém případě.

Sekce „Souborový systém“ obsahuje seznam všech souborů, se kterými aplikace interagovala, což je užitečné pro detekci, zda aplikace vytváří podezřelé soubory nebo stahuje aplikace z neoficiálních zdrojů. Karta „IPC“ zobrazuje pokusy o komunikaci mezi procesy pomocí intentů.

Karta „Hooky“ shromažďuje aktivitu všech metod, pro které byly nakonfigurovány vlastní hooky. Jejich vytváření je relativně jednoduché díky grafickému rozhraní, kde určíte metodu, kterou chcete zachytit, a typ hooku . Můžete definovat hooky, které upravují vstupní parametry metody nebo návratovou hodnotu, což otevírá dveře k řadě testovacích scénářů.

Boční nabídka obsahuje další funkce pro manipulaci s hodnotami otisků prstů zařízení nebo GPS souřadnicemi , což pomáhá obejít detekční mechanismy emulátorů nebo falšování polohy. Kromě výše uvedeného může Inspeckage zaznamenávat databázové dotazy, síťový provoz, WebViews a další zdroje, ke kterým mají přístup poskytovatelé obsahu.

Díky této široké škále funkcí je Inspeckage považován za velmi kompletní nástroj pro zkrácení doby analýzy vzorků , což je obzvláště užitečné pro ty, kteří začínají s analýzou mobilního malwaru nebo bezpečnostními audity aplikací pro Android.

Bezpečnostní metodiky, hrozby a testovací laboratoř

Současný kontext, kdy miliardy aktivních zařízení a aplikací s Androidem zpracovávají citlivá data (bankovnictví, zdravotnictví, vzdělávání atd.), vyžaduje, aby se bezpečnost v průběhu celého životního cyklu aplikace brala velmi vážně . Nejde jen o to, vyhnout se zjevným zranitelnostem, ale také o dodržování předpisů, jako je GDPR nebo oborové standardy, jako je PCI DSS, při zpracování plateb.

Aplikace pro Android jsou vystaveny řadě hrozeb, z nichž mnohé jsou shrnuty v projektech, jako je OWASP Mobile Top 10. Mezi nejzávažnější patří nesprávné používání platformy (nevyužití nativních bezpečnostních mechanismů, špatně spravovaná oprávnění, zneužití odhalených API), nezabezpečené ukládání dat (nešifrované databáze, protokoly s citlivými informacemi, špatně chráněné soubory cookie) a nezabezpečená komunikace (používání zastaralých protokolů nebo nešifrovaného provozu).

Časté jsou také problémy se špatným ověřováním a správou relací (slabá hesla, relace s nevypršením platnosti, špatně chráněné tokeny), nedostatečné šifrování, které umožňuje přístup k datům fyzickým útočníkům nebo malwaru, a selhání autorizace, která otevírají dveře eskalaci oprávnění prostřednictvím automatizovaných útoků.

Na straně vývoje je klíčová kvalita kódu na straně klienta: špatné postupy, nedostatečné ošetření chyb nebo špatně implementované bezpečnostní funkce mohou vést k přetečení vyrovnávací paměti a dalším zranitelnostem. K tomu se přidává riziko modifikace kódu (škodlivé binární záplaty, pozměněné zdroje, falešné aplikace vydávající se za legitimní ), reverzní inženýrství APK a přítomnost „skrytých“ nebo ladicích funkcí, které nejsou v produkčním prostředí zakázány.

Pro řešení těchto hrozeb navrhuje projekt OWASP Mobile Application Security (MAS) metodologii a kontrolní seznam bezpečnostních požadavků , které zahrnují několik oblastí: bezpečnou architekturu a design, soukromí a ukládání dat, správnou kryptografii, ověřování a správu relací, bezpečnou síťovou komunikaci, interakci platformy, kvalitu kódu a konfiguraci sestavení a mechanismy odolnosti proti útokům na straně klienta.

Vyhodnocení těchto požadavků obvykle kombinuje statickou a dynamickou analýzu. Statická část zahrnuje kontrolu artefaktů, jako je zdrojový kód, dekompilovaný kód, binární soubory a související soubory, bez spuštění aplikace. Potenciální zranitelnosti lze odvodit z metadat, volání funkcí a toku programu. V této fázi jsou obzvláště užitečné nástroje jako Mara (analytický framework, který umožňuje disassemblování a dekompilaci APK, defuzzifikaci, analýzu řetězců, extrakci oprávnění atd.), samotný APK Analyzer a řešení jako JAADAS pro statickou analýzu IPC.

V dynamické analýze naopak aplikace běží v kontrolovaném prostředí a její chování je pozorováno za různých podmínek. Zde přicházejí na řadu nástroje jako Drozer, který interaguje s virtuálním strojem Dalvik, koncovými body IPC a operačním systémem za účelem nalezení zranitelností; Burp Suite, který funguje jako webová proxy pro zachycení a manipulaci s provozem mezi aplikací a serverem; a Inspeckage, určený k instrumentaci a pozorování aplikace v reálném čase pomocí hooků v Android API.

Existují také hybridní frameworky, jako je Mobile Security Framework (MobSF), které kombinují statickou a dynamickou analýzu a pomáhají provádět komplexnější audity z jednoho nástroje. Pro ty, kteří si chtějí procvičit, je velmi efektivním způsobem učení práce se záměrně zranitelnými aplikacemi.

Mezi těmito cvičnými aplikacemi jsou projekty jako InsecureShop (zranitelný internetový obchod s téměř dvaceti zneužitelnými chybami, většina z nich bez nutnosti rootování), AndroGoat (první zranitelná aplikace vyvinutá v Kotlinu s několika desítkami různých zranitelností), InsecureBank V2 (bankovní aplikace s backendem v Pythonu, navržená s mnoha slabinami) a Crackmes ze samotného projektu MAS, strukturované do několika úrovní obtížnosti typu CTF.

Stručně řečeno, analytika aplikací pro Android zahrnuje mnohem více než jen kontrolu oprávnění nebo počítání stažení. Zahrnuje kombinaci nástrojů pro kontrolu APK, prostředí dynamické analýzy, bezpečnostních metodologií a platforem pro analýzu produktů a marketingu . Když jsou všechny tyto prvky integrovány do životního cyklu aplikace, výsledkem jsou bezpečnější a efektivnější aplikace, které lépe odpovídají skutečným potřebám uživatelů a firmy.

Související článek:
Jak vytvořit skvělou aplikaci pro Android?

Přidat jako preferovaný zdroj v Googlu