Tutkijat havaitsivat, että monilla Google Play Kaupan Android-sovelluksilla oli tapoja ohittaa Androidin lupamalli kerätä käyttäjätietoja.
Käyttäjien käsityksestä huolimatta Android on itse asiassa melko turvallinen mobiilikäyttöjärjestelmänä. Hyväksymme yleensä oletuksen, että heikoin lenkki on käyttäjä; niin kauan kuin katsot, mitä asennat ja mitä lupia myönnät, sinun tulee olla turvassa tietojesi luvattomalta käytöltä ja jakelulta. Jos estät Android-sovellukselta pääsyn sijaintiisi, sovelluksella ei pitäisi olla mitään keinoa selvittää, missä olet tai missä olet ollut. Jotkut sovelluskehittäjät ovat kuitenkin keksineet tapoja kiertää Androidin lupamalli, International Computer Science Instituten (ICSI) tutkijoiden mukaan.
Mukaan CNET, tutkimus esiteltiin viime kuussa klo PrivacyCon sen jälkeen, kun se kerrottiin vastuullisesti sekä Googlelle että FTC: lle viime syyskuussa. vaikkakin FTC: n verkkosivuilla julkaistussa asiakirjassa ei luettele tarkkaa sovelluksia, jotka tiimi ilmoitti analyysissaan (nämä tiedot tulevat myöhemmin osoitteessa
Kuinka yli 1000 sovellusta ohitti Androidin lupamallin
Tutkijat erottavat kaksi erilaista turvallisuuden kiertämistekniikkaa: sivukanavat ja piilokanavat. Sivukanavatekniikat sisältävät pääsyn tiettyyn tietoon tavalla, jota suojamekanismi ei kata; Esimerkiksi sovellukset pystyivät seuraamaan laitteen sijaintia MAC-osoitteen avulla, kunnes Android Pie esitteli MAC-osoitteiden satunnaistamisen. Piilokanavatekniikat sisältävät kaksi palvelua, jotka tekevät yhteistyötä lähettääkseen dataa yhdestä palvelusta, jolla on kelvollinen käyttöoikeus, sellaiselle, jolla ei ole; esimerkiksi sovellus, jolle on myönnetty sijainnin käyttöoikeus, voi jakaa tiedot sovelluksen kanssa, jolle ei ole myönnetty käyttöoikeutta.
ICSI-tiimi analysoi 88 113 suosituinta Android-sovellusta Yhdysvaltain Google Play -kaupasta ja löysi yli 1 000 sovellusta ja kolmannen osapuolen kirjastoa, jotka käyttää sivukanavia ja/tai salaisia kanavia kiertääkseen Androidin turvatoimia, jotta he pääsevät käsiksi käyttäjien sijaintitietoihin ja pysyviin tunnisteisiin laitteet. Heidän koko tietojoukkonsa koostui 252 864 APK: sta, koska tiimi kaavi ajoittain Play Kaupasta uusia versioita 88 113 sovelluksesta, jotka he suunnittelivat analysoitavansa. He testasivat aluksi jokaisen sovelluksen toimintaa a Google Nexus 5X Android 6.0.1 Marshmallow, mutta testasivat myöhemmin uudelleen havaintojaan a Google Pixel 2 käyttää Android Pieä todistaakseen, että heidän havainnot olivat edelleen voimassa viimeisimmästä julkaisusta julkaisuhetkellä.
Tämän tietojoukon avulla tiimi kehitti menetelmän, joka käyttää dynaamista ja staattista analyysiä Androidin lupamallin kiertämisen havaitsemiseksi. Toisin sanoen tiimi tutki sovelluksen käyttäytymistä tarkastamalla sovelluksen ajonaikaista toimintaa (dynaaminen analyysi) tai tarkistamalla koodin mahdollisen haitallisen toiminnan varalta (staattinen analyysi.) Haitalliset sovelluskehittäjät ovat tietysti tietoisia näistä tekniikoista ja käyttävät koodin hämärtämistä ja dynaamista koodin lataamista staattisen analyysin vaikeuttamiseksi tai TLS: n sieppaus havaita, milloin sovellus on käynnissä virtualisoidussa ympäristössä, joten ICSI-tiimi käytti yhdistelmässä staattista ja dynaamista analyysiä (hybridianalyysiä) testaus. Tämän seurauksena tiimi havaitsi, että sovellukset, joilla ei ollut vaadittuja käyttöoikeuksia, kaavisivat seuraavia tietoja:
- IMEI: Koska IMEI on ainutlaatuinen, pysyvä tunniste, verkkopalveluiden on hyödyllistä kaapata, jotta ne voivat seurata yksittäisiä laitteita. Ryhmä havaitsi, että Lohia ja Baidu SDK: t käyttivät piilokanavaa IMEI: n lukemiseen. Sovellukset, joilla oli laillinen käyttöoikeus IMEI: ään, tallensivat piilotettuja tiedostoja ulkoiseen tallennustilaan, joka sisälsi laitteen IMEI: n, jotta muut sovellukset, joilla ei ollut laillista käyttöoikeutta, voisivat lukea IMEI: n. Tunnistettuja sovelluksia, jotka käyttävät Baidun SDK: ta tällä tavalla, ovat Disneyn Hongkongin ja Shanghain teemapuistosovellukset, Samsung Health ja Samsung Browser.
- Verkon MAC-osoite: Verkon MAC-osoite on myös yksilöllinen tunniste, ja tavallisesti se on suojattu ACCESS_NETWORK_STATE-luvalla. Tutkijoiden mukaan sovellukset käyttivät C++-natiivikoodia "kutsuakseen useita suojaamattomia UNIX-järjestelmäkutsuja". Tiimi tunnisti 42 sovellusta, jotka käyttivät Unity SDK: ta avaamaan a verkkopistoke ja ioctl saadakseen MAC-osoitteen, vaikka he huomauttivat, että 748 sovelluksesta 12 408:sta sisälsi kyseisen koodin, vaikka niiltä puuttui ACCESS_NETWORK_STATE. lupa.
- Reitittimen MAC-osoite: ACCESS_WIFI_STATE-käyttöoikeus suojaa BSSID: tä, mutta ARP-välimuistin lukeminen tiedostossa /proc/net/arp antaa sovellukselle mahdollisuuden saada kyseiset tiedot ilman oikeuksia. Tutkija tunnisti OpenX SDK käyttää tätä sivukanavatekniikkaa.
- Maantieteellinen sijainti: Tutkijat havaitsivat, että Shutterfly-sovellus pääsi kuvien EXIF-metatietojen sijaintitunnisteisiin. Tarvitset vain READ_EXTERNAL_STORAGE-luvan.
Android Q: ssa Google vaatii nyt, että sovelluksilla on READ_PRIVILEGED_PHONE_STATE lupa lukea IMEI. Android Q: ta käyttävät laitteet lähettävät nyt oletuksena satunnaisia MAC-osoitteita. Lopuksi Android Q: t Kattava tallennustila muutokset vähentävät sovellusten kykyä lukea sijaintitietoja valokuvista. Näin ollen nämä huolenaiheet on käsitelty uusimmassa Android-julkaisussa, mutta kuten me kaikki tiedämme, se tulee olemaan kestää jonkin aikaa jotta uusin päivitys leviää.
Johtopäätös
Kaiken kaikkiaan tämä tutkimus tarjoaa valaisevan tarkastelun siitä, kuinka jotkin sovellukset pääsevät käsiksi tietoihin, jotka pitäisi suojata lupien takana. Tutkimuksessa tarkasteltiin vain osaa Googlen "vaarallisiksi" kutsumista luvista, erityisesti Bluetoothin, yhteystietojen ja tekstiviestien kaltaisten lupien ohittamista. Suosittelen lukemaan tämän raportin täydelliset tiedot FTC: lle toimitettu paperi.