Kompletan vodič za analizu Android aplikacija

  • Analiza Android aplikacija kombinuje tehničku inspekciju APK datoteka, sigurnosnu reviziju i analitiku korištenja i poslovanja.
  • Alati poput APK Analyzera, Android Studija, Inspeckagea i OWASP MAS okvira omogućavaju vam otkrivanje grešaka i optimizaciju koda.
  • Platforme za mobilnu analitiku (Firebase, Contentsquare, Mixpanel, itd.) pomažu u razumijevanju ponašanja, konverzije i performansi.
  • Integriranje sigurnosti, vidljivosti i metrike proizvoda u životni ciklus aplikacije poboljšava kvalitetu, usklađenost i povrat ulaganja.

Analiza Android aplikacija

Danas živimo s hiljadama aplikacija na našim mobilnim telefonima, a ipak malo ljudi zaista zna kako ih koristiti. Šta tačno radi svaka Android aplikacija unutra?Koje dozvole koristi ili kako utiče na performanse i sigurnost uređaja? Za programere, sigurnosne revizore i marketinške timove, razumijevanje i analiziranje Android aplikacija više nije opcionalno: to je ključna komponenta za kreiranje pouzdanih, brzih i efikasnih proizvoda. poštovati privatnost.

U ovom članku ćete pronaći kompletan pregled Analiza Android aplikacija iz više uglovaAlati za pregled APK-ova i instaliranih aplikacija, razvojni alati poput Android Studio APK Analyzera, okviri za reviziju 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 španskom (Španija), prijateljskim tonom, ali bez žrtvovanja tehničke preciznosti.

Šta je analiza Android aplikacija i za šta 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, grešaka ili čak prevara u oglašavanju. To su dva različita, ali komplementarna svijeta: tehnička strana osigurava da je aplikacija sigurna i robusna; strana analitike proizvoda vam omogućava da shvatite da li ta aplikacija ispunjava svoje poslovne ciljeve.

Sa tehničkog stanoviš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 dozvola, pregled AndroidManifest.xml datoteke, itd.). Dinamičko praćenje posmatra ponašanje aplikacije dok radi, bilježi mrežni promet, pozive osjetljivim API-jima, upotrebu kriptografije ili kreiranje datoteka.

U području korisničkog iskustva i poslovne analitike, fokus je na Razumijevanje kako ljudi koriste aplikaciju, gdje se zaglavljuju i zašto je konvertiraju ili napuštajuTu na scenu stupaju sistemi za praćenje događaja, toplotne mape, snimanje sesija, kontrolne table za prihode, prodajni tokovi i alati za mobilni marketing.

Alati za analizu APK-ova i instaliranih aplikacija

Da biste počeli razumijevati šta Android aplikacija radi interno, postoje specijalizirani uslužni programi koji vam omogućavaju da pregledati instalirane APK-ove ili pohranjene .apk datoteke na uređaju. Ovi alati prikazuju sve, od osnovnih podataka (naziv, verzija, veličina) do vrlo finih detalja kao što su dozvole, 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ćava generiranje vrlo kompletnog izvještaja o već instaliranim aplikacijama i .apk datotekama koje još nisu instalirane, što je odlično za provjeru aplikacije prije nego što joj date pristup uređaju.

