
Danes živimo s tisoči aplikacij na svojih mobilnih telefonih, pa vendar le malo ljudi zares ve, kako jih uporabljati. Kaj točno počne vsaka aplikacija za Android v notranjosti?Katera dovoljenja uporablja oziroma kako vpliva na delovanje in varnost naprave? Za razvijalce, varnostne revizorje in marketinške ekipe razumevanje in analiziranje aplikacij za Android ni več neobvezno: je ključna komponenta za ustvarjanje zanesljivih, hitrih in učinkovitih izdelkov. spoštovati zasebnost.
V tem članku boste našli popoln pregled Analiza aplikacij za Android z več zornih kotovOrodja za pregledovanje datotek APK in nameščenih aplikacij, razvojni pripomočki, kot je analizator datotek Android Studio APK, ogrodja za revizijo, kot je Inspeckage, varnostne metodologije, kot je OWASP MAS, in celovit pregled glavnih platform za mobilno analitiko (Firebase, Contentsquare, Mixpanel, Countly, Localytics, RevenueCat, AppDynamics in AppsFlyer). Vse je razloženo v španščini (Španija), s prijaznim tonom, vendar brez žrtvovanja tehnične natančnosti.
Kaj je analiza aplikacij za Android in za kaj se uporablja?
Ko govorimo o analizi aplikacij za Android, se lahko sklicujemo na oboje tehnično analizirati APK (dovoljenja, koda, manifest, storitve itd.) ter preučevanje meritev uporabe, vedenja uporabnikov, delovanja, napak ali celo oglaševalskih goljufij. To sta dva različna, a dopolnjujoča se svetova: tehnični vidik zagotavlja, da je aplikacija varna in robustna; vidik analitike izdelka pa vam omogoča, da razumete, ali aplikacija izpolnjuje svoje poslovne cilje.
S tehničnega vidika lahko analizo razdelimo na statična analiza in dinamična analizaStatično spremljanje preučuje APK ali kodo brez izvajanja (dekompilacija, analiza dovoljenj, pregled datoteke AndroidManifest.xml itd.). Dinamično spremljanje opazuje vedenje aplikacije med njenim izvajanjem, beleži omrežni promet, klice občutljivih API-jev, uporabo kriptografije ali ustvarjanje datotek.
Na področju uporabniške izkušnje in poslovne analitike je poudarek na Razumevanje, kako ljudje uporabljajo aplikacijo, kje se zataknejo in zakaj jo pretvorijo v aplikacijo ali jo opustijoTukaj pridejo v poštev sistemi za sledenje dogodkov, toplotni zemljevidi, snemanje sej, nadzorne plošče za prihodke, lijaki konverzij in orodja za mobilni marketing.
Orodja za analizo APK-jev in nameščenih aplikacij
Za začetek razumevanja, kaj aplikacija za Android počne interno, obstajajo specializirani pripomočki, ki vam omogočajo pregled nameščenih APK-jev ali shranjenih datotek .apk v napravi. Ta orodja prikazujejo vse od osnovnih podatkov (ime, različica, velikost) do zelo natančnih podrobnosti, kot so dovoljenja, storitve v ozadju ali digitalni podpis.
Ena izmed najbolj priljubljenih aplikacij na tem področju je analizator APK-jev z odprto kodo, ki se ponaša s tem, da je Najbolj prenašana aplikacija za analizo APK-jev v trgovini Google PlayTo orodje vam omogoča ustvarjanje zelo popolnega poročila o že nameščenih aplikacijah in datotekah .apk, ki še niso bile nameščene, kar je odlično za preverjanje aplikacije, preden ji omogočite dostop do naprave.
Tipično poročilo vsebuje informacije, kot so ime aplikacije, različica, minimalne in ciljne različice AndroidaDatumi namestitve in posodobitve, podatki o potrdilih in podpisih, uporabljena dovoljenja (z opisom), dejavnosti, storitve, sprejemniki oddaj in ponudniki vsebin. Podrobno opisuje tudi strojne zahteve (obvezne in neobvezne) ter ponuja celotno različico datoteke AndroidManifest.xml z možnostjo shranjevanja v človeku berljivi obliki.
Druga ključna funkcija je sposobnost izvleči APK nameščene aplikacije in ga shranite v pomnilnik naprave ter izvozite ikono. To je uporabno za revizijo, ustvarjanje varnostnih kopij, testiranje v izoliranih okoljih ali preprosto pregledovanje določene različice pred posodobitvijo.
Ta vrsta analizatorja običajno vključuje tudi posebne razdelke za dovoljenja in zbirna statistikaPo eni strani vam omogoča seznam vseh dovoljenj, ki jih zahtevajo aplikacije naprave, ogled aplikacij, ki zahtevajo posamezno dovoljenje, ogled opisa in ravni zaščite ter enostavno iskanje aplikacij, ki najbolj zahtevajo privilegije. Po drugi strani pa ponuja statistiko o nameščeni zbirki aplikacij: porazdelitev ciljnih različic Androida, vrste podpisov, povprečno število dejavnosti ali dovoljenj na aplikacijo itd.
Analizator in apkanalyzer datotek za Android Studio
Za tiste, ki razvijajo v Android Studiu, Googlova platforma vključuje Zmogljiv analizator APK-jev, integriran v razvojno okoljeTo orodje lahko odprete tako, da APK ali paket aplikacij povlečete v okno urejevalnika, dvokliknete APK v mapi za gradnjo ali pa v meniju Gradnja pod možnostjo »Analiziraj APK«. Na voljo je tudi različica ukazne vrstice, imenovana apkanalizator.
Analizator APK vam omogoča hierarhično raziskovanje vsebine datoteke, kar je notranje podobno ZIP datoteka z organiziranimi mapami in datotekamiVsaka entiteta (mapa ali datoteka) prikazuje svojo velikost surove datoteke in oceno velikosti stisnjenega prenosa, kot jo posreduje Google Play, skupaj z odstotkom, ki ga predstavlja v skupni velikosti. To pomaga hitro prepoznati, kateri viri, knjižnice ali datoteke DEX porabljajo največ prostora.
Zelo zanimiva točka je način, kako APK Analyzer Ponovno zgradite končno datoteko AndroidManifest.xmlV projektih z več različicami izdelkov ali knjižnicami z lastnimi manifesti se vse te datoteke med prevajanjem združijo v eno samo datoteko. APK ostane v binarni obliki, vendar ga razčlenjevalnik pretvori nazaj v berljiv XML, ki prikazuje točno tak manifest, kot ga bo sistem videl v napravi, in olajša zaznavanje sprememb, ki jih uvede postopek gradnje.
Ta pregledovalnik manifestov vključuje tudi zmogljivosti lintTo vas opozori na napake in opozorila, kot so neprepoznane sheme XML. Nekatera opozorila (na primer tista za neregistrirane sheme) je varno prezreti in jih je mogoče preprečiti tako, da shemo dodate na seznam prezrtih v nastavitvah Android Studia.
Druga temeljna komponenta APK Analyzerja je pregledovalnik datotek DEX, ki ponuja števci za razrede, pakete, definirane in referencirane metodeTo je med drugim uporabno za preverjanje, ali se približujete omejitvi 64 tisoč metod na DEX, za odločitev, ali omogočiti multidex ali pa je treba odstraniti odvisnosti.
Drevo razredov prikazuje metode, definirane v DEX-u, in metode, na katere se sklicuje (vključno s tistimi iz knjižnic tretjih oseb in standardnih API-jev za Android in Java). Orodje razlikuje med obema in pomaga razumeti, kateri del proračuna metode je posledica kode po meri in kateri delež odvisnosti.
Pogled DEX ima tudi funkcije filtri za prikaz ali skrivanje polj, metod in referenciranih metodPri razširjanju razreda lahko izberete, ali želite videti samo lokalne definicije ali vse zunanje reference. Elementi, prikazani v poševnem tisku, označujejo reference brez definicije v tem DEX-u; torej metode ali polja, ki se nahajajo v drugih datotekah DEX ali v ogrodju.
Za projekte, ki uporabljajo zakrivanje in zmanjšanje kode s ProGuardom ali R8, analizator omogoča nalaganje datoteke za preslikavo (mapping.txt), seeds.txt in usage.txt prihajajo iz iste gradnje. Po uvozu so omogočene dodatne funkcije: razkrivanje imen za obnovitev izvirnih razredov in metod, označevanje vozlišč, ki jih ni mogoče izbrisati (semena), in prikaz vozlišč, ki so bila izbrisana med postopkom redukcije.
Pogovorno okno za nalaganje datotek običajno samodejno pokaže na običajno pot (aplikacija/gradnja/izhodi/preslikave/izdaja/in išče natančna imena ali imena, ki vsebujejo »mapping«, »usage« ali »semena«, ki se končajo na .txt. S temi informacijami lahko analizator prikaže zaščitene elemente krepko in prečrta tiste, ki niso več prisotni v končnem DEX-u.
Pregledovalnik DEX vključuje tudi kontekstni meni z zelo zmogljivimi funkcijami: Oglejte si bajtno kodo (smali), poiščite uporabe in ustvarite pravila ohranjanja ProGuard.Z izbiro razreda, metode ali polja lahko odprete pogovorno okno s kodo v predstavitvi smali, zaženete iskanje, kje se ta simbol uporablja v DEX-u, ali samodejno ustvarite pravilo ohranjanja, da preprečite njegovo zmanjšanje v prihodnjih gradnjah.
Poleg kode vam APK Analyzer omogoča tudi preverjanje končne različice številnih virov, kot so slike, postavitve ali sama datoteka resources.arscNa primer, lahko si ogledate lokalizirane nize v različnih jezikih in konfiguracijah, preverite, kateri vir je v dani različici prepisal katerega, ali pa si ogledate vsebino binarnih datotek, ki se običajno ne odpirajo ročno.
Končno orodje vključuje zelo uporabno funkcijo za pregledovanje gradenj: primerjava dveh APK-jev ali paketov aplikacijNalaganje trenutne različice in njena primerjava s prej objavljenim artefaktom omogoča pregled razlik v velikosti posameznih entitet, kar je idealno za razumevanje, od kod izvira povečanje teže med različicami (novi slikovni viri, dodatne knjižnice, spremembe kode itd.).
Uporaba mobilne analitike za razumevanje uporabniške izkušnje
Poleg zgolj tehnične analize je bistveno imeti orodja, ki omogočajo nam merjenje, kaj uporabniki počnejo v aplikacijiKako uporabniki krmarijo po zaslonih, kje se pojavljajo napake, katere kampanje prinašajo kakovosten promet in katere ne. Ponudba platform za mobilno analitiko je obsežna, zato je bistveno, da pred izbiro ene od njih jasno opredelite svoje poslovne potrebe.
Prvi filter vključuje vprašanje, ali poleg pridobivanja meritev uporabe in učinkovitosti delovanja sploh potrebujete orodje. spodbujati sodelovanje med ekipami (izdelek, trženje, uporabniška izkušnja, razvoj, podpora) ali ki vam omogoča hkratno analizo podatkov aplikacije in mobilnega spleta. Drugo pomembno merilo je integracija z drugimi rešitvami, ki jih že uporabljate, kot so CRM-ji, orodja za avtomatizacijo trženja ali platforme za eksperimentiranje.
Med najbolj razširjenimi rešitvami v ekosistemu Android izstopa Firebase. prilagodljiva razvojna platforma, gostovanje in integrirana analitikaFirebase vam omogoča ustvarjanje aplikacij za Android, iOS in splet z izkoriščanjem infrastrukture baze podatkov in preverjanja pristnosti, hkrati pa ponuja robusten sistem za analitiko in poročanje o napakah.
Firebase kot orodje za analitiko omogoča zbiranje kvantitativnih podatkov o uporabi, prometu in interakciji, ustvarjajo samodejne in prilagojene dogodke (do nekaj sto), spremljajo, kje in kako pogosto aplikacija odpove, ter podpirajo odločitve o trženju ali izdelkih z objektivnimi podatki namesto s predpostavkami.
Druga platforma, ki je močno osredotočena na izdelke in digitalno izkušnjo, je Contentsquare, ki gre korak dlje od klasičnih meritev in ponudb. podrobno kartiranje poti strank, toplotni zemljevidi, ponovitve sej in analiza napakNjegov cilj je pomagati razumeti ne le, kaj se dogaja v aplikaciji, temveč tudi, zakaj se pojavljajo določena vedenja: kje se uporabniki zataknejo, katera področja vmesnika ignorirajo ali kateri elementi povzročajo frustracije.
Moduli, kot so Journeys, zagotavljajo globalni pogled na celotne poti od vstopa uporabnika do odhoda Aplikacija ali mobilno spletno mesto se analizira in prepozna ključne poti, ki jih je vredno optimizirati. Toplotni zemljevidi vizualizirajo najpogosteje kliknjena ali prezrta območja, ponovitev seje pregleda posamezne seje za zaznavanje vzorcev (na primer ponavljajoči se kliki na isti poziv k dejanju zaradi jeze), analitika izdelkov pa analizira meritve, kot so sprejetje funkcij, stopnja konverzije, pridobitev in zaznani trud.
Contentsquare vključuje tudi modul za analizo napak, ki združevanje tehničnih in funkcionalnih napak po vplivupomoč pri določanju prioritet, ki jih je treba najprej odpraviti, in funkcije kvantifikacije vpliva, ki te težave pretvorijo v izgube pri konverziji, prihodkih ali zadržanju zaposlenih, kar je zelo koristno pri utemeljevanju sprememb deležnikom.
Zanimiva študija primera je študija ekipe, ki je s tovrstno analitiko izdelkov potrdila svoj sum, da Zaslon za podpis na mobilnih napravah je bil za uporabnike zmeden.Pri primerjavi spletnih in mobilnih podatkov so ugotovili, da so bile mobilne konverzije očitno nižje, podrobno so raziskali mobilno izkušnjo, preoblikovali stran s podpisom, ki je najprej namenjen mobilnim napravam, in jim je uspelo znatno izboljšati prilagajanje različnim napravam.
Napredna segmentacija uporabnikov in vedenjska analiza
Za globlji vpogled v vedenje uporabnikov so nekatere platforme zelo specializirane za segmentacija in ustvarjanje kohortMixpanel je eden najbolj znanih primerov, zasnovan tako za izdelke kot za trženje, osredotočen pa je na vizualizacijo poti do konverzije in analizo vedenja različnih uporabniških skupin.
V Mixpanelu je mogoče uporabnike razvrstiti v kohorte glede na izvedena dejanja ali deljeni atributiNa primer, ljudje, ki so v zadnjih 30 dneh začeli uporabljati plačilni načrt, uporabniki, ki so preizkusili določeno funkcijo, ali stranke, ki so opravile vsaj dva nakupa. Moč sistema je v njegovih prilagodljivih lastnostih in logiki segmentacije, ki omogoča ustvarjanje kompleksnih segmentov.
Lastnosti po meri je mogoče kombinirati atributi dogodkov, uporabnikov ali skupin v novih, bolj splošnih lastnostih. Na primer, združevanje različnih virov UTM družbenih medijev (Facebook, Instagram, Twitter) pod lastnostjo »Družbeno« za analizo njihovega skupnega vedenja. Logika segmentacije vam omogoča ustvarjanje segmentov, ki so izvedli določene kombinacije dejanj, kot je nakup izdelka A in izdelka B.
Še eno izstopajoče orodje, tokrat z močnim poudarkom na zasebnosti, je Countly, rešitev za mobilno, spletno in namizno analitiko, ki jo je mogoče namestiti na lastno infrastrukturo podjetja in ji podeljuje absolutni nadzor nad podatkiTo je še posebej zanimivo za regulirane sektorje ali podjetja s strogimi zahtevami glede skladnosti.
Countly ponuja izboljšano varnost, dostop do podrobnih podatkov v realnem času (bogati profili, meritve angažiranosti na individualni ravni) in module, namenjene analizirati zvestobo strank in odkriti odliv strankNjegovo »središče za skladnost« vam omogoča upravljanje zbiranja podatkov v skladu s soglasji, pa tudi zahteve za izvoz ali izbris, v skladu s predpisi o varstvu podatkov.
Platforme za trženje in naročnine z integrirano analitiko
Ko je glavni cilj mobilni marketing, obstajajo specifične rešitve, ki združujejo merjenje, segmentacija in izvedba kampanj na eni sami platformi. Localytics je dober primer: združuje analitiko aplikacij z orodji za sporočanje in personalizacijo, zaradi česar je zelo privlačen za marketinške ekipe, ki potrebujejo enoten sistem.
Localytics ponuja podrobna poročila o kampanjah za ogled Katera dejanja imajo največji vpliv na konverzijo, zadržanje, donosnost naložbe, odhod in odstranitve?Njegove zmogljivosti napovedne analitike pomagajo prepoznati uporabnike z veliko verjetnostjo konverzije ali opustitve, kar omogoča pošiljanje prilagojenih sporočil ob pravem trenutku.
Platforma vključuje tudi pametne module za prilagajanje ustvarite segmente na podlagi profila, vedenja in zgodovine in od tam naprej zagnati kampanje in izkušnje, prilagojene uporabnikovemu kontekstu, kar znatno izboljša ustreznost sporočil.
Na področju naročniških aplikacij je RevenueCat postal ključno orodje za številne ekipe. Z relativno enostavno integracijo SDK-ja omogoča upravljajte mobilne naročnine, zbirajte ciljno usmerjene analitične podatke in celo testirajte plačljive zidove brez potrebe po na novo izumljanju kolesa pri vsakem projektu.
RevenueCat ponuja nadzorno ploščo, osredotočeno na metrike naročnin: aktivne preizkusne različice, preizkusne konverzije, aktivni uporabniki, prihodek in MRR. Ponuja tudi prilagodljivi grafikoni s filtri in segmentacijo da si na primer ogledate, kako so ponavljajoči se prihodki porazdeljeni po državah ali vrstah načrta.
Ena od njegovih prednosti je A/B testiranje cen in plačilnih zidov, kar omogoča Preizkusite različne kombinacije cen, paketov in promocij in izmerite vpliv vsake različice na celoten naročniški lijak, od prvega obiska plačljivega zidu do dolgoročnega zadrževanja.
Za opazovanje kompleksnih aplikacij AppDynamics ponuja celovit pristop spremljanja, ki zajema vse od mikroservisov in funkcij brez strežnika do javnih in zasebnih API-jev ter celo samih mobilnih aplikacij. Njegov cilj je hitro odkrivanje težav z delovanjem in ugotavljanje vzrokane glede na to, ali je v kodi, v odvisnosti ali v zunanji storitvi.
AppDynamics vam omogoča povezovanje podatkov iz mobilnih naprav, brskalnikov in uporabnikov po meri z Primerjajte izkušnjo med različnimi različicami aplikacije in poglejte, kje trpi uporabniška izkušnja. Vsebuje že pripravljene pripomočke za izdelavo podrobnih nadzornih plošč in sintetični modul za spremljanje, ki simulira uporabniške tokove in klice API-ja ter zazna napake, preden te vplivajo na dejanske ljudi.
Nenazadnje se AppsFlyer osredotoča posebej na marketinške ekipe, ki morajo meriti, pripisovati in zaščititi svoje mobilne kampanje. Ponuja rešitve, ki segajo od osnovne analitike do naprednih funkcij, s posebnim poudarkom na ... odkrivanje oglaševalskih goljufij (na primer boti, ki ustvarjajo lažne klike).
Poleg zaščite pred goljufijami vam AppsFlyer omogoča, da določite dogodki v aplikaciji po meri povezati ključne kazalnike uspešnosti, kot sta donosnost naložbe ali življenjska vrednost, z določenimi dejanji uporabnikov. Vključuje tudi teste inkrementalnosti za oceno, koliko konverzij bi bilo doseženih brez plačanih kampanj, in s tem izmeriti dejanski vpliv naložbe v oglaševanje.
Kot dopolnilo vsem tem kvantitativnim analizam je vredno razmisliti o orodjih, kot je AppFollow, ki se osredotočajo na Spremljajte ocene in mnenja v trgovinah App Store in Google PlayZahvaljujoč analizi sentimenta je mogoče videti razvoj tona ocen in primerjati obdobja, s čimer dobimo jasne namige o tem, kako uporabniki dojemajo kakovost in izkušnjo aplikacije.
Varnostni pregled in napredna analiza z Inspeckage
Ko cilj ni toliko trženje ali izdelek, temveč pregled varnosti, analiza zlonamerne programske opreme ali pregled notranjega delovanja aplikacijeV poštev pridejo bolj specifični ogrodji. Eden najzanimivejših v ekosistemu Android je Inspeckage (Android Package Inspector), ki deluje kot modul Xposed.
Inspeckage nastavi strežnik na sami napravi Android, do katerega lahko dostopate prek adb-ja iz računalnika, in vam omogoča ogled dogodki v realnem času, ki se zgodijo v napravi med izvajanjem aplikacijeZa razliko od drugih analitičnih okolij, kot sta MobSF ali AppMon, je njegova velika prednost, da omogoča opazovanje dogodkov brez ustavitve dinamične analize in enostavno konfiguriranje kavljev na določenih metodah.
Koda orodja je na voljo na GitHubu in jo je mogoče dobiti tudi kot APK iz Trgovine Play ali repozitorija Xposed. Ko je modul nameščen, je omogočen v Xposedu in ga je mogoče videti v glavnem vmesniku. stanje strežnika, omrežni vmesnik, vrata in ukaz adb potrebno za povezavo z lokalnega računalnika.
Aplikacija prikaže seznam aplikacij v napravi z možnostjo izbire samo uporabniških aplikacij ali vključitve tudi sistemskih aplikacij. To je na voljo v stranskem meniju. Konfigurirajte vmesnik in vrata, omogočite preverjanje pristnosti z uporabniškim imenom in geslom in prilagodite druge parametre strežnika.
Po izbiri in zagonu aplikacije se začne dinamična analiza. Iz brskalnika računalnika se dostopa do spletne strani, ki jo gosti naprava, kjer se prikaže meni z gumbi za [nejasno - morda "priložnosti" ali "funkcije"]. Prenesite APK ali podatke iz notranjega pomnilnika, naredite posnetke zaslona, uporabite različne konfiguracije (kot so onemogočanje FLAG_SECURE, ponovni zagon aplikacije, izbira proxyja ali izbira vrst dogodkov, ki jih želite zabeležiti) in osvežite rezultate v realnem času.
Inspeckage ponuja tudi bližnjice za odpiranje zavihka z LogCat, preverjanje, ali se aplikacija ali modul izvaja, in skrivanje ali prikazovanje plošč s podrobnostmi. Prikaže se plošča s podatki o aplikaciji. ime paketa, UID, GUID, stanje varnostne kopije in dostop do notranjega pomnilnika, podoben TreeViewu, iz katerega je mogoče datoteke prenesti z enim klikom.
Glavni del poročila je organiziran v različne zavihke: eden z dejavnosti, dovoljenja, storitve, ponudniki vsebin, sprejemniki oddaj in deljene knjižnice, z možnostmi za zagon dejavnosti ali posvetovanje s ponudniki; še en, namenjen skupnim nastavitvam (SharedPreferences), ki si jih je mogoče ogledati tako v obliki dnevnika (za oceno sprememb spremenljivk skozi čas) kot v trenutnem stanju datoteke.
Zelo močna funkcija je snemanje vseh kriptografska aktivnost aplikacijeV tem razdelku so prikazani uporabljeni algoritmi, ključi in šifrirane informacije. Zavihek »Hash« vsebuje vse vrednosti, na katere se uporabljajo zgoščevalne funkcije, in vrsto uporabljene funkcije v vsakem primeru.
V razdelku »Datotečni sistem« so navedene vse datoteke, s katerimi je aplikacija komunicirala, kar je uporabno za zaznavanje, ali ustvarja sumljive datoteke ali prenaša aplikacije iz neuradnih virov. Zavihek »IPC« prikazuje poskuse komunikacije med procesi z uporabo namenov.
Zavihek »Hooks« združuje aktivnost vseh metod, na katerih so bili konfigurirani kavlji po meri. Njihovo ustvarjanje je relativno preprosto zaradi grafičnega vmesnika, kjer lahko Navedite način prestrezanja in vrsto trnkaDefinirati je mogoče kavlje, ki spreminjajo vhodne parametre ali vrnjeno vrednost metode, kar odpira vrata številnim testnim scenarijem.
Dodatne funkcije najdete v stranskem meniju. manipulirati z vrednostmi prstnih odtisov naprave ali GPS koordinatamiTo pomaga pri izogibanju mehanizmom zaznavanja emulatorja ali ponarejanju lokacije. Poleg zgoraj navedenega lahko Inspeckage beleži poizvedbe v zbirki podatkov, omrežni promet, spletne poglede in druge vire, do katerih dostopajo ponudniki vsebin.
Zaradi tega obsežnega nabora zmogljivosti velja Inspeckage za Zelo celovito orodje za skrajšanje časa analize vzorcev, še posebej uporabno za tiste, ki se šele začenjajo ukvarjati z analizo zlonamerne programske opreme za mobilne naprave ali varnostnimi pregledi aplikacij za Android.
Varnostne metodologije, grožnje in testni laboratorij
Trenutni kontekst, z milijardami aktivnih naprav in aplikacij Android, ki obdelujejo občutljive podatke (bančništvo, zdravstvo, izobraževanje itd.), nujno zahteva ukrepanje. varnost skozi celoten življenjski cikel aplikacijeNe gre le za izogibanje očitnim napakam, temveč za skladnost s predpisi, kot je GDPR ali industrijskimi standardi, kot je PCI DSS, pri obdelavi plačil.
Aplikacije za Android so izpostavljene številnim grožnjam, od katerih jih je veliko obravnavanih v projektih, kot so OWASP Mobile Top 10Med najbolj kritičnimi težavami lahko izpostavimo nepravilno uporabo platforme (neizkoriščanje izvornih varnostnih mehanizmov, slabo upravljana dovoljenja, zloraba izpostavljenih API-jev), nezaščiteno shranjevanje podatkov (nešifrirane baze podatkov, dnevniki z občutljivimi informacijami, slabo zaščiteni piškotki) ali nezaščitene komunikacije (uporaba zastarelih protokolov ali nešifriranega prometa).
Težave z slabo preverjanje pristnosti in upravljanje sej (šibka gesla, seje, ki ne potečejo, slabo zaščiteni žetoni), nezadostno šifriranje, ki omogoča dostop do podatkov fizičnim napadalcem ali zlonamerni programski opremi, in napake pri avtorizaciji, ki odpirajo vrata za stopnjevanje privilegijev z avtomatiziranimi napadi.
Na strani razvoja je ključna kakovost kode na strani odjemalca: slabe prakse, pomanjkanje nadzora napak ali slabo izvedene varnostne funkcije To lahko povzroči preobremenitve medpomnilnika in druge ranljivosti. K temu se doda še tveganje spreminjanja kode (zlonamerni binarni popravki, spremenjeni viri itd.). lažne aplikacije, ki se izdajajo za legitimne), obratni inženiring APK-ja in prisotnost »skritih« ali razhroščevalnih funkcij, ki v produkciji niso onemogočene.
Za reševanje teh groženj projekt OWASP Mobile Application Security (MAS) predlaga metodologija in kontrolni seznam varnostnih zahtev zajema več področij: varno arhitekturo in zasnovo, zasebnost in shranjevanje podatkov, ustrezno kriptografijo, preverjanje pristnosti in upravljanje sej, varno omrežno komunikacijo, interakcijo platform, kakovost kode in konfiguracijo gradnje ter mehanizme odpornosti na strani odjemalca.
Vrednotenje teh zahtev običajno združuje statično in dinamično analizo. V statičnem delu se upoštevajo artefakti, kot so izvorna koda, dekompilirana koda, binarne datoteke in povezane datoteke Brez zagona aplikacije je mogoče iz metapodatkov, klicev funkcij in poteka programa sklepati na morebitne ranljivosti. Na tej stopnji so še posebej uporabna orodja, kot je Mara (ogrodje za analizo, ki omogoča razstavljanje in dekompiliranje APK-jev, defuzzifikacijo, analizo nizov, ekstrakcijo dovoljenj itd.), sam APK Analyzer in rešitve, kot je JAADAS za statično analizo IPC.
Pri dinamični analizi pa aplikacija deluje v nadzorovanem okolju in njeno vedenje se opazuje v različnih pogojih. Tukaj se uporabljajo orodja, kot so Drozer, ki komunicira z virtualnim strojem Dalvik, končnimi točkami IPC in operacijskim sistemom. za iskanje ranljivosti; Burp Suite, ki deluje kot spletni posrednik za zajemanje in manipulacijo prometa med aplikacijo in strežnikom; in Inspeckage, zasnovan za instrumentiranje in opazovanje aplikacije v realnem času z uporabo kavljev v Android API-ju.
Obstajajo tudi hibridni ogrodji, kot je Mobile Security Framework (MobSF), ki združujejo statično in dinamično analizo ter pomagajo pri organizirati obsežnejše revizije iz enega samega orodja. Za tiste, ki želijo vaditi, je zelo učinkovit način učenja delo z namerno ranljivimi aplikacijami.
Med temi vadbenimi aplikacijami so projekti, kot so InsecureShop (ranljiva spletna trgovina s skoraj dvajsetimi izkoriščevalnimi napakami, večina brez potrebe po rootu), AndroGoat (prva ranljiva aplikacija, razvita v Kotlinu, z več ducati različnih ranljivosti), InsecureBank V2 (bančna aplikacija s Python zaledjem, zasnovana z več slabostmi) in Crackmes iz samega projekta MAS, strukturirani v več težavnostnih stopnjah tipa CTF.
Skratka, analiza aplikacij za Android vključuje veliko več kot le pregled dovoljenj ali štetje prenosov. Vključuje združevanje Orodja za pregledovanje APK-jev, okolja za dinamično analizo, varnostne metodologije ter platforme za analitiko izdelkov in trženjaKo so vsi ti deli integrirani v življenjski cikel aplikacije, so rezultat varnejše in učinkovitejše aplikacije, ki so usklajene z dejanskimi potrebami uporabnikov in podjetja.