15Jul

"SafetyNet" paaiškino, kodėl "Android" mokamos ir kitos programos neveikia įsišaknijusių įrenginių

"Android" įrenginio įvedimas suteikia prieigą prie daugybės programų ir gilesnės prieigos prie "Android" sistemos. Tačiau kai kurios programos, tokios kaip "Google" "Android Pay", vis tiek neveikia su prijungtu įrenginiu.

"Google" naudoja kažką "SecurityNet", kad nustatytų, ar jūsų įrenginys yra suarchyvuotas ar ne, ir blokuoja prieigą prie šių funkcijų."Google" yra ne vienintelė, nes daugybė trečiųjų šalių programų taip pat neveiks su šakniniais "Android" įrenginiais, nors kitais būdais jie gali patikrinti šaknies buvimą.

SafetyNet: kaip "Google" žino, kad esate įsišaknijęs savo "Android" telefoną. "Android" įrenginiai "

" siūlo "SafetyNet API", kuris yra "Google Play" paslaugų sluoksnio dalis, įdiegta "Google" patvirtintose "Android" įrenginiuose.Šis API "suteikia prieigą prie" Google "paslaugų, kurios padeda įvertinti" Android "įrenginio sveikatą ir saugą", - teigia "Google".Jei esate "Android" kūrėjas, galite savo programoje skambinti šiuo API, kad patikrintumėte, ar veikia įrenginys, kuriame veikia.

Šis "SafetyNet API" yra skirtas patikrinti, ar prietaisas buvo pažeistas - ar jo buvo įsišaknijęs naudotojas, ar naudojamas pasirinktinis ROM, ar buvo užkrėstas, pavyzdžiui, žemo lygio kenkėjiška programa.

įrenginiai, kurie siunčiami kartu su "Google Play" parduotuvėje ir kitomis įdiegtomis programomis, turi perduoti "Google" "Android" suderinamumo testų komplektą.Prijungus įrenginį arba įdiegus pasirinktinį ROM, įrenginys negali būti "CTS Compatible".Taip saugosNet API gali pasakyti, ar esate įsišaknijęs, tik patikrina suderinamumą su CTS.Panašiai, jei gaunate "Android" įrenginį, kuris niekada nebuvo su "Google" programomis, pvz., Vienas iš tų 20 dolerių tablečių, išsiųstas tiesiai iš Kinijos gamyklos, apskritai jis nebus laikomas "suderinamu su CTS", net jei jo nenurodėte.

Norėdami gauti šią informaciją, "Google Play" paslaugos atsisiunčia programą "snet" ir paleidžia ją savo įrenginio fone. Programa renka duomenis iš savo įrenginio ir reguliariai siunčia ją "Google"."Google" naudoja šią informaciją įvairiems tikslams, norėdami gauti vaizdą apie platesnę "Android" ekosistemą, kad nustatytumėte, ar jūsų įrenginio programinė įranga buvo pažeista."Google" tiksliai nepaaiškina, ko snet ieško, bet tikėtina, kad "snet" patikrins, ar jūsų sistemos skaidinys buvo pakeistas iš gamyklos būsenos.

Galite patikrinti savo įrenginio "SafeNet" būseną, atsisiųsdami programą "SafetyNet Helper Sample" arba "SafetyNet" žaidimų aikštelę.Programa paprašys "Google" "SafetyNet" apie jūsų įrenginio būseną ir pasakys jums atsakymą, gautą iš "Google" serverio.

Daugiau techninių detalių perskaitykite šį tinklaraščio įrašą, kurį parašė kompanijos "Cigital" techninis strategas John Kozyrakis. Jis iškasė "SafetyNet" ir paaiškina daugiau apie tai, kaip jis veikia.

Tai iki programos

"SafetyNet" yra neprivaloma programų kūrėjams, o programų kūrėjai gali pasirinkti ją naudoti arba ne."SafeNet" neleidžia programai veikti, jei programos kūrėjas nenori, kad jis veiktų su prijungtais įrenginiais.

Daugelis programų saugosNet API netikrins. Net programa, kuri patikrina "SafetyNet" API, kaip ir anksčiau pateiktos bandymo programos, nebegalės dirbti, jei jos gaus blogą atsakymą.Programos kūrėjas turi patikrinti "SafetyNet" API ir padaryti, kad programa atsisakytų veikti, jei sužino, kad jūsų įrenginio programinė įranga buvo pakeista."Google" "Android" mokėjimo programa yra geras pavyzdys.

"Android Pay" neveikia su prijungtais įrenginiais "

" "Google" "Android Pay" mobiliojo mokėjimo sprendimas visai neveikia šakniniuose "Android" įrenginiuose. Pabandykite paleisti ją ir pamatysite pranešimą "Android Pay" negalima naudoti."Google" negali patikrinti, ar jūsų įrenginys ar jame naudojama programinė įranga yra suderinama su "Android". "

Tai ne tik šaknys, bet ir, be abejo, paleisti pasirinktinį ROM, taip pat gali paneigti šį reikalavimą."SafetyNet" API teigia, kad "ne suderinamas" su "Android", jei naudojate pasirinktinį ROM, kurio nešė prietaisas.

