Domača » kako » SafetyNet Explained Zakaj Android Pay in druge aplikacije ne delujejo na Rooted Devices

    SafetyNet Explained Zakaj Android Pay in druge aplikacije ne delujejo na Rooted Devices

    Ustvarjanje naprave Android vam omogoča dostop do širšega nabora aplikacij in globljega dostopa do sistema Android. Toda nekateri programi, kot je Googlov Android, ne bodo delovali na napravi.

    Google uporablja tako imenovano SafetyNet, da ugotovi, ali je vaša naprava zakoreninjena ali ne, in blokira dostop do teh funkcij. Google ni edini, prav tako ne veliko aplikacij drugih izdelovalcev ne bo deloval na vgrajenih napravah Android, čeprav lahko preverjajo prisotnost korena na druge načine.

    SafetyNet: Kako Google ve, da ste ukoreninili vaš telefon Android

    Naprave s sistemom Android ponujajo API za varnostNet, ki je del sloja storitev Google Play, ki je nameščen na napravah Android, ki jih je odobril Google. Ta API »omogoča dostop do Googlovih storitev, ki vam pomagajo oceniti zdravje in varnost naprave Android«, pravi Google. Če ste razvijalec za Android, lahko v API-ju pokličete ta API, da preverite, ali je bila naprava, ki jo uporabljate, spremenjena.

    Ta API varnostnega omrežja je zasnovan tako, da preveri, ali je bila naprava spremenjena - ali je bila zakoreninjena s strani uporabnika, ali je nameščena po meri ROM ali je bila okužena z zlonamerno programsko opremo nizke ravni, na primer.

    Naprave, ki so dobavljene z Googlovo trgovino Play in druge nameščene aplikacije, morajo prenesti Googlov Android Suite za združljivost. Korekcija naprave ali namestitev prilagojenega ROM-a preprečuje, da bi bila naprava „združljiva s CTS“. Tako lahko API SafetyNet pove, če ste zakoreninjeni - samo preverja združljivost CTS. Podobno, če dobite napravo Android, ki nikoli ni prišla z Googlovimi aplikacijami, kot je ena od teh 20-ih tablet, poslanih neposredno iz tovarne na Kitajskem, se sploh ne bo štela za „združljivo s CTS“, tudi če je niste zasidrali..

    Če želite dobiti te informacije, storitve Google Play prenesejo program z imenom »snet« in ga zaženejo v ozadju vaše naprave. Program zbira podatke iz vaše naprave in ga redno pošilja Googlu. Google te informacije uporablja za različne namene, od pridobivanja slike širšega ekosistema Androida do ugotavljanja, ali je bila programska oprema vaše naprave spremenjena ali ne. Google ne pojasni, kaj točno išče snet, vendar je verjetno snet preveril, ali je bila sistemska particija spremenjena iz tovarniškega stanja.

    Stanje SafetyNet naprave lahko preverite tako, da prenesete aplikacijo, kot je SafetyNet Helper Sample ali SafetyNet Playground. Aplikacija bo vprašala Googlovo storitev SafetyNet o stanju vaše naprave in vam povedala, kakšen je odziv Googlovega strežnika.

    Za več tehničnih podrobnosti, preberite ta blog post, ki ga je napisal John Kozyrakis, tehnični strateg podjetja Cigital, podjetje za varnost programske opreme. Vkopal je v SafetyNet in pojasnil, kako deluje.

    To je do aplikacije

    SafetyNet je neobvezen za razvijalce aplikacij, razvijalci aplikacij pa se lahko odločijo za njegovo uporabo ali ne. SafetyNet preprečuje, da aplikacija deluje, če razvijalec aplikacije ne želi, da deluje na napravah, ki so zakoreninjene.

    Večina aplikacij sploh ne bo preverjala API-ja SafetyNet. Tudi aplikacija, ki preverja varnostne API-je, podobne testnim aplikacijam zgoraj, ne bo prenehala delovati, če prejmejo slab odziv. Razvijalec aplikacije mora preveriti API SafetyNet in aplikacijo zavrniti, če izve, da je bila programska oprema vaše naprave spremenjena. Googlova lastna aplikacija Android Pay je dober primer tega v akciji.

    Android Pay ne bo deloval na korenskih napravah

    Googlova rešitev za plačevanje z mobilnimi napravami Android Pay sploh ne deluje na ukoreninjenih napravah Android. Poskusite ga zagnati in videli boste sporočilo, da »Android Pay ni mogoče uporabiti. Google ne more preveriti, ali je vaša naprava ali programska oprema, ki jo uporabljate, združljiva s sistemom Android. "

    Ne gre samo za ukoreninjenje, seveda - vodenje prilagojenega ROM-a bi vas prav tako ogrozilo zaradi te zahteve. API SafetyNet bo trdil, da ni »združljiv z Androidom«, če uporabljate prilagojen ROM, ki ga naprava ni dobila.

    Ne pozabite, da to ne zazna samo ukoreninjenja. Če je bila vaša naprava okužena z zlonamerno programsko opremo na ravni sistema, ki je sposobna vohuniti v storitvi Android Pay in drugih aplikacijah, bo API SafetyNet preprečil delovanje sistema Android Pay, kar je dobro..

    Korekcija vaše naprave prekine običajen varnostni model Androida. Storitev Android Pay običajno ščiti vaše plačilne podatke s funkcijami brskalnika v okolju Android, vendar lahko aplikacije iztečejo iz peskovnika na ukoreninjeni napravi. Google ne more vedeti, kako varna Android Pay bo na določeni napravi, če je zakoreninjena ali teče neznani ROM po meri, zato ga blokirajo. Inženir Android Pay je razložil problem na forumu XDA Developers, če vas zanima več.

    Drugi načini aplikacije lahko zaznajo korenine

    SafetyNet je le eden od načinov, kako lahko aplikacija preveri, ali se izvaja na napravi, ki je zakoreninjena. Na primer, naprave Samsung vključujejo varnostni sistem z imenom KNOX. Če izkorenite napravo, se sproži varnost KNOX. Samsung Pay, lastna Samsungova aplikacija za mobilna plačila, bo zavrnila delovanje na ukoreninjenih napravah. Samsung uporablja KNOX za to, vendar lahko prav tako dobro uporablja SafetyNet.

    Podobno vam bo veliko aplikacij drugih izdelovalcev preprečilo njihovo uporabo in vsi ne uporabljajo SafetyNet. Lahko samo preverijo prisotnost znanih koreninskih aplikacij in procesov na napravi.

    Težko je najti posodobljen seznam aplikacij, ki ne delujejo, ko je naprava zakoreninjena. Vendar pa RootCloak ponuja več seznamov. Ti seznami so morda zastareli, vendar so najboljši, ki jih lahko najdemo. Številne so aplikacije za bančne in druge mobilne denarnice, ki preprečujejo dostop do ukoreninjenih telefonov, da bi zaščitile vaše bančne podatke pred tem, da jih ujamejo druge aplikacije. Aplikacije za storitve pretakanja videoposnetkov lahko zavrnejo tudi delovanje na ukoreninjeni napravi kot neke vrste ukrep DRM, s katerim se poskušajo preprečiti snemanje zaščitenega videoposnetka.

    Nekatere aplikacije je mogoče omamiti

    Google se igra z mačko in miško z SafetyNet, ki ga nenehno posodablja, da bi ostal pred ljudmi. Na primer, razvijalec Android Chainfire je ustvaril novo metodo za korenjenje naprav Android, ne da bi spremenil sistemsko particijo, znano kot "sistemski koren". SafetyNet na začetku ni zaznal takšnih naprav, kot so bile spremenjene, in Android Pay je delal, vendar je bila SafetyNet sčasoma posodobljena, da je odkrila to novo metodo navijanja. To pomeni, da Android Pay ne deluje več skupaj s sistemskim korenom.

    Odvisno od tega, kako aplikacija preveri korenski dostop, jo boste morda lahko prelisičili. Obstajajo na primer metode za koreniranje nekaterih naprav Samsung, ne da bi sprožili varnost KNOX, kar bi vam omogočilo, da še naprej uporabljate Samsung Pay.

    V primeru aplikacij, ki samo preverijo korenske aplikacije v vašem sistemu, obstaja modul Xposed Framework, imenovan RootCloak, ki vam po navadi omogoča, da jih vseeno pretvarjate v delo. To deluje z aplikacijami, kot sta DirecTV GenieGo, Best Buy CinemaNow in Movies by Flixster, ki običajno ne delujejo na napravah, ki so zakoreninjene. Če pa so bile te aplikacije posodobljene, da bi uporabljale Googlov SafetyNet, jih ne bi bilo tako preprosto oviti.


    Večina aplikacij bo normalno delovala, ko boste napravo zakoreninili. Aplikacije za mobilno plačevanje so velika izjema, kot tudi nekatere druge bančne in finančne aplikacije. Plačane storitve pretakanja videoposnetkov včasih poskušajo preprečiti tudi gledanje njihovih videoposnetkov.

    Če aplikacija, ki jo potrebujete, ne deluje na vaši ukoreninjeni napravi, lahko vedno odstranite napravo in jo uporabite. Aplikacija mora delovati, ko napravo vrnete v varno, tovarniško stanje.

    Zasluge za sliko: Danny Choo na Flickru