Tyrėjai nustatė, kad daugelis „Android“ programų „Google Play“ parduotuvėje turėjo būdų, kaip apeiti „Android“ leidimo modelį rinkti naudotojo duomenis.
Nepaisant vartotojo suvokimo, „Android“ iš tikrųjų yra gana saugi kaip mobilioji OS. Mes paprastai priimame prielaidą, kad silpniausia grandis yra vartotojas; tol, kol žiūrite, ką įdiegiate ir kokius leidimus suteikiate, turėtumėte būti apsaugoti nuo neteisėtos prieigos ir duomenų platinimo. Jei uždrausite „Android“ programai prieigą prie jūsų vietos, ta programa neturėtų turėti jokio būdo išsiaiškinti, kur esate arba kur buvote. Tačiau, pasak Tarptautinio kompiuterių mokslo instituto (ICSI) mokslininkų, kai kurie programų kūrėjai sugalvojo būdus, kaip apeiti „Android“ leidimo modelį.
Pagal CNET, tyrimas buvo pristatytas praėjusį mėnesį PrivacyCon po to, kai praėjusį rugsėjį buvo atsakingai atskleista tiek „Google“, tiek FTC. nors dokumentas, paskelbtas FTC svetainėje nenurodo tikslių programų, kurias komanda pažymėjo savo analizėje (ši informacija bus pateikta vėliau
„Usenix Security“ konferencija kitą mėnesį), pateikiama išsami informacija apie jų analizės metodą ir tai, kaip programos apeidavo „Android“ leidimo modelį. Ko verta, „Google“ teigia, kad saugumas ir privatumas keičia „Google“. pristatė „Android Q“. uždarys šiuos apėjimo metodus, todėl šiame dokumente pateikiama vertinga įžvalga apie „Google“ pagrindimus kai kuriems platformos pakeitimams, kuriuos jie padarė „Android 10“. Pasinerkime.Kaip daugiau nei 1000 programų apėjo „Android“ leidimo modelį
Tyrėjai išskiria du skirtingus saugumo apėjimo būdus: šoninius kanalus ir slaptuosius kanalus. Šalutinio kanalo metodai apima prieigą prie konkrečios informacijos tokiu būdu, kurio neapima saugos mechanizmas; Pavyzdžiui, programos galėjo sekti įrenginio vietą naudodamos MAC adresą, kol „Android Pie“ neįvedė MAC adresų atsitiktinių imčių. Slapto kanalo metodai apima dvi paslaugas, bendradarbiaujančias, siųsdamos duomenis iš vienos tarnybos, kuri turi galiojančią prieigą, į tą, kuri neturi; Pavyzdžiui, programa, kuriai suteikta prieiga prie vietos, gali bendrinti tuos duomenis su programa, kuriai prieiga nesuteikta.
ICSI komanda išanalizavo 88 113 populiariausių „Android“ programų iš JAV „Google Play“ parduotuvės ir atrado daugiau nei 1 000 programų ir trečiųjų šalių bibliotekų, kurios naudoti šalutinius kanalus ir (arba) slaptus kanalus, kad apeitų „Android“ saugos priemones, kad galėtų pasiekti vietos duomenis ir nuolatinius naudotojų identifikatorius prietaisai. Visą jų duomenų rinkinį sudarė 252 864 APK, nes komanda periodiškai rinko „Play“ parduotuvę ir ieškojo naujų 88 113 programų, kurias planavo analizuoti, versijų. Iš pradžių jie išbandė kiekvienos programos elgseną a „Google Nexus 5X“. naudoja Android 6.0.1 Marshmallow, bet vėliau iš naujo patikrino savo išvadas a Google Pixel 2 naudoja „Android Pie“, kad įrodytų, kad jų išvados tebegalioja nuo naujausio leidimo atskleidimo metu.
Naudodama šį duomenų rinkinį, komanda sukūrė metodą, naudodama dinaminę ir statinę analizę, kad nustatytų „Android“ leidimo modelio apėjimą. Kitaip tariant, komanda tyrė programos elgseną, tikrindama programos veikimo laiką (dinaminė analizė) arba nuskaitydama kodą, ar nėra galimai kenkėjiškos elgsenos (statinė). analizė.) Žinoma, kenkėjiškų programų kūrėjai žino apie šiuos metodus, naudodami kodo užmaskavimą ir dinaminį kodo įkėlimą, kad statinė analizė būtų sunkesnė arba TLS perėmimas, siekiant nustatyti, kada programa veikia virtualizuotoje aplinkoje, todėl ICSI komanda naudojo statinę ir dinaminę analizę (hibridinę analizę). testavimas. Todėl komanda išsiaiškino, kad programos, neturinčios reikiamų leidimų, nubraukė šiuos duomenis:
- IMEI: Kadangi IMEI yra unikalus, nuolatinis identifikatorius, internetinėms paslaugoms naudinga nuskaityti, kad jos galėtų sekti atskirus įrenginius. Komanda išsiaiškino, kad Lašišos ir Baidu SDK naudojo slaptą kanalą IMEI skaitymui. Programos, turinčios teisėtą prieigą prie IMEI, saugojo paslėptus failus išorinėje saugykloje su įrenginio IMEI, kad kitos programos, neturinčios teisėtos prieigos, galėtų skaityti IMEI. Identifikuotos programos, naudojančios „Baidu“ SDK tokiu būdu, apima „Disney“ pramogų parko programas, skirtas Honkongui ir Šanchajui, „Samsung Health“ ir „Samsung Browser“.
- Tinklo MAC adresas: Tinklo MAC adresas taip pat yra unikalus identifikatorius ir paprastai jį saugo ACCESS_NETWORK_STATE leidimas. Tyrėjų teigimu, programos naudojo C++ vietinį kodą, kad „iškviestų daugybę neapsaugotų UNIX sistemos skambučių“. Komanda nustatė 42 programas, naudojančias Unity SDK, kad atidarytų a tinklo lizdą ir ioctl, kad gautų MAC adresą, nors jie pažymėjo, kad 748 iš 12 408 programų buvo aptariamas kodas, tačiau trūko ACCESS_NETWORK_STATE leidimas.
- Maršrutizatoriaus MAC adresas: ACCESS_WIFI_STATE leidimas apsaugo BSSID, bet ARP talpyklos nuskaitymas aplanke /proc/net/arp leidžia programai gauti tuos duomenis be jokių leidimų. Tyrėjas nustatė OpenX SDK kaip naudojant šią šoninio kanalo techniką.
- Geografinė padėtis: Tyrėjai išsiaiškino, kad „Shutterfly“ programa pasiekia nuotraukų EXIF metaduomenų vietos žymas. Viskas, ko reikia, yra READ_EXTERNAL_STORAGE leidimas.
„Android Q“ sistemoje „Google“ dabar reikalauja, kad programos turėtų READ_PRIVILEGED_PHONE_STATE leidimą skaityti IMEI. Įrenginiai, kuriuose veikia „Android Q“, dabar pagal numatytuosius nustatymus perduoda atsitiktinių imčių MAC adresus. Galiausiai, Android Q Apimtas saugojimas pakeitimai sumažina programų galimybę nuskaityti vietos duomenis iš nuotraukų. Taigi šios problemos buvo išspręstos naujausiame „Android“ leidime, tačiau, kaip visi žinome, taip ir bus užtrukti gana ilgai kad būtų paskelbtas naujausias naujinimas.
Išvada
Apskritai šiame tyrime išsamiai apžvelgiama, kaip kai kurios programos pasiekia duomenis, kurie turėtų būti apsaugoti pagal leidimus. Tyrime buvo nagrinėjama tik dalis „Google“ vadinamų „pavojingų“ leidimų, ypač praleidžiant tokius leidimus kaip „Bluetooth“, kontaktai ir SMS. Norėdami gauti daugiau informacijos apie šią ataskaitą, rekomenduoju perskaityti popierius, pateiktas FTC.