Atminkite, kad tai ne tik aptiko įsišaknijimą.Jei jūsų įrenginys buvo užkrėstas kai kuriomis sistemos lygmens kenkėjiškomis programomis, galinčiomis šnipinėti "Android Pay" ir kitas programas, "SafetyNet" API taip pat neleistų veikti "Android Pay", o tai yra geras dalykas.

Prietaiso sugadinimas pažeidžia "Android" įprastą saugos modelį."Android Pay" paprastai apsaugo jūsų mokėjimo duomenis naudodamiesi "Android" smėlio dėžės funkcijomis, tačiau programos gali išeiti iš smėlio dėžės su prijungtu įrenginiu."Google" negali žinoti, kaip "Android Pay" būtų saugu tam tikruose įrenginiuose, jei jis yra įsišaknijęs arba paleistas nežinomas pasirinktinio ROM, todėl jie blokuojami."Android Pay" inžinierius paaiškino problemą "XDA Developers" forume, jei norėtumėte sužinoti daugiau.

Kiti būdai Programos gali aptikti šaknį

"SafetyNet" yra tik vienas iš būdų, kuriuo programa galėtų patikrinti, ar ji veikia su prijungtu įrenginiu. Pavyzdžiui, "Samsung" įrenginiuose yra apsaugos sistema, pavadinta KNOX.Jei įtvirtinsite savo įrenginį, KNOX sauga bus išjungta."Samsung Pay", "Samsung" programa "Mobilieji mokėjimai", atsisakys veikti su prijungtais įrenginiais."Samsung" naudoja "KNOX", tačiau ji taip pat gali naudoti "SafetyNet".

Be to, daugybė trečiųjų programų blokuos jus naudoti juos, o ne visi jie naudoja "SafeNet".Jie gali tik patikrinti, ar nėra žinomų pagrindinių programų ir procesų įrenginyje.

Gana sunku rasti naujausią sąrašą programų, kurios neveikia, kai įrenginys yra įsišaknijęs. Tačiau "RootCloak" pateikia kelis sąrašus.Šie sąrašai gali būti pasenę, tačiau jie yra geriausi, kuriuos galime rasti. Daugelis yra banko ir kitų mobiliųjų piniginių programų, kurios blokuoja prieigą prie šakninių telefonų bandant apsaugoti jūsų banko informaciją nuo kitų programų.Vaizdo transliacijos paslaugų programos taip pat gali atsisakyti funkcionuoti su prijungtu įrenginiu kaip tam tikra DRM priemone, bandant užkirsti kelią įrašyti apsaugotą vaizdo įrašo srautą.

Kai kurios programos gali būti apgauti

"Google" žaidžia katės ir pelės žaidimą su "SafetyNet", nuolat atnaujindamas jį bandydamas likti priešais, kai žmonės susiduria. Pavyzdžiui, "Android" kūrėjas "Chainfire" sukūrė naują "Android" įrenginių tvarkymo metodą, nes pakeitė sistemos skaidinį, vadinamą "sistemos be šaknų"."SafetyNet" pradžioje nenustatė, kad tokie įrenginiai buvo pažeisti, o "Android Pay" veikė, bet "SafetyNet" galiausiai buvo atnaujintas, kad nustatytų šį naują metodą.Tai reiškia, kad "Android Pay" nebeveikia kartu su "systemless root".

Priklausomai nuo to, kaip programa tikrina root prieigą, galite ją apgauti. Pavyzdžiui, yra žinoma, kad kai kurie "Samsung" įrenginiai nukreipiami į kompiuterį, nesukeliant KNOX saugumo, todėl galėsite ir toliau naudotis "Samsung Pay".

Tais atvejais, kai programoms, kurios tik patikrina jūsų sistemos root programas, yra "Xposed Framework" modulis, pavadintas "RootCloak", kuris, kaip pranešama, leidžia jums apgauti juos į darbą vistiek. Tai veikia su programomis, tokiomis kaip "DirecTV GenieGo", "Best Buy" "CinemaNow" ir "Flixster" filmai, kurie paprastai neveikia su prijungtais įrenginiais. Tačiau, jei šios programos būtų atnaujintos, kad būtų galima naudoti "Google" "SafetyNet", tokiu būdu jie nebūtų taip lengva apgauti.

Daugelis programų ir toliau dirbs normaliai, kai įjungsite savo įrenginį.Mobiliosios mokėjimo programos yra didelė išimtis, kaip ir kitos bankinės ir finansinės programos. Mokamos vaizdo transliacijos paslaugos kartais bando blokuoti jus taip pat žiūrėti jų vaizdo įrašus.

Jei jums reikalinga programa neveikia jūsų prijungtame įrenginyje, visada galite iš naujo paleisti savo įrenginį jį naudoti. Programa turėtų veikti, kai sugrąžinsite savo įrenginį į saugią, gamyklinę būseną.

vaizdo kreditas: Danny Choo "Flickr

"