15Jul

SafetyNet Explained: miks Android-tasu ja muud rakendused ei tööta juurtega seadmetes

Android-seadme juurutamine annab teile juurdepääsu paljudele rakendustele ja põhjalikumale juurdepääsule Android-süsteemile. Kuid mõned rakendused nagu Google Android Pay ei tohiks üldse töötada juurutatud seadmes.

Google kasutab SafeNet'i nime, et tuvastada, kas teie seade on juurdunud või mitte, ja blokeerib nende funktsioonide juurdepääsetavuse. Google ei ole ainus, ka paljud kolmanda osapoole rakendused ei tööta ka juurdunud Android-seadmetes, kuigi nad võivad juurte olemasolu kontrollida ka muul viisil.

SafetyNet: Kuidas Google teab, et olete oma Android-telefoni juurestanud?

Android-seadmed pakuvad Google'i heakskiidetud Android-seadmetesse installitud Google Play teenuste kihti "SafetyNet API".See API annab Google'ile juurdepääsu Google'i teenustele, mis aitavad teil hinnata Android-seadme tervist ja turvalisust. Kui olete Android-arendaja, võite oma rakenduses helistada sellele API-le, et kontrollida, kas teie kasutatavat seadet on rikutud.

See SafetyNet API on loodud selleks, et kontrollida, kas seade on rikutud - kas seda on juurinud kasutaja, kasutab ta kohandatud ROM-i või on nakatunud näiteks madala taseme õelvara abil.

seadmed, mis laadivad koos Google Play poe ja muude installitud rakendustega, peavad saatma Google'i Android'i ühilduvuspaketi. Seadme juurutamine või kohandatud ROMi installimine takistab seadme "CTS Compatible" olemasolu. Nii saab SafetyNet API-i abil öelda, kas olete juurutatud - see lihtsalt kontrollib CTS-i ühilduvust. Samamoodi, kui kasutate Android-seadet, mis ei ole kunagi Google'i rakendustega kaasas - nagu üks neist 20-dollaristest tahvelarvutist, mis saadetakse otse Hiinas asuvast tehasest, ei peeta seda üldse ühilduvaks CTS-ga, isegi kui te pole seda juurutanud.

Selle teabe saamiseks laadib Google Play teenused alla programmi "snet" ja käivitab selle teie seadmes taustal. Programm kogub teie seadmest andmeid ja saadab selle regulaarselt Google'ile. Google kasutab seda teavet mitmesugustel eesmärkidel, näiteks Androidi ökosüsteemi laiema pildi saamiseks selle kohta, kas teie seadme tarkvara on rikutud või mitte. Google ei selgita täpselt, mida snet otsib, kuid tõenäoliselt snet kontrollib, kas teie süsteemi sektsioon on tehase asukohast muudetud.

Saate oma seadme SafeNet'i olekut kontrollida, laadides alla rakenduse, nagu SafetyNet Helper Sample või SafetyNet Playground. Rakendus küsib Google'i SafeNet'i teenust teie seadme oleku kohta ja annab teile vastuse Google'i serverist.

Lisateabe saamiseks lugege seda blogipostitust, mille on kirjutanud tarkvara turbefirma Cigital tehniline strateeg John Kozyrakis. Ta purustas SafeNet'i ja selgitas rohkem, kuidas see toimib.

Rakenduse

rakendus Ohutusnimi on rakenduse arendajatele vabatahtlik ja rakenduse arendajad saavad seda kasutada või mitte. SafetyNet takistab ainult rakenduse toimimist, kui rakenduse arendaja ei soovi, et see tööks juurdunud seadmetega.

Enamik rakendusi ei kontrolli ohutust API üldse. Isegi rakendus, mis kontrollib SafetyNet'i API-d nagu eespool kirjeldatud testrakendusi, ei lakka töötama, kui nad saavad halva vastuse. Rakenduse arendaja peab kontrollima SafetyNet'i API-d ja andma rakendusele keeldumise, kui ta õpib, et teie seadme tarkvara on muudetud. Google'i enda Android Payi rakendus on hea näide sellest toimingust.

Android Pay ei tööta juurdunud seadmetes

Google'i Android Payi mobiilimakse lahendus ei toimi üldse juurdunud Android-seadmetes. Proovige seda käivitada ja näete lihtsalt sõnumit "Android Pay ei saa kasutada. Google ei saa kontrollida, kas teie seade või sellel töötav tarkvara on Androidiga ühilduv. "