Tipičan izvještaj sadrži informacije kao što su naziv aplikacije, verzija, Minimalne i ciljne verzije AndroidaDatumi instalacije i ažuriranja, podaci o certifikatima i potpisivanju, korištene dozvole (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 koji ljudi mogu čitati.

Druga ključna funkcija je sposobnost da izdvojite APK instalirane aplikacije i sačuvajte ga u memoriji uređaja, kao i izvezite ikonu. Ovo je korisno za reviziju, kreiranje sigurnosnih kopija, testiranje u izolovanim okruženjima ili jednostavno pregled određene verzije prije ažuriranja.

Ova vrsta analizatora obično uključuje i posebne odjeljke za dozvole i agregirana statistikaS jedne strane, omogućava vam da navedete sve dozvole koje zahtijevaju aplikacije uređaja, vidite koje aplikacije traže koju dozvolu, pregledate opis i nivo zaštite, te lako pronađete aplikacije koje najviše zahtijevaju privilegije. S druge strane, nudi statistiku o instaliranoj kolekciji aplikacija: distribuciju ciljnih verzija Androida, tipove potpisa, prosječan broj aktivnosti ili dozvola po aplikaciji itd.

Alat za analizu i analizu aplikacija za Android Studio APK

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 prevlačenjem APK-a ili App Bundle-a u prozor editora, dvostrukim klikom na APK u mapi za izradu ili iz menija Izgradnja pod opcijom "Analiziraj APK". Također postoji i verzija iz komandne linije pod nazivom apkanalizator.

APK Analyzer vam omogućava da hijerarhijski istražite sadržaj 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. Ovo pomaže u brzom identificiranju resursa, biblioteka ili DEX datoteka koje zauzimaju najviše prostora.

Jedna veoma zanimljiva stvar je način na koji APK Analyzer Ponovo izgradite konačnu verziju datoteke AndroidManifest.xmlU projektima s više varijanti proizvoda ili biblioteka s vlastitim manifestima, sve te datoteke se kombiniraju u jednu datoteku tokom kompajliranja. APK ostaje u binarnom formatu, ali ga parser pretvara natrag u čitljiv XML, prikazujući tačno onaj manifest koji će sistem vidjeti na uređaju i olakšavajući otkrivanje promjena uvedenih procesom izgradnje.

Ovaj preglednik manifesta također uključuje mogućnosti prikupljanja vlakanaOvo vas upozorava na greške i upozorenja, kao što su neprepoznate XML sheme. Neka upozorenja (na primjer, ona za neregistrovane sheme) se mogu sigurno ignorisati i mogu se potisnuti dodavanjem sheme na listu ignorisanih u postavkama Android Studija.

Još jedna fundamentalna komponenta APK Analyzer-a je preglednik DEX datoteka, koji nudi brojači za klase, pakete, definirane i referencirane metodeOvo je korisno, između ostalog, za provjeru da li se približavate ograničenju od 64K metoda po DEX-u, odlučivanje da li omogućiti multidex ili da li je potrebno ukloniti zavisnosti.

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 ta dva, pomažući u razumijevanju koji dio budžeta metode pripada prilagođenom kodu, a koji zavisnostima.

DEX prikaz također sadrži filteri za prikazivanje ili skrivanje polja, metoda i referenciranih metodaPrilikom proširivanja klase, možete odabrati da li želite da vidite samo lokalne definicije ili sve eksterne 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 redukciju koda sa ProGuardom ili R8, analizator omogućava učitavanje datoteke mapiranja (mapping.txt), seeds.txt i usage.txt dolaze iz iste verzije. Nakon uvoza, omogućene su dodatne funkcije: deobfuskiranje imena radi oporavka originalnih klasa i metoda, isticanje čvorova koji se ne mogu izbrisati (seeds) i prikazivanje čvorova koji su izbrisani tokom procesa redukcije.

Dijalog za otpremanje datoteka obično automatski ukazuje na uobičajenu putanju (aplikacija/izgradnja/izlazi/mapiranje/izdanje/i traži tačna imena ili imena koja sadrže "mapping", "usage" ili "seeds" koja završavaju na .txt. S ovim informacijama, analizator može prikazati zaštićene elemente podebljanim slovima i precrtati one koji više nisu prisutni u konačnom DEX-u.

DEX preglednik također uključuje kontekstni meni 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 verzijama.

Pored koda, APK Analyzer vam također omogućava da provjerite konačnu verziju mnogih resursa, kao što su slike, rasporedi ili sama datoteka resources.arscNa primjer, možete pregledati lokalizirane stringove na različitim jezicima i konfiguracijama, provjeriti koji je resurs prepisao koji u datoj varijanti ili vidjeti sadržaj binarnih datoteka koje se obično ne otvaraju ručno.

Konačno, alat uključuje vrlo korisnu funkciju za pregled verzija: uporedite dva APK-a ili App Bundle-aUčitavanje trenutne verzije i poređenje 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

Pored čisto tehničke analize, neophodno je imati alate koji omogućavaju nam da mjerimo šta korisnici rade unutar aplikacijeKako se korisnici kreću po ekranima, gdje se javljaju greške, koje kampanje donose kvalitetan promet, a koje ne. Izbor platformi za mobilnu analitiku je ogroman, stoga je bitno jasno definirati potrebe vašeg poslovanja prije nego što odaberete jednu.

Prvi filter uključuje pitanje da li vam je, pored dobijanja metrika korištenja i performansi, potreban alat promovirati saradnju između timova (proizvod, marketing, UX, razvoj, podrška) ili vam omogućava 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 ekosistemu, Firebase se ističe kao fleksibilna razvojna platforma, hosting i integrirana analitikaFirebase vam omogućava kreiranje aplikacija za Android, iOS i web koristeći njegovu infrastrukturu baze podataka i autentifikacije, a istovremeno nudi robustan sistem za analitiku i izvještavanje o greškama.

U svojoj ulozi analitičkog alata, Firebase omogućava 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 i podržavati marketinške ili proizvodne odluke objektivnim podacima umjesto pretpostavki.

Još jedna platforma koja je uveliko fokusirana na proizvode i digitalno iskustvo je Contentsquare, koja ide korak dalje od klasičnih metrika i ponuda. detaljno mapiranje korisničkog iskustva, toplotne mape, snimke sesija i analiza grešakaNjegov cilj je da pomogne u razumijevanju ne samo onoga što se događa u aplikaciji, već i zašto se određena ponašanja javljaju: gdje se korisnici zaglave, koja područja interfejsa ignorišu ili koji elementi generiraju frustraciju.

Moduli poput Putovanja pružaju globalni pogled na kompletna putovanja od trenutka kada korisnik uđe do trenutka kada izađe Aplikacija ili mobilna stranica se analiziraju, 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 na isti CTA zbog ljutnje), a Product Analytics analizira metrike kao što su usvajanje funkcija, stopa konverzije, akvizicija i percipirani trud.

Contentsquare također uključuje modul za analizu grešaka koji grupirajte tehničke i funkcionalne greške prema uticajupomažući u određivanju prioriteta koje treba prvo popraviti, i funkcije kvantifikacije utjecaja koje prevode te probleme u gubitke u konverziji, prihodu ili zadržavanju, što je vrlo korisno prilikom opravdavanja promjena pred dionicima.

Zanimljiva studija slučaja je ona tima koji je, koristeći ovu vrstu analize proizvoda, potvrdio svoju sumnju da Ekran za potpis na mobilnim uređajima bio je zbunjujući za korisnike.Prilikom poređenja podataka s weba i mobilnih uređaja, vidjeli su da su konverzije na mobilnim uređajima bile znatno niže, detaljno su istražili mobilno iskustvo, redizajnirali stranicu za potpis s pristupom koji je prvenstveno usmjeren na mobilne uređaje i uspjeli značajno poboljšati prilagođavanje različitim uređajima.

Napredna segmentacija korisnika i analiza ponašanja

Da bi se dublje istražilo ponašanje korisnika, neke platforme su visoko specijalizirane za segmentacija i kreiranje kohortiMixpanel je jedan od najpoznatijih primjera, dizajniran i za proizvod i za marketing, a fokusiran je na vizualizaciju puteva do konverzije i analizu ponašanja različitih korisničkih grupa.

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 funkciju ili kupci koji su obavili najmanje dvije kupovine. Snaga sistema leži u njegovim prilagođenim svojstvima i logici segmentacije, koja omogućava kreiranje složenih segmenata.

Prilagođena svojstva se mogu kombinovati 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" kako bi se analiziralo njihovo kombinirano ponašanje. Logika segmentacije vam omogućava da kreirate segmente koji su izvršili određene kombinacije radnji, kao što je kupovina i proizvoda A i proizvoda B.

Još jedan alat koji se ističe, ovaj put sa snažnim fokusom na privatnost, je Countly, rješenje za mobilnu, web i desktop analitiku koje se može implementirati na vlastitoj infrastrukturi kompanije, pružajući apsolutna kontrola nad podacimaOvo je posebno zanimljivo za regulirane sektore ili kompanije sa strogim zahtjevima za usklađenost.

Countly nudi poboljšanu sigurnost, pristup detaljnim podacima u stvarnom vremenu (bogati profili, metrike angažmana na individualnom nivou) i module usmjerene na analizirati lojalnost kupaca i otkriti odliv kupacaNjegov „Centar za usklađenost“ vam omogućava upravljanje prikupljanjem podataka u skladu sa saglasnostima, 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 izvođenje kampanje na jednoj platformi. Localytics je dobar primjer: integrira analitiku aplikacija s alatima za razmjenu poruka i personalizaciju, što ga čini vrlo atraktivnim za marketinške timove kojima je potreban jedinstveni sistem.

Localytics nudi detaljne izvještaje o kampanjama za pregled Koje akcije imaju najveći utjecaj na konverziju, zadržavanje korisnika, povrat ulaganja, odliv korisnika i deinstalacije?Njegove mogućnosti prediktivne analitike pomažu u identifikaciji korisnika s visokom vjerovatnoćom konverzije ili odustajanja, omogućavajući slanje personaliziranih poruka u pravom trenutku.

Platforma također uključuje pametne module za prilagođavanje kreirajte segmente na osnovu profila, ponašanja i historije i odatle, pokretati kampanje i iskustva prilagođena kontekstu korisnika, što značajno poboljšava relevantnost poruka.

U području aplikacija za pretplatu, RevenueCat je postao ključni alat za mnoge timove. Sa relativno lako integrirajućim SDK-om, omogućava upravljajte mobilnim pretplatama, prikupljajte ciljane analitičke podatke, pa čak i testirajte paywall-ove bez potrebe da se iznova izmišlja točak u svakom projektu.

RevenueCat pruža kontrolnu ploču fokusiranu 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 redovni prihodi raspoređuju po zemlji ili vrsti plana.

Jedna od njegovih prednosti je A/B testiranje cijena i paywall-ova, što omogućava Testirajte različite kombinacije cijena, paketa i promocija i izmjerite utjecaj svake varijante na cijeli tok pretplate, od prve posjete paywallu do dugoročnog zadržavanja.

Za praćenje složenih aplikacija, AppDynamics nudi full-stack pristup monitoringu, koji obuhvata sve od mikroservisa i serverless funkcija do javnih i privatnih API-ja, pa čak i samih mobilnih aplikacija. Njegov cilj je brzo otkriti probleme s performansama i utvrditi uzrokbilo da je u kodu, u zavisnosti ili u eksternom servisu.

AppDynamics vam omogućava da povežete podatke sa mobilnih uređaja, pretraživača i prilagođenih korisnika sa Uporedite iskustvo između različitih verzija aplikacije i vidite gdje UX pati. Sadrži widgete spremne za korištenje za izradu detaljnih kontrolnih ploča i sintetički modul za praćenje koji simulira korisničke tokove i API pozive, otkrivajući greške prije nego što one utiču na stvarne ljude.

Konačno, AppsFlyer se posebno fokusira na marketinške timove kojima je potrebno mjerenje, pripisivanje i zaštita njihovih mobilnih kampanja. Nudi rješenja u rasponu od osnovne analitike do naprednih funkcija, s posebnim fokusom na... otkrivanje reklamnih prevara (na primjer, botovi koji generiraju lažne klikove).

Pored zaštite od prevare, AppsFlyer vam omogućava da definišete prilagođeni događaji u aplikaciji povezati KPI-jeve kao što su ROI ili doživotna vrijednost sa specifičnim radnjama korisnika. Također uključuje testove inkrementalnosti kako bi se procijenilo koliko bi konverzija bilo postignuto bez plaćenih kampanja i na taj način izmjerio 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 uporediti periode, dobijajući jasne naznake o tome kako korisnici doživljavaju kvalitet i iskustvo aplikacije.

Sigurnosna revizija i napredna analiza uz Inspeckage

Kada cilj nije toliko marketing ili proizvod, već provjeriti sigurnost, analizirati zlonamjerni softver ili pregledati interno ponašanje aplikacijeU obzir dolaze specifičniji frameworkovi. Jedan od najzanimljivijih u Android ekosistemu je Inspeckage (Android Package Inspector), koji funkcionira kao Xposed modul.

Inspeckage postavlja server na samom Android uređaju, dostupan putem adb-a sa računara, i omogućava vam da vidite događaji u stvarnom vremenu koji se odvijaju na uređaju dok je aplikacija pokrenutaZa razliku od drugih analitičkih okruženja kao što su MobSF ili AppMon, njegova velika prednost je što vam omogućava da posmatrate događaje bez zaustavljanja dinamičke analize i jednostavno konfigurišete hooks na određenim metodama.

Kod alata je dostupan na GitHub-u, a može se dobiti i kao APK iz Play Store-a ili Xposed repozitorija. Nakon što je modul instaliran, omogućava se u Xposed-u i može se vidjeti u glavnom interfejsu. status servera, mrežni interfejs, port i adb komanda potrebno za povezivanje s lokalnog računara.

Aplikacija prikazuje listu aplikacija na uređaju, s mogućnošću odabira samo korisničkih aplikacija ili uključivanja i sistemskih aplikacija. Ovo je dostupno u bočnom meniju. Konfigurišite interfejs i port, omogućite autentifikaciju korisničkim imenom i lozinkom i prilagodite ostale parametre servera.

Nakon odabira i pokretanja aplikacije, započinje dinamička analiza. Iz preglednika računara pristupa se web stranici koju hostuje uređaj, gdje se prikazuje meni s dugmadima za [nejasno - moguće "prilike" ili "funkcije"]. Preuzmite APK ili podatke iz interne memorije, pravite snimke ekrana, primjenjujete različite konfiguracije (kao što je onemogućavanje FLAG_SECURE, ponovno pokretanje aplikacije, odabir proxyja ili odabir vrsta događaja za snimanje) i osvježavate rezultate u stvarnom vremenu.

Inspeckage također nudi prečice za otvaranje kartice pomoću LogCat-a, provjeru da li aplikacija ili modul rade i skrivanje ili prikazivanje panela s detaljima. Prikazuje se panel s informacijama o aplikaciji. naziv paketa, UID, GUID, status sigurnosne kopije i pristup internoj memoriji tipa TreeView, s koje se datoteke mogu preuzeti jednim klikom.

Glavni dio izvještaja je organiziran u različite kartice: jedna sa aktivnosti, dozvole, usluge, pružatelji sadržaja, prijemnici emitiranja i dijeljene biblioteke, s opcijama za pokretanje aktivnosti ili konsultacije s pružateljima usluga; još jedan posvećen SharedPreferences, koji se može pregledati i u formatu dnevnika (za procjenu promjena varijabli tokom vremena) i u trenutnom stanju datoteke.

Jedna veoma moćna funkcija 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 sistem" navodi sve datoteke s kojima je aplikacija komunicirala, što je korisno za otkrivanje da li kreira sumnjive datoteke ili preuzima aplikacije iz neslužbenih izvora. Kartica "IPC" prikazuje pokušaje komunikacije između procesa pomoću namjera.

Kartica „Hooks“ objedinjuje aktivnosti svih metoda na kojima su konfigurirani prilagođeni hookovi. Njihovo kreiranje je relativno jednostavno zahvaljujući grafičkom interfejsu gdje možete Navedite metod presretanja i vrstu udiceMogu se definirati hookovi koji mijenjaju ulazne parametre metode ili povratnu vrijednost, otvarajući vrata brojnim scenarijima testiranja.

Dodatne funkcije možete pronaći u bočnom meniju. manipulirati vrijednostima otiska prsta uređaja ili GPS koordinatamaOvo pomaže u zaobilaženju mehanizama detekcije emulatora ili lažiranja lokacije. Pored navedenog, Inspeckage može evidentirati upite baze podataka, mrežni promet, WebViews i druge resurse kojima pristupaju pružatelji sadržaja.

Zahvaljujući ovom širokom skupu mogućnosti, Inspeckage se smatra Vrlo sveobuhvatan alat za smanjenje vremena analize uzoraka, posebno korisno za one koji 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 tokom cijelog životnog ciklusa aplikacijeNe radi se samo o izbjegavanju očiglednih grešaka, već o poštivanju propisa poput GDPR-a ili industrijskih standarda poput PCI DSS-a prilikom obrade plaćanja.

Android aplikacije su izložene brojnim prijetnjama, od kojih su mnoge obrađene u projektima kao što su OWASP Mobilni Top 10Među najkritičnijim problemima možemo istaknuti nepravilnu upotrebu platforme (neiskorištavanje izvornih sigurnosnih mehanizama, loše upravljane dozvole, zloupotreba izloženih API-ja), nesigurno pohranjivanje podataka (nešifrirane baze podataka, logovi s osjetljivim informacijama, loše zaštićeni kolačići) ili... nesigurne komunikacije (korištenje zastarjelih protokola ili nešifriranog prometa).

Problemi sa loša autentifikacija i upravljanje sesijama (slabe lozinke, sesije koje ne isteku, slabo zaštićeni tokeni), nedovoljna enkripcija koja omogućava pristup podacima fizičkim napadačima ili zlonamjernom softveru i greške u autorizaciji koje otvaraju vrata eskalaciji privilegija putem automatiziranih napada.

Sa strane razvoja, kvalitet koda na strani klijenta je ključan: loše prakse, nedostatak kontrole grešaka ili loše implementirane sigurnosne funkcije To može dovesti do prepunjenja bafera i drugih ranjivosti. Ovome 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 prisustvo „skrivenih“ ili funkcionalnosti za otklanjanje grešaka koje nisu onemogućene u produkciji.

Kako bi se riješile ove prijetnje, OWASP projekat Sigurnost mobilnih aplikacija (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, kvalitet koda i konfiguraciju izgradnje, te mehanizme otpornosti na strani klijenta.

Evaluacija ovih zahtjeva obično kombinuje statičku i dinamičku analizu. U statičkom dijelu, artefakti kao što su 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 Mara-e (okvir za analizu koji omogućava 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 radi u kontroliranom okruženju i njeno ponašanje se promatra pod različitim uvjetima. Ovdje se koriste alati poput Drozer, koji komunicira s Dalvik virtualnom mašinom, IPC krajnjim tačkama i operativnim sistemom za pronalaženje ranjivosti; Burp Suite, koji radi kao web proxy za hvatanje i manipulisanje saobraćajem između aplikacije i servera; i Inspeckage, dizajniran za instrumentaciju i posmatranje aplikacije u realnom vremenu koristeći hooks na Android API-ju.

Postoje i hibridni okviri kao što je Mobile Security Framework (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 efikasan način učenja je rad s namjerno ranjivim aplikacijama.

Među ovim aplikacijama za vježbu su projekti poput InsecureShop-a (ranjiva online trgovina sa gotovo dvadeset iskorištavajućih nedostataka, većina bez potrebe za root-om), AndroGoat-a (prva ranjiva aplikacija razvijena u Kotlinu, sa nekoliko desetina različitih ranjivosti), InsecureBank V2 (bankarska aplikacija sa Python backend-om, dizajnirana sa više slabosti) i Crackmes iz samog MAS projekta, strukturirani u nekoliko nivoa težine tipa CTF.

Ukratko, analiza Android aplikacija uključuje mnogo više od pukog pregledavanja dozvola ili brojanja preuzimanja. Ona uključuje kombinovanje Alati za inspekciju 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 efikasnije aplikacije koje su usklađene sa stvarnim potrebama korisnika i poslovanja.

Vezani članak:
Kako napraviti odličnu aplikaciju za Android?

Dodaj kao preferirani izvor