
Šiandien mūsų mobiliuosiuose telefonuose yra tūkstančiai programėlių, tačiau tik nedaugelis žmonių iš tikrųjų žino, kaip jomis naudotis. Ką tiksliai veikia kiekviena „Android“ programėlė viduje?Kokius leidimus jis naudoja arba kaip tai veikia įrenginio našumą ir saugumą? Kūrėjams, saugumo auditoriams ir rinkodaros komandoms „Android“ programų supratimas ir analizė nebėra pasirinktinas dalykas: tai yra pagrindinis komponentas kuriant patikimus, greitus ir efektyvius produktus. gerbti privatumą.
Šiame straipsnyje rasite išsamią apžvalgą apie „Android“ programėlių analizė iš kelių kampųĮrankiai APK ir įdiegtų programų tikrinimui, kūrimo priemonės, pvz., „Android Studio APK Analyzer“, audito sistemos, pvz., „Inspeckage“, saugumo metodikos, pvz., „OWASP MAS“, ir išsami pagrindinių mobiliųjų įrenginių analizės platformų („Firebase“, „Contentsquare“, „Mixpanel“, „Countly“, „Localytics“, „RevenueCat“, „AppDynamics“ ir „AppsFlyer“) apžvalga. Visa tai paaiškinta ispanų (Ispanija) kalba, draugišku tonu, tačiau neaukojant techninio kruopštumo.
Kas yra „Android“ programų analizė ir kam ji naudojama?
Kalbėdami apie „Android“ programų analizę, galime turėti omenyje abu techniškai išanalizuoti APK (leidimai, kodas, manifestas, paslaugos ir kt.), taip pat tiriant naudojimo metriką, vartotojų elgseną, našumą, klaidas ar net reklamos sukčiavimą. Tai du skirtingi, bet vienas kitą papildantys pasauliai: techninė pusė užtikrina, kad programa būtų saugi ir patikima; produkto analizės pusė leidžia suprasti, ar programa atitinka savo verslo tikslus.
Techniniu požiūriu analizę galima suskirstyti į statinė analizė ir dinaminė analizėStatinis stebėjimas tiria APK arba kodą jo nevykdydamas (dekompiliavimas, leidimų analizė, AndroidManifest.xml peržiūra ir kt.). Dinaminis stebėjimas stebi programos elgseną jai veikiant, registruoja tinklo srautą, iškviečia jautrias API, naudoja kriptografiją arba kuria failus.
Vartotojo patirties ir verslo analizės srityje daugiausia dėmesio skiriama Suprasti, kaip žmonės naudoja programėlę, kur jiems kyla problemų ir kodėl jie ją konvertuoja arba paliekaČia praverčia įvykių sekimo sistemos, šilumos žemėlapiai, sesijų įrašymas, pajamų suvestinės, konversijų kanalai ir mobiliosios rinkodaros įrankiai.
Įrankiai APK ir įdiegtoms programėlėms analizuoti
Norėdami pradėti suprasti, ką „Android“ programa veikia viduje, yra specializuotų įrankių, kurie leidžia jums patikrinti įdiegtus APK arba saugomus .apk failus įrenginyje. Šie įrankiai rodo viską – nuo pagrindinių duomenų (pavadinimo, versijos, dydžio) iki labai smulkių detalių, tokių kaip leidimai, foninės paslaugos ar skaitmeninis parašas.
Viena populiariausių programų šioje srityje yra atvirojo kodo APK analizatorius, kuris giriasi esąs Dažniausiai atsisiųsta APK analizės programėlė „Google Play“ parduotuvėjeŠis įrankis leidžia sugeneruoti labai išsamią jau įdiegtų programų ir dar neįdiegtų .apk failų ataskaitą, o tai puikiai tinka norint patikrinti programą prieš suteikiant jai prieigą prie įrenginio.
Įprastoje ataskaitoje pateikiama tokia informacija kaip programėlės pavadinimas, versija, minimalios ir tikslinės „Android“ versijosDiegimo ir atnaujinimo datos, sertifikatų ir pasirašymo duomenys, naudojami leidimai (su aprašymu), veikla, paslaugos, transliacijų imtuvai ir turinio teikėjai. Taip pat išsamiai aprašomi aparatinės įrangos reikalavimai (privalomi ir neprivalomi) ir siūloma pilna AndroidManifest.xml failo versija su galimybe jį išsaugoti žmonėms skaitomu formatu.
Kita svarbi funkcija yra galimybė išskleisti įdiegtos programos APK failą ir išsaugoti jį įrenginio saugykloje, taip pat eksportuoti piktogramą. Tai naudinga auditui, atsarginių kopijų kūrimui, testavimui izoliuotose aplinkose arba tiesiog konkrečios versijos peržiūrai prieš atnaujinimą.
Šio tipo analizatorius paprastai taip pat apima specialius skyrius, skirtus leidimai ir apibendrinta statistikaViena vertus, tai leidžia išvardyti visus įrenginio programų prašomus leidimus, matyti, kurios programos prašo kiekvieno leidimo, peržiūrėti aprašymą ir apsaugos lygį bei lengvai rasti programas, kurioms reikia daugiausiai privilegijų. Kita vertus, ji pateikia įdiegtų programų kolekcijos statistiką: tikslinių „Android“ versijų pasiskirstymą, parašų tipus, vidutinį veiklų ar leidimų skaičių vienai programai ir kt.
„Android Studio“ APK analizatorius ir apkanalyzer įrankis
Tiems, kurie kuria „Android Studio“, „Google“ platforma apima Galingas APK analizatorius, integruotas į kūrimo aplinkąŠį įrankį galima atidaryti nuvilkus APK arba programų paketą į redaktoriaus langą, dukart spustelėjus APK aplanke „Build“ arba iš meniu „Build“, esančio pasirinkus parinktį „Analizuoti APK“. Jis taip pat turi komandinės eilutės versiją, vadinamą apkanalyzer.
APK analizatorius leidžia hierarchiškai tyrinėti failo turinį, o tai viduje panašu į ZIP failas su sutvarkytais aplankais ir failaisKiekvienas objektas (aplankas arba failas) rodo neapdorotą failo dydį ir apytikslį suspausto atsisiuntimo dydį, kurį pateikia „Google Play“, kartu su bendro dydžio procentine dalimi. Tai padeda greitai nustatyti, kurie ištekliai, bibliotekos ar DEX failai užima daugiausia vietos.
Vienas labai įdomus dalykas yra tai, kaip APK analizatorius veikia Atkurkite galutinį AndroidManifest.xml failąProjektuose su keliais produktų variantais arba bibliotekomis, turinčiomis savo manifestus, visi šie failai kompiliavimo metu sujungiami į vieną failą. APK išlieka dvejetainiu formatu, tačiau analizatorius jį konvertuoja atgal į skaitomą XML, rodydamas tiksliai tą manifestą, kurį sistema matys įrenginyje, ir palengvindamas kūrimo proceso metu atliktų pakeitimų aptikimą.
Ši manifesto peržiūros programa taip pat apima pūkelių galimybėsTai įspėja apie klaidas ir įspėjimus, pvz., apie neatpažintas XML schemas. Kai kuriuos įspėjimus (pvz., apie neregistruotas schemas) galima ignoruoti ir juos galima slopinti įtraukus schemą į ignoruojamų schemų sąrašą „Android Studio“ nuostatose.
Kitas esminis APK analizatoriaus komponentas yra DEX failų peržiūros programa, kuri siūlo klasių, paketų, apibrėžtų ir nuorodų metodų skaitikliaiTai naudinga, be kita ko, norint patikrinti, ar artėjate prie 64K metodų ribos vienam DEX, nusprendžiant, ar įjungti multideksą, ar reikia pašalinti priklausomybes.
Klasių medyje rodomi DEX apibrėžti ir nurodyti metodai (įskaitant iš trečiųjų šalių bibliotekų ir standartinių „Android“ bei „Java“ API). Įrankis juos skiria ir padeda suprasti, kokia metodo biudžeto dalis tenka pasirinktiniam kodui, o kokia – priklausomybėms.
DEX rodinyje taip pat yra filtrai, skirti rodyti arba slėpti laukus, metodus ir nurodytus metodusPleisdami klasę, galite pasirinkti, ar peržiūrėti tik vietinius apibrėžimus, ar visas išorines nuorodas. Kursyvu pažymėti elementai nurodo nuorodas be apibrėžimo tame DEX, tai yra, metodus arba laukus, esančius kituose DEX failuose arba sistemoje.
Projektuose, kuriuose naudojama kodo maskavimo ir mažinimo funkcija naudojant „ProGuard“ arba „R8“, analizatorius leidžia įkelti atvaizdavimo failai (mapping.txt), seeds.txt ir usage.txt iš tos pačios versijos. Importavus, įjungiamos papildomos funkcijos: pavadinimų deobfusavimas, siekiant atkurti originalias klases ir metodus, mazgų, kurių negalima ištrinti (pradinių verčių), paryškinimas ir mazgų, kurie buvo ištrinti redukcijos proceso metu, rodymas.
Failo įkėlimo dialogo langas paprastai automatiškai nukreipia į įprastą kelią (programėlė/sukurti/išvesties/susiejimai/išleidimas/ir ieško tikslių pavadinimų arba pavadinimų, kuriuose yra „mapping“, „usage“ arba „seeds“, ir kurie baigiasi .txt. Turėdamas šią informaciją, analizatorius gali paryškinti apsaugotus elementus ir perbraukti tuos, kurių nebėra galutiniame DEX.
DEX peržiūros priemonėje taip pat yra kontekstinis meniu su labai galingomis funkcijomis: Peržiūrėkite baitinį kodą (smali), ieškokite naudojimo būdų ir generuokite „ProGuard“ išsaugojimo taisykles.Pasirinkdami klasę, metodą arba lauką, galite atidaryti dialogo langą su kodu mažo formato formatu, paleisti paiešką, kur tas simbolis naudojamas visame DEX, arba automatiškai sugeneruoti išsaugojimo taisyklę, kad jis nebūtų sumažintas būsimuose kompiliavimuose.
Be kodo, APK analizatorius taip pat leidžia patikrinti daugelio išteklių galutinę versiją, pvz. vaizdai, maketai arba pats failas resources.arscPavyzdžiui, galite peržiūrėti lokalizuotas eilutes skirtingomis kalbomis ir konfigūracijomis, patikrinti, kuris išteklius perrašė kurį tam tikrame variante, arba peržiūrėti dvejetainių failų, kurie paprastai neatidaromi rankiniu būdu, turinį.
Galiausiai, įrankis turi labai naudingą funkciją, skirtą peržiūrėti versijas: palyginti du APK arba programų paketusĮkėlus dabartinę versiją ir palyginus ją su anksčiau publikuotu artefaktu, galima matyti dydžio skirtumus kiekvienam objektui, todėl puikiai tinka suprasti, iš kur kilo padidėjęs versijų svoris (nauji vaizdų ištekliai, papildomos bibliotekos, kodo pakeitimai ir kt.).
Mobiliųjų įrenginių analizės panaudojimas siekiant suprasti naudotojų patirtį
Be grynai techninės analizės, būtina turėti įrankius, kurie leidžia mums išmatuoti, ką vartotojai veikia programojeKaip vartotojai naršo ekranuose, kur įvyksta klaidos, kurios kampanijos pritraukia kokybiško srauto, o kurios ne. Mobiliųjų analizės platformų pasirinkimas yra platus, todėl prieš pasirenkant vieną iš jų, labai svarbu aiškiai apibrėžti savo verslo poreikius.
Pirmasis filtras apima savęs klausimą, ar, be naudojimo ir našumo rodiklių gavimo, jums reikia įrankio skatinti komandų bendradarbiavimą (produktas, rinkodara, UX, kūrimas, palaikymas) arba leidžia vienu metu analizuoti programėlės ir mobiliosios žiniatinklio svetainės duomenis. Kitas svarbus kriterijus yra integracija su kitais jau naudojamais sprendimais, tokiais kaip CRM, rinkodaros automatizavimo įrankiai ar eksperimentinės platformos.
Tarp plačiausiai „Android“ ekosistemoje naudojamų sprendimų išsiskiria „Firebase“ lanksti kūrimo platforma, talpinimas ir integruota analizė„Firebase“ leidžia kurti programas, skirtas „Android“, „iOS“ ir žiniatinkliui, pasitelkiant jos duomenų bazės ir autentifikavimo infrastruktūrą, taip pat siūlant patikimą analizės ir gedimų ataskaitų teikimo sistemą.
Kaip analizės įrankis, „Firebase“ leidžia rinkti kiekybinius duomenis apie naudojimą, srautą ir sąveiką, generuoti automatinius ir pritaikytus įvykius (iki kelių šimtų), stebėti, kur ir kaip dažnai programa nepavyksta, ir pagrįsti rinkodaros ar produkto sprendimus objektyviais duomenimis, o ne prielaidomis.
Kita platforma, kurioje didelis dėmesys skiriamas produktų ir skaitmeninei patirčiai, yra „Contentsquare“, kuri žengia žingsnį toliau nei klasikiniai rodikliai ir siūlo išsamus klientų kelionės žemėlapis, šilumos žemėlapiai, sesijų pakartojimai ir klaidų analizėJo tikslas – padėti suprasti ne tik tai, kas vyksta programoje, bet ir kodėl atsiranda tam tikras elgesys: kur vartotojai užstringa, kurias sąsajos sritis jie ignoruoja ar kurie elementai sukelia nusivylimą.
Tokie moduliai kaip „Kelionės“ suteikia bendrą vaizdą visos kelionės nuo vartotojo atvykimo iki išvykimo Analizuojama programėlė arba mobilioji svetainė, nustatant pagrindinius optimizavimo vertus maršrutus. Šilumos žemėlapiai vizualizuoja dažniausiai spustelėtas arba ignoruojamas sritis, sesijos pakartojimo funkcija peržiūri atskirus seansus, kad aptiktų modelius (pavyzdžiui, pakartotinius piktus paspaudimus tuo pačiu raginimu veikti), o produktų analizė analizuoja tokius rodiklius kaip funkcijų diegimas, konversijų rodiklis, įgijimas ir suvokiamos pastangos.
„Contentsquare“ taip pat apima klaidų analizės modulį, kuris grupuoti technines ir funkcines klaidas pagal poveikįpadeda nustatyti, kurias problemas spręsti pirmiausia, o poveikio kiekybinio įvertinimo funkcijos padeda šias problemas paversti konversijos, pajamų ar klientų išlaikymo nuostoliais – tai labai naudinga pagrindžiant pakeitimus suinteresuotosioms šalims.
Įdomus atvejo tyrimas yra komandos, kuri, naudodama tokio tipo produktų analizę, patvirtino savo įtarimą, kad Mobiliųjų įrenginių parašo ekranas vartotojams buvo painus.Lygindami žiniatinklio ir mobiliųjų įrenginių duomenis, jie pastebėjo, kad mobiliųjų įrenginių konversijos buvo akivaizdžiai mažesnės, išsamiai ištyrė mobiliąją patirtį, pertvarkė parašo puslapį, pirmiausia pritaikydami jį mobiliesiems įrenginiams, ir sugebėjo gerokai pagerinti pritaikymą skirtingiems įrenginiams.
Išplėstinė vartotojų segmentacija ir elgsenos analizė
Norint giliau išnagrinėti naudotojų elgseną, kai kurios platformos yra labai specializuotos. segmentavimas ir kohortos kūrimas„Mixpanel“ yra vienas iš geriausiai žinomų pavyzdžių, skirtas tiek produktui, tiek rinkodarai, ir orientuotas į konversijos kelių vizualizavimą bei skirtingų vartotojų grupių elgesio analizę.
„Mixpanel“ sistemoje vartotojus galima suskirstyti į kohortas pagal atlikti veiksmai arba bendrinami atributaiPavyzdžiui, žmonės, kurie per pastarąsias 30 dienų pradėjo naudoti mokėjimo planą, vartotojai, kurie išbandė konkrečią funkciją, arba klientai, kurie atliko bent du pirkimus. Sistemos stiprybė slypi jos pritaikytose savybėse ir segmentavimo logikoje, kuri leidžia kurti sudėtingus segmentus.
Pasirinktines savybes galima derinti įvykių, vartotojų ar grupių atributai naujose, bendresnėse savybėse. Pavyzdžiui, grupuojant skirtingus socialinės žiniasklaidos UTM šaltinius („Facebook“, „Instagram“, „Twitter“) po „Social“ savybe, siekiant analizuoti jų bendrą elgesį. Segmentavimo logika leidžia kurti segmentus, kurie atliko konkrečius veiksmų derinius, pvz., įsigijo ir produktą A, ir produktą B.
Dar vienas išskirtinis įrankis, šį kartą ypatingą dėmesį skiriant privatumui, yra „Countly“ – mobiliųjų, žiniatinklio ir darbalaukio analizės sprendimas, kurį galima diegti įmonės infrastruktūroje, suteikiant absoliuti duomenų kontrolėTai ypač įdomu reguliuojamiems sektoriams arba įmonėms, kurioms taikomi griežti atitikties reikalavimai.
„Countly“ siūlo patobulintą saugumą, prieigą prie išsamių duomenų realiuoju laiku (išsamių profilių, individualaus lygio įsitraukimo metrikų) ir modulius, pritaikytus analizuoti klientų lojalumą ir aptikti klientų praradimąJos „Atitikties centras“ leidžia valdyti duomenų rinkimą pagal sutikimus, taip pat eksportavimo ar ištrynimo prašymus, laikantis duomenų apsaugos reglamentų.
Rinkodaros ir prenumeratos platformos su integruota analitika
Kai pagrindinis tikslas yra mobilioji rinkodara, yra specialių sprendimų, kurie apjungia matavimas, segmentavimas ir kampanijų vykdymas vienoje platformoje. „Localytics“ yra geras pavyzdys: ji integruoja programų analizę su pranešimų siuntimo ir suasmeninimo įrankiais, todėl yra labai patraukli rinkodaros komandoms, kurioms reikia vieningos sistemos.
„Localytics“ siūlo išsamias kampanijų ataskaitas, kurias galima peržiūrėti Kurie veiksmai daro didžiausią įtaką konversijai, klientų išlaikymui, investicijų grąžai, klientų praradimui ir pašalinimams?Jos nuspėjamosios analizės galimybės padeda nustatyti vartotojus, kuriems yra didelė tikimybė konvertuoti arba palikti prekes, ir leidžia siųsti suasmenintus pranešimus tinkamu momentu.
Platformoje taip pat yra išmanūs pritaikymo moduliai, skirti kurkite segmentus pagal profilį, elgesį ir istoriją ir nuo tada pradėti kampanijas ir patirtis, pritaikytas prie naudotojo konteksto, o tai žymiai pagerina pranešimų aktualumą.
Prenumeratos programėlių srityje „RevenueCat“ tapo pagrindine daugelio komandų priemone. Turėdama gana lengvai integruojamą SDK, ji leidžia valdyti mobiliųjų prenumeratas, rinkti tikslinę analizę ir netgi testuoti mokamas platformas nereikėtų kiekviename projekte išradinėti dviračio iš naujo.
„RevenueCat“ teikia ataskaitų sritį, kurioje pateikiama prenumeratos metrika: aktyvūs bandomieji laikotarpiai, bandomųjų laikotarpių konversijos, aktyvūs vartotojai, pajamos ir MRR. Ji taip pat siūlo pritaikomos diagramos su filtrais ir segmentavimu pavyzdžiui, kad pamatytumėte, kaip pasikartojančios pajamos paskirstomos pagal šalį arba plano tipą.
Vienas iš jos privalumų yra kainų ir mokamų prieigų A/B testavimas, kuris leidžia Išbandykite skirtingus kainų, paketų ir akcijų derinius ir išmatuoti kiekvieno varianto poveikį visam prenumeratos srautui – nuo pirmojo apsilankymo mokamoje svetainėje iki ilgalaikio klientų išlaikymo.
Sudėtingų programų stebėjimui „AppDynamics“ siūlo visapusišką stebėjimo metodą, apimantį viską – nuo mikropaslaugų ir serverių neturinčių funkcijų iki viešųjų ir privačių API ir net pačių mobiliųjų programėlių. Jos tikslas yra greitai aptikti našumo problemas ir nustatyti jų priežastisnesvarbu, ar tai kode, priklausomybėje, ar išorinėje paslaugoje.
„AppDynamics“ leidžia susieti duomenis iš mobiliųjų įrenginių, naršyklių ir pasirinktinių vartotojų su Palyginkite skirtingų programėlės versijų patirtį ir pažiūrėkite, kur kenčia UX. Jame yra paruošti naudoti valdikliai, skirti kurti išsamias ataskaitų suvestines, ir sintetinio stebėjimo modulis, kuris imituoja vartotojų srautus ir API iškvietimus, aptikdamas klaidas, kol jos nepaveikia realių žmonių.
Galiausiai, „AppsFlyer“ daugiausia dėmesio skiria rinkodaros komandoms, kurioms reikia matuoti, priskirti ir apsaugoti savo mobiliąsias kampanijas. Ji siūlo sprendimus – nuo pagrindinės analizės iki pažangių funkcijų, ypatingą dėmesį skiriant... reklamos sukčiavimo aptikimas (pavyzdžiui, robotai, generuojantys netikrus paspaudimus).
Be apsaugos nuo sukčiavimo, „AppsFlyer“ leidžia jums apibrėžti tinkinti įvykiai programoje susieti tokius KPI kaip investicijų grąža (ROI) arba viso naudojimo laikotarpio vertė (experienced value) su konkrečiais naudotojų veiksmais. Tai taip pat apima prieaugio testus, skirtus įvertinti, kiek konversijų būtų pasiekta be mokamų kampanijų, ir tokiu būdu išmatuoti tikrąjį reklamos investicijų poveikį.
Papildant visą šią kiekybinę analizę, verta apsvarstyti tokias priemones kaip „AppFollow“, kurios daugiausia dėmesio skiria Stebėkite įvertinimus ir atsiliepimus „App Store“ ir „Google Play“ parduotuvėseAtlikus nuotaikų analizę, galima matyti atsiliepimų tono raidą ir palyginti laikotarpius, gaunant aiškių užuominų apie tai, kaip vartotojai suvokia programėlės kokybę ir patirtį.
Saugumo auditas ir išplėstinė analizė su „Inspeckage“
Kai tikslas yra ne tiek rinkodara ar produktas, kiek atlikti saugumo auditą, analizuoti kenkėjiškas programas arba peržiūrėti vidinį programos veikimąĮsijungia konkretesni karkasai. Vienas įdomiausių „Android“ ekosistemoje yra „Inspeckage“ („Android Package Inspector“), kuris veikia kaip „Xposed“ modulis.
„Inspeckage“ pačiame „Android“ įrenginyje sukuria serverį, pasiekiamą per ADB iš kompiuterio, ir leidžia matyti realaus laiko įvykiai, kurie įvyksta įrenginyje, kai programa veikiaSkirtingai nuo kitų analizės aplinkų, tokių kaip „MobSF“ ar „AppMon“, didžiausias jos privalumas yra tas, kad ji leidžia stebėti įvykius nesustabdant dinaminės analizės ir lengvai konfigūruoti priedus konkretiems metodams.
Įrankio kodą galima rasti „GitHub“ platformoje, jį taip pat galima gauti kaip APK failą iš „Play Store“ arba „Xposed“ saugyklos. Įdiegus modulį, jis įjungiamas „Xposed“ ir matomas pagrindinėje sąsajoje. serverio būsena, tinklo sąsaja, prievadas ir ADB komanda reikia prisijungti iš vietinio kompiuterio.
Programėlė rodo įrenginyje esančių programėlių sąrašą su galimybe pasirinkti tik naudotojo programėles arba įtraukti ir sistemos programėles. Tai galima pasiekti šoniniame meniu. Konfigūruokite sąsają ir prievadą, įjunkite autentifikavimą naudodami vartotojo vardą ir slaptažodį ir pakoreguoti kitus serverio parametrus.
Pasirinkus ir paleidus programėlę, pradedama dinaminė analizė. Įrenginyje talpinamas tinklalapis pasiekiamas iš kompiuterio naršyklės, kuriame rodomas meniu su mygtukais [neaišku – galbūt „galimybės“ arba „funkcijos“]. Atsisiųskite APK arba duomenis iš vidinės atminties, daryti ekrano kopijas, taikyti skirtingas konfigūracijas (pvz., išjungti FLAG_SECURE, paleisti programą iš naujo, pasirinkti tarpinį serverį arba pasirinkti, kokio tipo įvykius įrašyti) ir atnaujinti rezultatus realiuoju laiku.
„Inspeckage“ taip pat siūlo sparčiuosius klavišus, skirtus atidaryti skirtuką naudojant „LogCat“, patikrinti, ar programa arba modulis veikia, ir paslėpti arba rodyti išsamios informacijos skydelius. Rodomas programos informacijos skydelis. paketo pavadinimas, UID, GUID, atsarginės kopijos būsena ir „TreeView“ tipo prieigą prie vidinės atminties, iš kurios failus galima atsisiųsti vienu spustelėjimu.
Pagrindinė ataskaitos dalis suskirstyta į skirtingus skirtukus: vienas su veikla, leidimai, paslaugos, turinio teikėjai, transliacijų imtuvai ir bendrinamos bibliotekos, su galimybėmis paleisti veiklas arba konsultuotis su teikėjais; dar vienas skirtas „SharedPreferences“, kurį galima peržiūrėti tiek žurnalo formatu (norint įvertinti kintamųjų pokyčius laikui bėgant), tiek dabartinėje failo būsenoje.
Viena labai galinga funkcija yra visų įrašų įrašymas programos kriptografinė veiklaŠiame skyriuje rodomi naudojami algoritmai, raktai ir užšifruota informacija. Skirtuke „Maišos funkcija“ pateikiamos visos vertės, kurioms taikomos maišos funkcijos, ir kiekvienu atveju naudojamos funkcijos tipas.
Skyriuje „Failų sistema“ pateikiami visi failai, su kuriais programa sąveikavo, o tai naudinga norint aptikti, ar ji kuria įtartinus failus arba atsisiunčia programas iš neoficialių šaltinių. Skirtuke „IPC“ rodomi procesų tarpusavio komunikacijos bandymai naudojant ketinimus.
Skirtuke „Kabliukai“ pateikiama visų metodų, kuriems sukonfigūruoti pasirinktiniai kabliukai, veikla. Jų kūrimas yra gana paprastas dėl grafinės sąsajos, kurioje galite Nurodykite perėmimo būdą ir kabliuko tipąGalima apibrėžti kabliukus, kurie keičia metodo įvesties parametrus arba grąžinamą reikšmę, atverdami duris daugybei testavimo scenarijų.
Papildomas funkcijas galite rasti šoniniame meniu. manipuliuoti įrenginio pirštų atspaudų reikšmėmis arba GPS koordinatėmisTai padeda apeiti emuliatoriaus aptikimo mechanizmus arba vietos klastojimą. Be to, kas išdėstyta pirmiau, „Inspeckage“ gali registruoti duomenų bazės užklausas, tinklo srautą, „WebView“ ir kitus išteklius, prie kurių prisijungia turinio teikėjai.
Dėl šių plačių galimybių „Inspeckage“ laikoma Labai išsami priemonė mėginių analizės laikui sutrumpinti, ypač naudinga pradedantiesiems mobiliųjų įrenginių kenkėjiškų programų analizės ar „Android“ programų saugumo auditų srityse.
Saugumo metodikos, grėsmės ir testavimo laboratorija
Dabartinėje situacijoje, kai milijardai aktyvių „Android“ įrenginių ir programų tvarko neskelbtinus duomenis (bankininkystės, sveikatos, švietimo ir kt.), būtina imtis veiksmų. saugumas per visą programos gyvavimo cikląSvarbu ne tik vengti akivaizdžių klaidų, bet ir laikytis tokių reglamentų kaip BDAR ar pramonės standartų, tokių kaip PCI DSS, apdorojant mokėjimus.
„Android“ programoms gresia daugybė grėsmių, iš kurių daugelis yra sprendžiamos tokiuose projektuose kaip OWASP mobiliųjų įrenginių dešimtukasTarp svarbiausių problemų galime išskirti netinkamą platformos naudojimą (nesugebėjimą pasinaudoti vietiniais saugumo mechanizmais, prastai valdomus leidimus, piktnaudžiavimą pažeidžiamomis API), nesaugų duomenų saugojimą (neužšifruotas duomenų bazes, žurnalus su slapta informacija, prastai apsaugotus slapukus) arba nesaugūs ryšiai (pasenusių protokolų arba nešifruoto srauto naudojimas).
Problemos su prastas autentifikavimas ir sesijos valdymas (silpni slaptažodžiai, nesibaigiančios sesijos, prastai apsaugoti žetonai), nepakankamas šifravimas, leidžiantis fiziniams užpuolikams ar kenkėjiškoms programoms pasiekti duomenis, ir autorizacijos klaidos, atveriančios kelią privilegijų eskalavimui per automatines atakas.
Kalbant apie kūrimo procesą, kliento pusės kodo kokybė yra labai svarbi: bloga praktika, klaidų kontrolės trūkumas arba prastai įdiegtos saugumo funkcijos Dėl to gali perpildyti buferį ir atsirasti kitų pažeidžiamumų. Be to, padidėja kodo modifikavimo rizika (kenkėjiški dvejetainiai pataisymai, pakeisti ištekliai ir kt.). netikros programėlės, kurios apsimetinėja teisėtomis programėlėmis), APK atvirkštinė inžinerija ir „paslėptų“ arba derinimo funkcijų, kurios nėra išjungtos gamybinėje aplinkoje, buvimas.
Siekiant kovoti su šiomis grėsmėmis, OWASP mobiliųjų programų saugumo (MAS) projektas siūlo saugumo reikalavimų metodika ir kontrolinis sąrašas apima kelias sritis: saugią architektūrą ir dizainą, privatumą ir duomenų saugojimą, tinkamą kriptografiją, autentifikavimą ir sesijų valdymą, saugų tinklo ryšį, platformos sąveiką, kodo kokybę ir kompiliavimo konfigūraciją bei kliento pusės atsparumo mechanizmus.
Šių reikalavimų vertinimas paprastai apjungia statinę ir dinaminę analizę. Statinėje dalyje vertinami tokie artefaktai kaip šaltinio kodas, dekompiliuotas kodas, dvejetainiai failai ir susiję failai Nepaleidus programėlės, galimus pažeidžiamumus galima nustatyti iš metaduomenų, funkcijų iškvietimų ir programos srauto. Šiame etape ypač naudingi tokie įrankiai kaip „Mara“ (analizės sistema, leidžianti išskaidyti ir dekompiliuoti APK failus, atlikti defuzzifikaciją, eilučių analizę, leidimų išgavimą ir kt.), pats APK analizatorius ir tokie sprendimai kaip JAADAS statinei IPC analizei.
Kita vertus, dinaminėje analizėje programa veikia kontroliuojamoje aplinkoje, o jos elgesys stebimas skirtingomis sąlygomis. Čia naudojami tokie įrankiai kaip „Drozer“, kuris sąveikauja su „Dalvik“ virtualia mašina, IPC galiniais taškais ir operacine sistema siekiant rasti pažeidžiamumus; „Burp Suite“, kuris veikia kaip žiniatinklio tarpinis serveris, skirtas fiksuoti ir valdyti srautą tarp programos ir serverio; ir „Inspeckage“, skirtas programai realiuoju laiku stebėti ir analizuoti naudojant „Android“ API sąsajas.
Taip pat yra hibridinių sistemų, tokių kaip „Mobile Security Framework“ (MobSF), kurios sujungia statinę ir dinaminę analizę ir padeda organizuoti išsamesnius auditus iš vieno įrankio. Tiems, kurie nori praktikuotis, labai efektyvus būdas mokytis yra dirbti su tyčia pažeidžiamomis programomis.
Tarp šių mokomųjų programėlių yra tokie projektai kaip „InsecureShop“ (pažeidžiama internetinė parduotuvė su beveik dvidešimt pažeidžiamumų, kurių daugumai nereikia root teisių), „AndroGoat“ (pirmoji pažeidžiama programėlė, sukurta Kotlin kalba, su keliomis dešimtimis skirtingų pažeidžiamumų), „InsecureBank V2“ (bankininkystės programėlė su Python programine sistema, sukurta su daugybe silpnų vietų) ir „Crackmes“ iš paties MAS projekto, suskirstyta į kelis CTF tipo sudėtingumo lygius.
Trumpai tariant, „Android“ programų analizė apima daug daugiau nei vien leidimų tikrinimą ar atsisiuntimų skaičiavimą. Tai apima ir sujungimą. APK tikrinimo įrankiai, dinaminės analizės aplinkos, saugumo metodikos ir produktų bei rinkodaros analizės platformosKai visi šie elementai integruojami į programos gyvavimo ciklą, rezultatas – saugesnės, efektyvesnės programos, atitinkančios realius vartotojų ir verslo poreikius.