Tietyt Marshmallow-laitteet ovat alttiita kosketukselle, jolloin sovellus peittää tekstiä lupaikkunan päällä käyttäjän huijaamiseksi.
Vaikka monet meistä sylkevät äskettäin julkaistusta Nexus-laitteille tarkoitetusta Android Nougatista, suurin osa käyttäjistä käyttää edelleen Android Marshmallowia. Hyökkäys, jonka olemassaolo on dokumentoitu siitä lähtien ainakin vuoden 2015 puolivälissä vaikuttaa edelleen moniin nykyaikaisiin Android-laitteisiin.
Haitalliset sovellukset pystyvät tapjack tekosi osaksi myöntämällä heille luvan, jota et ole nimenomaisesti myöntänyt. Näin hyväksikäyttö toimii.
Tapjackingin paluu
Kuvittele, että avaat Instagramin ja yrität jakaa kuvan, jonka otit äskettäin ollessasi lomalla. Kun valitset kuvan selaamisen galleriassasi, Instagram pyytää sinua myöntämään sille luvan käyttää tallennustilaasi. Mutta kun napautat "kyllä", saat virheilmoituksen.
Et voi myöntää tallennuslupaa Instagramille, koska olet ottanut aktiivisen näytön peittokuvan käyttöön Tässä tapauksessa yksi monista sovelluksista, jotka sävyttävät näyttöäsi, jotta voit käyttää puhelintasi yöllä häikäisemättä sinä itse. Tämä on Android-käyttöoikeusjärjestelmän tapaus
toimii tarkoitetulla tavalla: jotta voit myöntää sovellukselle arkaluonteisen luvan, sinun on poistettava käytöstä kaikki laitteessasi olevat näytön peittokuvat.Sovellukset, jotka pystyvät piirtämään näytön päälle, saattavat huijata sinut syöttämään sille arkaluonteisia tietoja. Esimerkiksi näytön peitto voi sijoittaa väärän salasanan oikean kirjautumisnäytön päälle salasanojen keräämiseksi. Tällaista hyväksikäyttöä kutsutaan "tappaus" ja se on poksannut ja korjattu useisiin Android-versioihin vuosien varrella yksi pahimmista esimerkeistä, joka kestää Android 4.0.3:een asti. Mutta äskettäin hyväksikäyttö palasi Android Marshmallow'n ajonaikainen lupamalli.
Kehittäjä nimeltä Iwo Banaś loi an sovellus demonstroi hyväksikäyttöä. Toimintatapa on melko yksinkertainen - kun sovellus näyttää lupaikkunan, haitallinen sovellus asentamasi järjestelmä näyttää järjestelmän peittokuvan, joka peittää lupaikkunan tekstilohkon millä tahansa tekstillä haluaa. Tietämätön käyttäjä, joka napsauttaa "salli" lupavalintaikkunassa, huijataan myöntämään lupa, jota häneltä pyydettiin - mutta jonka pyyntö oli piilotettu käyttäjän näkyviltä. Tällainen hyväksikäyttö kumoaa täysin Android Marshmallowin lupajärjestelmän tarkoituksen, koska uuden mallin piti varmistaa, että käyttäjät saavat vain ne luvat, joihin he ovat nimenomaisesti suostuneet.
Nyt tiedän mitä ajattelet. Jos Android havaitsi järjestelmän peiton ja estäisi minua myöntämästä Instagram-tallennuslupia, eikö se estäisi tätä hyväksikäyttöä? Vastaus on ei, testauksessani näyttää siltä, että tietyissä laitteissa tekstipeittokuvan näyttäminen lupaikkunan päällä ei laukaise turvamekanismia. Concept-of-concept-napautussovelluksen kehittäjä toteaa, että hyväksikäyttö on tehokasta, koska se riippuu siitä, että käyttäjä asentaa toissijaisen haitallisen sovelluksen, joka on kohdistettu API-tasolle 22 tai sitä alempaan (pre-Marshmallow). Tämä johtuu siitä, että ennen Android Marshmallowia kaikille sovelluksille myönnetään käyttöoikeudet asennuksen aikana.
Okei, jos käytät Marshmallowia, sinun tarvitsee vain välttää sellaisten sovellusten asentamista, joihin et luota ja jotka pyytävät lupaa piirtää peittokuva, eikö niin? Jos Androidin lupamalli toimisi alun perin määritellyllä tavalla, olisit oikeassa. Mutta tämän hyväksikäytön löytämisen jälkeen jopa sovellusliittymätasolle 23 kohdistetut sovellukset (Marshmallow), jotka pyytävät peittokuvan lupaa, ovat mahdollinen riski.
Puuko lupamallissa?
Jos olet yksi niistä miljoonista ihmisistä, jotka käyttävät Facebook Messengeriä chattailuun ystäviesi kanssa, Sitten olet törmännyt yhteen Androidin parhaista ominaisuuksista – sovellusten mahdollisuuden piirtää toistensa päälle näytöt. Kuinka siistiä on, että voit saada kuplan suosikki Facebook-ryhmäkeskustelussasi seurata käyttäjää minkä tahansa sovelluksen päällä, jonka hän avaa? Vaikka Facebookin Messenger toi "kelluvat sovellukset" -idean valtavirtaan, konsepti on ollut olemassa jo jonkin aikaa Androidissa. Sovellukset ovat voineet luoda peittokuvia sovelluksiesi päälle jo jonkin aikaa, kiitos TYPE_SYSTEM_OVERLAY Androidin WindowManagerissa.
Ennen Android Marshmallowia sovellusten on pyydettävä lupa nimeltä SYSTEM_ALERT_WINDOW asennuksen aikana, ennen kuin se voi näyttää peittokuvia näytön päällä. Mutta tämä muuttui 6.0:n rakeisen ajonaikaisen lupamallin käyttöönoton myötä. Käyttäjien olisi nyt myönnettävä käyttöoikeudet sovelluksille, kun he todella käyttävät sovellusta, mikä toivottavasti kannustaisi keskiarvoa käyttäjää suojaamaan omia yksityisiä tietojaan sovelluksilta, jotka epäilyttävästi pyytävät näennäisesti toiminnallisesti liittymättömiä luvat.
SYSTEM_ALERT_WINDOW ei kuitenkaan ole muiden käyttöoikeuksien kaltainen. Kehittäjät eivät voi näyttää valintaikkunaa, jossa pyydetään ohjelmallisesti loppukäyttäjän myöntämää lupaa, kuten useimpien muiden Marshmallowiin kohdistettujen sovellusten luvat. Sen sijaan sinun on navigoitava manuaalisesti asetusnäyttöön ja annettava lupa itse. Tietysti jotkut sovellukset, kuten Facebook Messenger, auttavat sinua prosessissa.
Google vaatii tätä kehittäjiltä, koska he ovat katsoneet luvan olevan "erityisen herkkä."
Erityisluvat
On olemassa muutama käyttöoikeus, jotka eivät toimi normaalien ja vaarallisten käyttöoikeuksien tavoin. SYSTEM_ALERT_WINDOW ja WRITE_SETTINGS ovat erityisen herkkiä, joten useimpien sovellusten ei pitäisi käyttää niitä. Jos sovellus tarvitsee jonkin näistä käyttöoikeuksista, sen on ilmoitettava lupa luettelossa ja lähetettävä käyttäjän valtuutuspyyntö. Järjestelmä vastaa tarkoitukseen näyttämällä käyttäjälle yksityiskohtaisen hallintanäytön.
Ottaen huomioon sen, mitä me tiedämme edellä kosketuksesta, tämä on järkevää. Mutta tässä on asiaa. Google ei edes noudata omia sääntöjään. Kuvakaappaukset Facebook Messengeristä, joka opastaa sinua myöntämään sille SYSTEM_ALERT_WINDOW-lupa, jonka näytin sinulle yllä? Näin tapahtuu vain, jos asennat APK: n Google Play Kaupan ulkopuolelta. Jos asennat sovelluksen Google Play Kaupasta, SYSTEM_ALERT_WINDOW lupa myönnetään automaattisesti.
Google on uhrannut turvallisuuden mukavuuden vuoksi
Kauan ennen Android Marshmallowia SYSTEM_ALERT_WINDOW pidettiin "vaarallinen" lupa. Android Marshmallow 6.0:ssa käyttöoikeus muutettiin allekirjoitus|järjestelmä|sovellus Tämä on se, mitä alun perin vaadittiin kehittäjien ohjaamaan käyttäjä asetusnäyttöön luvan myöntämiseksi. Mutta Android-versiolla 6.0.1 SYSTEM_ALERT_WINDOW muutettiin niin että Google Play Kauppa voi myöntää luvan automaattisestiilmoittamatta käyttäjälle. Miksi Google teki tämän muutoksen, on meille epäselvää. Google itse ei ole kertonut, miksi he tekivät tämän muutoksen, mikä on erityisen outoa, kun otetaan huomioon SYSTEM_ALERT_WINDOW-kieli, joka edelleen esiintyy heidän verkkosivuillaan.
Se on mahdollista tarpeeksi kehittäjiä suuttui SYSTEM_ALERT_WINDOW: n alkuperäisillä muutoksilla, jotka vaativat käyttäjiä myöntämään Googlen hiljaa antaman luvan manuaalisesti ja vain myöntämään sen mille tahansa sitä pyytäneelle sovellukselle. Mutta niin tehdessään Google on tehnyt niin uhrasi turvallisuuden mukavuuden vuoksi. On syy, miksi Google itse piti lupaa vaarallisena pisimpään, koska se on sitä. Ja Marshmallow-luvan tapjacking-hyödyntäminen on riittävä todiste tämän luvan automaattisen myöntämisen mille tahansa sovellukselle luontaisista vaaroista.
Tämä tapjacking-hyökkäys on saatettu tietoomme vasta äskettäin, vaikka se on ollut olemassa jo useita kuukausia. Olemme vahvistaneet tämän XDA Portal -tiimin sisäisessä laitteiden testauksessamme hyväksikäyttö toimii monissa nykyaikaisissa laitteissa, joissa on Android Marshmallow. Tässä on nopea yhteenveto laitteista, joita testasimme kunkin laitteen uusimmilla saatavilla olevilla ohjelmistoversioilla, ja siitä, toimiiko kosketuksen hyväksikäyttö vai ei. Laitteet, joissa on merkintä "Haavoittuva", ovat alttiita salakuuntelun hyväksikäytölle, kun taas laitteet, joissa on merkintä "Ei" Haavoittuvat" voivat havaita peittokuvaa näyttävän sovelluksen ja pyytää poistamaan sen käytöstä ennen jatkuu.
- Nextbit Robin - Android 6.0.1 kesäkuun tietoturvakorjauksilla - Haavoittuvainen
- Moto X Pure - Android 6.0 toukokuun tietoturvakorjauksilla - Haavoittuvainen
- Honor 8 - Android 6.0.1 heinäkuun tietoturvakorjauksilla - Haavoittuvainen
- Motorola G4 - Android 6.0.1 toukokuun tietoturvakorjauksilla - Haavoittuvainen
- OnePlus 2 - Android 6.0.1 kesäkuun tietoturvakorjauksilla - Ei haavoittuva
- Samsung Galaxy Note 7 - Android 6.0.1 heinäkuun tietoturvakorjauksilla - Ei haavoittuva
- Google Nexus 6 – Android 6.0.1 elokuun tietoturvakorjauksilla - Ei haavoittuva
- Google Nexus 6P – Android 7.0 elokuun tietoturvakorjauksilla – Ei haavoittuva
Toistaiseksi nämä ovat kaikki laitteet, jotka olen saanut tiimin testaamaan. En löytänyt korrelaatiota tietoturvakorjauksen version ja hyväksikäytön välillä. Kuten voitte päätellä meiltä viimeisin keskustelu Android-tietoturvapäivityksistä, monet ihmiset eivät kuitenkaan käytä uusimpia tietoturvakorjauksia, joten he ovat mahdollisesti haavoittuvia tälle ja muille, jotka on kuvattu Android-tietoturvatiedote.
Siirtyä eteenpäin
Kehotamme sinua testaamaan tätä hyväksikäyttöä laitteellasi itse nähdäksesi, oletko haavoittuvainen. Olemme koonneet APK: t kohteesta lähdekoodi linkitetty yllä (voit tehdä sen myös itse) ja olet ladannut ne AndroidFileHostiin. Jotta voit testata hyväksikäyttöä, sinun on asennettava molemmat päänapautussovellus samoin kuin sen auttajapalvelu. Suorita sitten pääsovellus ja napsauta "testaa" -painiketta. Jos tekstiruutu leijuu lupavalintaikkunan päällä ja kun napsautat "salli", näkyviin tulee luettelo laitteesi yhteystiedoista, laitteesi on alttiina kosketukselle. Älä ole huolissasi kelluvasta tekstiruudusta, joka ei peitä lupaikkunaa kokonaan, tämä konseptin todistesovellus ei ole Tarkoituksena on osoittaa täydellisesti, kuinka lupaikkuna kaapataan siististi, vaan pikemminkin todistamaan, että se todella on mahdollista.
Toivomme, että käyttöön tulee korjaus, joka korjaa tämän hyödyn kaikille Marshmallow-laitteille ja että OEM-valmistajat päivittävät kaikki laitteensa uusimpaan tietoturvakorjaukseen. Koska todellisuus on, että kestää useita kuukausia, ennen kuin useimmat luvatut laitteet saavat Nougatin, joten useimmille ainoa tapa Käyttäjät voivat pysyä poissa haitallisilta tavoilta joko asentaa uusimmat tietoturvakorjaukset tai ottaa valvontasovelluksen käyttöoikeudet itse. Mutta kun Google päätti myöntää automaattisesti mahdollisesti vaarallisen SYSTEM_ALERT_WINDOW-luvan, monet käyttäjät käyttävät tietämättään sovelluksia, jotka voivat mahdollisesti kaapata heidän puhelimensa tarjotakseen entistä vaarallisempia luvat.