
Danas živimo s tisućama aplikacija na svojim mobilnim telefonima, a ipak malo ljudi zapravo zna kako ih koristiti. Što točno radi svaka Android aplikacija unutra?Koje dozvole koristi ili kako utječe na performanse i sigurnost uređaja? Za razvojne programere, sigurnosne revizore i marketinške timove, razumijevanje i analiziranje Android aplikacija više nije opcionalno: to je ključna komponenta za stvaranje pouzdanih, brzih i učinkovitih proizvoda. poštivati privatnost.
U ovom članku naći ćete potpuni pregled Analiza Android aplikacija iz više kutovaAlati za pregled APK-ova i instaliranih aplikacija, razvojni alati poput Android Studio APK Analyzera, revizijski okviri poput Inspeckagea, sigurnosne metodologije poput OWASP MAS-a i sveobuhvatan pregled glavnih platformi za mobilnu analitiku (Firebase, Contentsquare, Mixpanel, Countly, Localytics, RevenueCat, AppDynamics i AppsFlyer). Sve objašnjeno na španjolskom (Španjolska), prijateljskim tonom, ali bez žrtvovanja tehničke preciznosti.
Što je analiza Android aplikacija i za što se koristi?
Kada govorimo o analizi Android aplikacija, možemo se osvrnuti na oboje tehnički analizirati APK (dozvole, kod, manifest, usluge itd.) kao i proučavanje metrike korištenja, ponašanja korisnika, performansi, pogrešaka ili čak prijevara u oglašavanju. To su dva različita, ali komplementarna svijeta: tehnička strana osigurava da je aplikacija sigurna i robusna; strana analitike proizvoda omogućuje vam da shvatite ispunjava li ta aplikacija svoje poslovne ciljeve.
S tehničkog gledišta, analiza se može podijeliti na statička analiza i dinamička analizaStatičko praćenje proučava APK ili kod bez njegovog izvršavanja (dekompilacija, analiza dopuštenja, pregled AndroidManifest.xml datoteke itd.). Dinamičko praćenje promatra ponašanje aplikacije dok se izvodi, bilježi mrežni promet, pozive osjetljivim API-jima, korištenje kriptografije ili stvaranje datoteka.
U području korisničkog iskustva i poslovne analitike, fokus je na Razumijevanje kako ljudi koriste aplikaciju, gdje zapinju i zašto je konvertiraju ili napuštajuTu na scenu stupaju sustavi za praćenje događaja, toplinske karte, snimanje sesija, nadzorne ploče prihoda, prodajni lijevci i alati za mobilni marketing.
Alati za analizu APK-ova i instaliranih aplikacija
Za početak razumijevanja što Android aplikacija radi interno, postoje specijalizirani uslužni programi koji vam omogućuju pregledati instalirane APK-ove ili pohranjene .apk datoteke na uređaju. Ovi alati prikazuju sve, od osnovnih podataka (naziv, verzija, veličina) do vrlo sitnih detalja kao što su dopuštenja, pozadinske usluge ili digitalni potpis.
Jedna od najpopularnijih aplikacija u ovom području je analizator APK-ova otvorenog koda koji se hvali time što je najpreuzimanija aplikacija za analizu APK-ova na Google PlayuOvaj alat vam omogućuje generiranje vrlo cjelovitog izvješća o već instaliranim aplikacijama i .apk datotekama koje još nisu instalirane, što je izvrsno za provjeru aplikacije prije nego što joj date pristup uređaju.
Tipično izvješće uključuje informacije kao što su naziv aplikacije, verzija, minimalne i ciljne verzije AndroidaDatumi instalacije i ažuriranja, podaci o certifikatima i potpisivanju, korištena dopuštenja (s opisom), aktivnosti, usluge, prijemnici emitiranja i pružatelji sadržaja. Također detaljno opisuje hardverske zahtjeve (obavezne i opcionalne) i nudi punu verziju datoteke AndroidManifest.xml s mogućnošću spremanja u formatu čitljivom ljudima.
Druga ključna funkcija je sposobnost da se izdvojite APK instalirane aplikacije i spremiti ga u pohranu uređaja, kao i izvesti ikonu. To je korisno za reviziju, izradu sigurnosnih kopija, testiranje u izoliranim okruženjima ili jednostavno pregledavanje određene verzije prije ažuriranja.
Ova vrsta analizatora obično uključuje i posebne odjeljke za dopuštenja i agregirane statistikeS jedne strane, omogućuje vam popis svih dopuštenja koja zahtijevaju aplikacije uređaja, pregled aplikacija koje zahtijevaju koje dopuštenje, pregled opisa i razine zaštite te jednostavno lociranje aplikacija koje najviše zahtijevaju privilegije. S druge strane, nudi statistiku o instaliranoj kolekciji aplikacija: distribuciju ciljnih verzija Androida, vrste potpisa, prosječan broj aktivnosti ili dopuštenja po aplikaciji itd.
Alat za analizu i analizu APK-ova za Android Studio
Za one koji razvijaju u Android Studiju, Googleova vlastita platforma uključuje Moćan APK analizator integriran u razvojno okruženjeOvaj alat se može otvoriti povlačenjem APK-a ili App Bundlea u prozor za uređivanje, dvostrukim klikom na APK u mapi za izradu ili iz izbornika Izrada pod opcijom "Analiziraj APK". Također ima verziju naredbenog retka pod nazivom apkanalizator.
APK Analyzer vam omogućuje hijerarhijsko istraživanje sadržaja datoteke, što je interno slično ZIP datoteka s organiziranim mapama i datotekamaSvaki entitet (mapa ili datoteka) prikazuje svoju sirovu veličinu datoteke i procjenu veličine komprimiranog preuzimanja koju isporučuje Google Play, zajedno s postotkom koji predstavlja u ukupnoj veličini. To pomaže u brzom prepoznavanju resursa, biblioteka ili DEX datoteka koje zauzimaju najviše prostora.
Jedna vrlo zanimljiva točka je način na koji APK Analyzer Ponovno izgradite konačnu datoteku AndroidManifest.xmlU projektima s više varijanti proizvoda ili biblioteka s vlastitim manifestima, sve te datoteke se tijekom kompilacije kombiniraju u jednu datoteku. APK ostaje u binarnom formatu, ali ga parser pretvara natrag u čitljiv XML, prikazujući točno onaj manifest koji će sustav vidjeti na uređaju i olakšavajući otkrivanje promjena uvedenih procesom izrade.
Ovaj preglednik manifesta također uključuje mogućnosti lintaOvo vas upozorava na pogreške i upozorenja, kao što su neprepoznate XML sheme. Neka upozorenja (na primjer, ona za neregistrirane sheme) sigurno je ignorirati i mogu se potisnuti dodavanjem sheme na popis ignoriranih u postavkama Android Studija.
Još jedna temeljna komponenta APK Analyzera je preglednik DEX datoteka, koji nudi brojači za klase, pakete, definirane i referencirane metodeOvo je korisno, između ostalog, za provjeru približavate li se ograničenju od 64 tisuće metoda po DEX-u, odlučivanje hoćete li omogućiti multidex ili je potrebno ukloniti ovisnosti.
Stablo klasa prikazuje metode definirane u DEX-u i referencirane metode (uključujući one iz biblioteka trećih strana i standardnih Android i Java API-ja). Alat razlikuje to dvoje, pomažući u razumijevanju koji dio proračuna metode pripada prilagođenom kodu, a koji ovisnostima.
DEX prikaz također sadrži filteri za prikaz ili skrivanje polja, metoda i referenciranih metodaPrilikom proširivanja klase možete odabrati želite li vidjeti samo lokalne definicije ili sve vanjske reference. Elementi prikazani kurzivom označavaju reference bez definicije u tom DEX-u; to jest, metode ili polja koja se nalaze u drugim DEX datotekama ili u okviru.
Za projekte koji koriste obfuskaciju i smanjenje koda s ProGuardom ili R8, analizator omogućuje učitavanje datoteke mapiranja (mapping.txt), seeds.txt i usage.txt dolaze iz iste verzije. Nakon uvoza, omogućene su dodatne funkcije: deobfusciranje imena za oporavak izvornih klasa i metoda, isticanje čvorova koji se ne mogu izbrisati (seeds) i prikazivanje čvorova koji su izbrisani tijekom procesa redukcije.
Dijalog za prijenos datoteke obično automatski pokazuje na uobičajenu putanju (aplikacija/izrada/izlazi/mapiranje/izdanje/i traži točna imena ili imena koja sadrže "mapping", "usage" ili "seeds" koji završavaju na .txt. S tim informacijama, analizator može prikazati zaštićene elemente podebljano i precrtati one koji više nisu prisutni u konačnom DEX-u.
DEX preglednik također uključuje kontekstni izbornik s vrlo moćnim funkcijama: Pogledajte bajtkod (smali), pretražite upotrebe i generirajte ProGuard pravila očuvanja.Odabirom klase, metode ili polja možete otvoriti dijalog s kodom u smali reprezentaciji, pokrenuti pretragu gdje se taj simbol koristi u DEX-u ili automatski generirati pravilo zadržavanja kako biste spriječili njegovo smanjenje u budućim izradama.
Osim koda, APK Analyzer vam također omogućuje provjeru konačne verzije mnogih resursa, kao što su slike, rasporedi ili sama datoteka resources.arscNa primjer, možete pregledati lokalizirane nizove na različitim jezicima i konfiguracijama, provjeriti koji je resurs prebrisao koji u određenoj varijanti ili vidjeti sadržaj binarnih datoteka koje se obično ne otvaraju ručno.
Konačno, alat uključuje vrlo korisnu značajku za pregled verzija: usporedite dva APK-a ili paketa aplikacijaUčitavanje trenutne verzije i usporedba s prethodno objavljenim artefaktom pruža pregled razlika u veličini po entitetu, idealno za razumijevanje odakle dolazi povećanje težine između verzija (novi resursi slika, dodatne biblioteke, promjene koda itd.).
Korištenje mobilne analitike za razumijevanje korisničkog iskustva
Osim isključivo tehničke analize, bitno je imati alate koji omogućuju nam da mjerimo što korisnici rade unutar aplikacijeKako se korisnici kreću po ekranima, gdje se javljaju pogreške, koje kampanje donose kvalitetan promet, a koje ne. Raspon platformi za mobilnu analitiku je ogroman, stoga je bitno jasno definirati svoje poslovne potrebe prije nego što odaberete jednu.
Prvi filter uključuje pitanje treba li vam, uz dobivanje metrika korištenja i performansi, alat promovirati suradnju između timova (proizvod, marketing, UX, razvoj, podrška) ili vam omogućuje istovremenu analizu podataka aplikacije i mobilnog weba. Drugi važan kriterij je integracija s drugim rješenjima koja već koristite, kao što su CRM-ovi, alati za automatizaciju marketinga ili platforme za eksperimentiranje.
Među najčešće korištenim rješenjima u Android ekosustavu, Firebase se ističe kao fleksibilna razvojna platforma, hosting i integrirana analitikaFirebase vam omogućuje izradu aplikacija za Android, iOS i web koristeći njegovu infrastrukturu baze podataka i autentifikacije, a istovremeno nudi robustan sustav za analitiku i izvještavanje o greškama.
U svojoj ulozi analitičkog alata, Firebase omogućuje prikupiti kvantitativne podatke o korištenju, prometu i interakciji, generirati automatske i prilagođene događaje (do nekoliko stotina), pratiti gdje i koliko često aplikacija ne uspijeva te podržavati marketinške ili proizvodne odluke objektivnim podacima umjesto pretpostavki.
Još jedna platforma koja je uvelike usmjerena na proizvode i digitalno iskustvo je Contentsquare, koja ide korak dalje od klasičnih metrika i ponuda. detaljno mapiranje korisničkog putovanja, toplinske karte, snimke sesija i analiza pogrešakaNjegov je cilj pomoći u razumijevanju ne samo što se događa u aplikaciji, već i zašto se određena ponašanja događaju: gdje se korisnici zaglave, koja područja sučelja ignoriraju ili koji elementi stvaraju frustraciju.
Moduli poput Putovanja pružaju globalni pogled na potpuna putovanja od trenutka kada korisnik uđe do trenutka kada ode Aplikacija ili mobilna web-lokacija se analizira, identificirajući ključne rute koje vrijedi optimizirati. Heatmape vizualiziraju područja na koja se najviše klika ili su zanemarena, Session Replay pregledava pojedinačne sesije kako bi otkrio obrasce (na primjer, ponovljeni klikovi zbog ljutnje na isti CTA), a Product Analytics analizira metrike kao što su usvajanje značajki, stopa konverzije, akvizicija i percipirani trud.
Contentsquare također uključuje modul za analizu pogrešaka koji grupirati tehničke i funkcionalne pogreške prema utjecajupomaže u određivanju prioriteta koje treba prvo popraviti, a funkcije kvantifikacije utjecaja prevode te probleme u gubitke u konverziji, prihodu ili zadržavanju zaposlenika, što je vrlo korisno prilikom opravdavanja promjena dionicima.
Zanimljiva studija slučaja je ona tima koji je, koristeći ovu vrstu analize proizvoda, potvrdio svoju sumnju da Zaslon za potpis na mobilnim uređajima bio je zbunjujući za korisnike.Uspoređujući podatke s weba i mobilnih uređaja, vidjeli su da su mobilne konverzije bile znatno niže, detaljno su istražili mobilno iskustvo, redizajnirali stranicu s potpisom s pristupom koji je prvenstveno usmjeren na mobilne uređaje i uspjeli značajno poboljšati prilagodbu različitim uređajima.
Napredna segmentacija korisnika i analiza ponašanja
Kako bi se dublje istražilo ponašanje korisnika, neke platforme su visoko specijalizirane za segmentacija i stvaranje kohortiMixpanel je jedan od najpoznatijih primjera, dizajniran i za proizvod i za marketing, a usmjeren je na vizualizaciju putova do konverzije i analizu ponašanja različitih korisničkih skupina.
U Mixpanelu, korisnici se mogu grupirati u kohorte prema izvršene radnje ili dijeljeni atributiNa primjer, ljudi koji su započeli plan plaćanja u posljednjih 30 dana, korisnici koji su isprobali određenu značajku ili kupci koji su obavili barem dvije kupnje. Snaga sustava leži u njegovim prilagođenim svojstvima i logici segmentacije, koja omogućuje stvaranje složenih segmenata.
Prilagođena svojstva mogu se kombinirati atributi događaja, korisnika ili grupa u novim, općenitijim svojstvima. Na primjer, grupiranje različitih UTM izvora društvenih medija (Facebook, Instagram, Twitter) pod svojstvom "Društveno" radi analize njihovog kombiniranog ponašanja. Logika segmentacije omogućuje vam stvaranje segmenata koji su izvršili određene kombinacije radnji, kao što je kupnja i proizvoda A i proizvoda B.
Još jedan istaknuti alat, ovaj put s jakim naglaskom na privatnost, je Countly, rješenje za mobilnu, web i desktop analitiku koje se može implementirati na vlastitu infrastrukturu tvrtke, dajući apsolutna kontrola nad podacimaTo je posebno zanimljivo za regulirane sektore ili tvrtke sa strogim zahtjevima usklađenosti.
Countly nudi poboljšanu sigurnost, pristup detaljnim podacima u stvarnom vremenu (bogati profili, metrike angažmana na individualnoj razini) i module usmjerene na analizirati lojalnost kupaca i otkriti odljev kupacaNjegov „Centar za usklađenost“ omogućuje vam upravljanje prikupljanjem podataka u skladu s privolama, kao i zahtjevima za izvoz ili brisanje, u skladu s propisima o zaštiti podataka.
Marketinške i pretplatničke platforme s integriranom analitikom
Kada je glavni cilj mobilni marketing, postoje specifična rješenja koja kombiniraju mjerenje, segmentacija i provedba kampanje na jednoj platformi. Localytics je dobar primjer: integrira analitiku aplikacija s alatima za razmjenu poruka i personalizaciju, što ga čini vrlo privlačnim marketinškim timovima kojima je potreban jedinstveni sustav.
Localytics nudi detaljna izvješća o kampanjama za pregled Koje radnje imaju najveći utjecaj na konverziju, zadržavanje korisnika, povrat ulaganja, odljev korisnika i deinstalacije?Njegove mogućnosti prediktivne analitike pomažu u identificiranju korisnika s visokom vjerojatnošću konverzije ili odustajanja, omogućujući slanje personaliziranih poruka u pravom trenutku.
Platforma također uključuje pametne module za prilagodbu za kreirajte segmente na temelju profila, ponašanja i povijesti i odatle pokretati kampanje i iskustva prilagođena korisničkom kontekstu, što značajno poboljšava relevantnost poruka.
U području aplikacija za pretplatu, RevenueCat je postao ključni alat za mnoge timove. S relativno lako integrirajućim SDK-om, omogućuje upravljajte mobilnim pretplatama, prikupljajte ciljane analitičke podatke, pa čak i testirajte naplatne zidove bez potrebe za iznova izmišljanjem kotača u svakom projektu.
RevenueCat pruža nadzornu ploču usmjerenu na metrike pretplate: aktivna probna razdoblja, konverzije probnih razdoblja, aktivni korisnici, prihod i MRR. Također nudi prilagodljivi grafikoni s filterima i segmentacijom da biste vidjeli, na primjer, kako se ponavljajući prihodi raspoređuju po zemlji ili vrsti plana.
Jedna od njegovih prednosti je A/B testiranje cijena i paywall-ova, što omogućuje Isprobajte različite kombinacije cijena, paketa i promocija i izmjerite utjecaj svake varijante na cijeli tok pretplate, od prvog posjeta sustavu plaćanja do dugoročnog zadržavanja.
Za praćenje složenih aplikacija, AppDynamics nudi full-stack pristup nadzoru, koji obuhvaća sve od mikroservisa i serverless funkcija do javnih i privatnih API-ja, pa čak i samih mobilnih aplikacija. Njegov cilj je brzo otkrivanje problema s performansama i utvrđivanje uzrokabilo da je u kodu, u ovisnosti ili u vanjskoj usluzi.
AppDynamics vam omogućuje povezivanje podataka s mobilnih uređaja, preglednika i prilagođenih korisnika s Usporedite iskustvo između različitih verzija aplikacije i pogledajte gdje UX pati. Sadrži spremne widgete za izradu detaljnih nadzornih ploča i sintetički modul za praćenje koji simulira korisničke tokove i API pozive, otkrivajući pogreške prije nego što utječu na stvarne ljude.
Konačno, AppsFlyer se posebno fokusira na marketinške timove koji trebaju mjeriti, pripisivati i štititi svoje mobilne kampanje. Nudi rješenja u rasponu od osnovne analitike do naprednih značajki, s posebnim naglaskom na... otkrivanje prijevara u oglašavanju (na primjer, botovi koji generiraju lažne klikove).
Osim zaštite od prijevare, AppsFlyer vam omogućuje definiranje prilagođeni događaji u aplikaciji povezati KPI-jeve poput ROI-ja ili doživotne vrijednosti s određenim radnjama korisnika. Također uključuje testove inkrementalnosti za procjenu koliko bi se konverzija postiglo bez plaćenih kampanja i time izmjeriti stvarni utjecaj ulaganja u oglašavanje.
Kao dodatak svim ovim kvantitativnim analizama, vrijedi razmotriti alate poput AppFollowa, koji se fokusiraju na Pratite ocjene i recenzije na App Storeu i Google PlayuZahvaljujući analizi sentimenta, moguće je vidjeti evoluciju tona recenzija i usporediti razdoblja, dobivajući jasne tragove o tome kako korisnici doživljavaju kvalitetu i iskustvo aplikacije.
Sigurnosna revizija i napredna analiza s Inspeckageom
Kada cilj nije toliko marketing ili proizvod, već provjeriti sigurnost, analizirati zlonamjerni softver ili pregledati unutarnje ponašanje aplikacijeU obzir dolaze specifičniji okviri. Jedan od najzanimljivijih u Android ekosustavu je Inspeckage (Android Package Inspector), koji funkcionira kao Xposed modul.
Inspeckage postavlja poslužitelj na samom Android uređaju, dostupan putem adb-a s računala, i omogućuje vam pregled događaji u stvarnom vremenu koji se odvijaju na uređaju dok je aplikacija pokrenutaZa razliku od drugih analitičkih okruženja poput MobSF-a ili AppMona, njegova velika prednost je što omogućuje promatranje događaja bez zaustavljanja dinamičke analize i jednostavno konfiguriranje hookova na određenim metodama.
Kod alata dostupan je na GitHubu, a može se nabaviti i kao APK iz Trgovine Play ili Xposed repozitorija. Nakon što je modul instaliran, omogućen je u Xposedu i može se vidjeti u glavnom sučelju. status poslužitelja, mrežno sučelje, port i adb naredba potrebno za povezivanje s lokalnog računala.
Aplikacija prikazuje popis aplikacija na uređaju, s mogućnošću odabira samo korisničkih aplikacija ili uključivanja i sistemskih aplikacija. To je dostupno u bočnom izborniku. Konfigurirajte sučelje i port, omogućite autentifikaciju korisničkim imenom i lozinkom i prilagoditi ostale parametre poslužitelja.
Nakon odabira i pokretanja aplikacije, započinje dinamička analiza. Iz preglednika računala pristupa se web stranici koju hostira uređaj, gdje se prikazuje izbornik s gumbima za [nejasno - moguće "prilike" ili "funkcije"]. Preuzmite APK ili podatke iz interne memorije, snimiti snimke zaslona, primijeniti različite konfiguracije (kao što je onemogućavanje FLAG_SECURE, ponovno pokretanje aplikacije, odabir proxyja ili odabir vrsta događaja za snimanje) i osvježiti rezultate u stvarnom vremenu.
Inspeckage također nudi prečace za otvaranje kartice s LogCatom, provjeru je li aplikacija ili modul pokrenut te skrivanje ili prikaz panela s detaljima. Prikazuje se panel s informacijama o aplikaciji. naziv paketa, UID, GUID, status sigurnosne kopije i pristup internoj pohrani poput TreeViewa, s kojeg se datoteke mogu preuzeti jednim klikom.
Glavni dio izvješća organiziran je u različite kartice: jedna s aktivnosti, dopuštenja, usluge, pružatelji sadržaja, prijemnici emitiranja i dijeljene biblioteke, s opcijama za pokretanje aktivnosti ili konzultacije s pružateljima usluga; još jedan posvećen SharedPreferences, koji se može pregledavati i u formatu zapisnika (za procjenu promjena varijabli tijekom vremena) i u trenutnom stanju datoteke.
Jedna vrlo moćna značajka je snimanje svih kriptografska aktivnost aplikacijeOvaj odjeljak prikazuje korištene algoritme, ključeve i šifrirane informacije. Kartica "Hash" sadrži sve vrijednosti na koje se primjenjuju hash funkcije i vrstu funkcije koja se koristi u svakom slučaju.
Odjeljak "Datotečni sustav" navodi sve datoteke s kojima je aplikacija komunicirala, što je korisno za otkrivanje stvara li sumnjive datoteke ili preuzima li aplikacije iz neslužbenih izvora. Kartica "IPC" prikazuje pokušaje međuprocesne komunikacije pomoću namjera.
Kartica „Hooks“ objedinjuje aktivnosti svih metoda na kojima su konfigurirane prilagođene hooks funkcije. Njihovo stvaranje je relativno jednostavno zahvaljujući grafičkom sučelju gdje možete Navedite metodu presretanja i vrstu udiceMogu se definirati udice koje mijenjaju ulazne parametre metode ili povratnu vrijednost, otvarajući vrata brojnim scenarijima testiranja.
Dodatne funkcije mogu se pronaći u bočnom izborniku. manipulirati vrijednostima otiska prsta uređaja ili GPS koordinatamaTo pomaže u zaobilaženju mehanizama detekcije emulatora ili lažiranja lokacije. Osim navedenog, Inspeckage može bilježiti upite baze podataka, mrežni promet, WebViews i druge resurse kojima pristupaju pružatelji sadržaja.
Zahvaljujući ovom opsežnom skupu mogućnosti, Inspeckage se smatra Vrlo sveobuhvatan alat za smanjenje vremena analize uzoraka, posebno korisno za one koji tek počinju s analizom mobilnog zlonamjernog softvera ili sigurnosnim revizijama Android aplikacija.
Sigurnosne metodologije, prijetnje i laboratorij za testiranje
Trenutni kontekst, s milijardama aktivnih Android uređaja i aplikacija koje rukuju osjetljivim podacima (bankarstvo, zdravstvo, obrazovanje itd.), čini nužnim poduzeti sljedeće korake. sigurnost tijekom cijelog životnog ciklusa aplikacijeNe radi se samo o izbjegavanju očitih pogrešaka, već o poštivanju propisa poput GDPR-a ili industrijskih standarda poput PCI DSS-a prilikom obrade plaćanja.
Android aplikacije izložene su brojnim prijetnjama, od kojih su mnoge obrađene u projektima kao što su OWASP Mobile Top 10Među najkritičnijim problemima možemo istaknuti nepravilnu upotrebu platforme (neiskorištavanje izvornih sigurnosnih mehanizama, loše upravljane dozvole, zlouporaba izloženih API-ja), nesigurnu pohranu podataka (nešifrirane baze podataka, zapisnici s osjetljivim informacijama, slabo zaštićeni kolačići) ili nesigurne komunikacije (korištenje zastarjelih protokola ili nešifriranog prometa).
Problemi s loša autentifikacija i upravljanje sesijama (slabe lozinke, sesije koje ne istječu, slabo zaštićeni tokeni), nedovoljna enkripcija koja omogućuje pristup podacima fizičkim napadačima ili zlonamjernom softveru i propusti u autorizaciji koji otvaraju vrata eskalaciji privilegija putem automatiziranih napada.
Na strani razvoja, kvaliteta koda na strani klijenta je ključna: loše prakse, nedostatak kontrole pogrešaka ili loše implementirane sigurnosne funkcije To može dovesti do prelijevanja međuspremnika i drugih ranjivosti. Tome se dodaje rizik od modifikacije koda (zlonamjerni binarni zakrpe, izmijenjeni resursi itd.). lažne aplikacije koje se predstavljaju kao legitimne), obrnuti inženjering APK-a i prisutnost „skrivenih“ ili funkcionalnosti za otklanjanje pogrešaka koje nisu onemogućene u produkciji.
Kako bi se riješile ove prijetnje, projekt OWASP Mobile Application Security (MAS) predlaže metodologija i kontrolna lista sigurnosnih zahtjeva pokrivajući nekoliko domena: sigurnu arhitekturu i dizajn, privatnost i pohranu podataka, pravilnu kriptografiju, autentifikaciju i upravljanje sesijama, sigurnu mrežnu komunikaciju, interakciju platforme, kvalitetu koda i konfiguraciju izgradnje te mehanizme otpornosti na strani klijenta.
Evaluacija ovih zahtjeva obično kombinira statičku i dinamičku analizu. U statičkom dijelu, artefakti poput izvorni kod, dekompilirani kod, binarne datoteke i pridružene datoteke Bez pokretanja aplikacije, potencijalne ranjivosti mogu se zaključiti iz metapodataka, poziva funkcija i toka programa. Alati poput Mare (okvir za analizu koji omogućuje rastavljanje i dekompiliranje APK-ova, defuzzifikaciju, analizu stringova, izdvajanje dozvola itd.), samog APK Analyzera i rješenja poput JAADAS-a za statičku IPC analizu posebno su korisni u ovoj fazi.
S druge strane, u dinamičkoj analizi aplikacija se izvodi u kontroliranom okruženju i njezino se ponašanje promatra pod različitim uvjetima. Tu se koriste alati poput Drozer, koji komunicira s virtualnim strojem Dalvik, IPC krajnjim točkama i operativnim sustavom za pronalaženje ranjivosti; Burp Suite, koji radi kao web proxy za hvatanje i manipuliranje prometom između aplikacije i poslužitelja; i Inspeckage, dizajniran za instrumentiranje i promatranje aplikacije u stvarnom vremenu pomoću hookova na Android API-ju.
Postoje i hibridni okviri poput Mobile Security Frameworka (MobSF), koji kombiniraju statičku i dinamičku analizu i pomažu u organizirati sveobuhvatnije revizije iz jednog alata. Za one koji žele vježbati, vrlo učinkovit način učenja je rad s namjerno ranjivim aplikacijama.
Među tim aplikacijama za vježbu su projekti poput InsecureShopa (ranjiva online trgovina s gotovo dvadeset iskorištavajućih nedostataka, većina bez potrebe za rootom), AndroGoata (prva ranjiva aplikacija razvijena u Kotlinu, s nekoliko desetaka različitih ranjivosti), InsecureBank V2 (bankarska aplikacija s Python backendom, dizajnirana s više slabosti) i Crackmesa iz samog MAS projekta, strukturiranog u nekoliko razina težine tipa CTF.
Ukratko, analiza Android aplikacija uključuje mnogo više od pukog pregledavanja dozvola ili brojanja preuzimanja. Uključuje kombiniranje Alati za pregled APK-ova, okruženja za dinamičku analizu, sigurnosne metodologije i platforme za analitiku proizvoda i marketingaKada se svi ovi dijelovi integriraju u životni ciklus aplikacije, rezultat su sigurnije i učinkovitije aplikacije koje su usklađene sa stvarnim potrebama korisnika i poslovanja.