See ei tähenda ainult juurdumist, muidugi käitades kohandatud ROM-i, paneks ka selle nõude täitmata. SafetyNet API väidab, et kui te kasutate kohandatud ROM-i, mida seade ei saanud, siis pole see Android-ühilduv.

Pidage meeles, et see ei tuvasta lihtsalt juurdumist. Kui teie seade oli nakatunud mõne süsteemi tasemel pahavara, millel oleks võimalus Android Payi ja muude rakenduste nuhkimiseks, siis ka SafetyNet API takistab Android Payi toimimist, mis on hea asi.

Seadme juurimine katkestab Androidi tavalise turvamudeli. Androidi tasu kaitseb teie makseandmeid tavapäraselt Android-liivakasti funktsioonide abil, kuid rakendused võivad juurutatud seadmest liivakastiga välja ulatuda. Googleil ei ole võimalust teada, kui turvaline Android Pay on konkreetse seadme puhul, kui see on juurdunud või töötab tundmatu kohandatud ROMi, nii et nad blokeerivad seda. Android Payi insener selgitas XDA arendajafoorumi probleemi, kui olete uudishimulik lugeda rohkem.

Muud viisid Rakendused suudavad tuvastada juurtest

SafetyNet on ainult üks viis, kuidas rakendus saaks kontrollida, kas see töötab juurdunud seadmes. Näiteks Samsungi seadmetes on turvasüsteem KNOX.Kui te oma seadet juurutate, rikutakse KNOXi turvalisust. Samsungi makse, Samsungi enda mobiilimaksete rakendus keeldub juurutatud seadmetes töötamisest. Sellegipoolest kasutab KNOX, kuid see võib kasutada ka SafetyNet'i.

Sarnaselt ei luba paljud kolmanda osapoole rakendused neid kasutada, mitte kõik neist kasutavad SafeNet'i. Nad võivad lihtsalt kontrollida, kas seadmes on teadaolevad juurutaotlused ja -protsessid.

On raske leida ajakohastatud loendit rakendustest, mis ei tööta, kui seade on seatud. Kuid RootCloak pakub mitmeid loendeid. Need nimekirjad võivad olla aegunud, kuid need on parimad, mida me leiame. Paljud on pangandus- ja muud mobiilikoti rahakotirakendused, mis blokeerivad juurtega telefonide juurdepääsu püüdes kaitsta teie pangateavet teiste rakenduste poolt. Videovoogude teenuste rakendused võivad keelduda ka juurdunud seadmest teatud tüüpi DRM-i meetmena, üritades vältida kaitstud videovoo salvestamist.

Mõned rakendused saab eksitada

Google kasutab SafeNet'iga kassi ja hiire mängu, pidevalt ajakohastades seda, püüdes hoida ära inimesi, kes seda ümbritsevad. Näiteks Androidi arendaja Chainfire on loonud uue Android-seadmete juurutamise ilma süsteemiriba muutmata, mida tuntakse kui "süsteemivaba root".SafetyNet algselt ei tuvastanud selliseid seadmeid omavoliliselt ja Androidi tasu töötas - aga ohutusnat sai lõpuks uue juhtimismeetodi tuvastamiseks. See tähendab, et Android Pay ei toimi enam süsteemset juurtega.

Sõltuvalt sellest, kuidas rakendus kontrollib root juurdepääsu, võite seda petta. Näiteks on teatatud meetodid mõnede Samsungi seadmete juurimiseks ilma KNOXi turvalisuseta, mis võimaldab teil jätkata Samsung Payi kasutamist.

Rakenduste puhul, mis lihtsalt kontrollivad juurkasutajate rakendusi teie süsteemis, on Xposed raamistiku moodul nimega RootCloak, mis teatas, et saate neid ikkagi töö tegemiseks petta. See töötab rakendustega nagu DirecTV GenieGo, Best Buy CinemaNow ja Flixsteri filmid, mis tavaliselt ei tööta juurdunud seadmetes. Kuid kui neid rakendusi värskendati, et kasutada Google'i SafetyNet'i, ei oleks neid sellisel viisil nii lihtne trikkida.

Enamik rakendusi jätkab normaalset tööd, kui olete oma seadme juurte seadnud. Mobiilimakse rakendused on suur erand, nagu ka mõned muud pangandus- ja finantsrakendused. Tasulised videoteedid mõnikord püüavad blokeerida teid ka nende videote vaatamise eest.

Kui teie vajalik rakendus ei toimi teie juurdunud seadmes, saate selle alati kasutada, et teie seade seda kasutada. Rakendus peaks töötama pärast seda, kui olete oma seadme turvalise, tehasesoleku tagasi tagastanud.

pildikrediit: Danny Choo Flickril