Înrădăcinarea dispozitivului Android vă oferă acces la o varietate mai largă de aplicații și un acces mai profund la sistemul Android. Dar unele aplicații - cum ar fi Android Pay de la Google –Nu funcționează deloc pe un dispozitiv înrădăcinat.
Google folosește ceva numit SafetyNet pentru a detecta dacă dispozitivul dvs. este sau nu înrădăcinat și blochează accesul la aceste funcții. Nici Google nu este singurul - și multe aplicații terțe nu vor funcționa dispozitive Android înrădăcinate , deși pot verifica prezența rădăcinii în alte moduri.
SafetyNet: modul în care Google știe că v-ați înrădăcinat telefonul Android
LEGATE DE: V-ați săturat să vi se fure cardul de credit? Folosiți Apple Pay sau Android Pay
Dispozitivele Android oferă un „ API SafetyNet , ”Care face parte din Servicii Google Play strat instalat pe dispozitivele Android aprobate de Google. Acest API „oferă acces la serviciile Google care vă ajută să evaluați sănătatea și siguranța unui dispozitiv Android”, potrivit Google. Dacă sunteți dezvoltator Android, puteți apela acest API în aplicația dvs. pentru a verifica dacă dispozitivul pe care îl folosiți a fost modificat.
Această API SafetyNet este concepută pentru a verifica dacă un dispozitiv a fost manipulat - dacă a fost înrădăcinat de un utilizator, rulează un ROM personalizat sau a fost infectat cu malware de nivel scăzut, de exemplu.
Dispozitivele livrate împreună cu Magazinul Google și alte aplicații instalate trebuie să treacă de „Compatibility Test Suite” pentru Android de la Google. Înrădăcinarea unui dispozitiv sau instalarea unui ROM personalizat împiedică un dispozitiv să fie „Compatibil CTS”. Acesta este modul în care API-ul SafetyNet vă poate da seama dacă sunteți înrădăcinat - acesta doar verifică compatibilitatea CTS. În mod similar, dacă primiți un dispozitiv Android care nu a venit niciodată cu aplicațiile Google - cum ar fi una dintre acele tablete de 20 USD livrate direct dintr-o fabrică din China - nu va fi considerat deloc „compatibil CTS”, chiar dacă nu l-ați înrădăcinat. .
Pentru a obține aceste informații, serviciile Google Play descarcă un program numit „snet” și îl rulează în fundal pe dispozitivul dvs. Programul colectează date de pe dispozitivul dvs. și le trimite la Google în mod regulat. Google folosește aceste informații în diferite scopuri, de la obținerea unei imagini a ecosistemului Android mai larg până la stabilirea dacă software-ul dispozitivului dvs. a fost sau nu modificat. Google nu explică exact ce caută snet-ul, dar probabil că snet-ul verifică dacă partiția de sistem a fost modificată din starea de fabrică.
Puteți verifica starea SafetyNet a dispozitivului dvs. descărcând o aplicație de genul Eșantion de asistență SafetyNet sau Teren de joacă SafetyNet . Aplicația va întreba serviciul Google SafetyNet despre starea dispozitivului dvs. și vă va spune răspunsul pe care îl primește de pe serverul Google.
Pentru mai multe detalii tehnice, citiți această postare de blog scris de John Kozyrakis, un strateg tehnic la Cigital, o companie de securitate software. S-a săpat în SafetyNet și explică mai multe despre cum funcționează.
Depinde de aplicație
SafetyNet este opțional pentru dezvoltatorii de aplicații, iar dezvoltatorii de aplicații pot alege să îl folosească sau nu. SafetyNet împiedică o aplicație să funcționeze numai dacă dezvoltatorul unei aplicații nu dorește ca aceasta să funcționeze pe dispozitive înrădăcinate.
Majoritatea aplicațiilor nu vor verifica deloc API-ul SafetyNet. Chiar și o aplicație care verifică API-ul SafetyNet - cum ar fi aplicațiile de test de mai sus - nu va înceta să funcționeze dacă primesc un răspuns greșit. Dezvoltatorul aplicației trebuie să verifice API-ul SafetyNet și să refuze aplicația să funcționeze dacă află că software-ul dispozitivului dvs. a fost modificat. Aplicația Android Android de la Google este un bun exemplu în acest sens.
Android Pay nu va funcționa pe dispozitive înrădăcinate
Soluția de plată mobilă Android Pay de la Google nu funcționează deloc pe dispozitivele Android înrădăcinate. Încercați să îl lansați și veți vedea doar un mesaj care spune „Android Pay nu poate fi utilizat. Google nu poate verifica dacă dispozitivul dvs. sau software-ul care rulează pe acesta sunt compatibile cu Android. ”
Desigur, nu este vorba doar de înrădăcinare - rularea unui ROM personalizat v-ar pune, de asemenea, la curent cu această cerință. API-ul SafetyNet va susține că nu este „compatibil cu Android” dacă utilizați un ROM personalizat cu care dispozitivul nu a venit.
LEGATE DE: Cazul împotriva rădăcinii: de ce dispozitivele Android nu vin înrădăcinate
Amintiți-vă, acest lucru nu detectează doar înrădăcinarea. Dacă dispozitivul dvs. ar fi infectat de unele programe malware la nivel de sistem cu posibilitatea de a spiona Android Pay și alte aplicații, API-ul SafetyNet ar împiedica și Android Pay să funcționeze, ceea ce este un lucru bun.
Înrădăcinarea dispozitivului dvs. încalcă modelul normal de securitate al Android. Android Pay vă protejează în mod normal datele de plată utilizând funcțiile sandboxing ale Android, dar aplicațiile pot ieși din sandbox pe un dispozitiv înrădăcinat . Google nu are cum să știe cât de sigur ar fi Android Pay pe un anumit dispozitiv dacă este înrădăcinat sau rulează un ROM personalizat necunoscut, așa că îl blochează. Un inginer Android Pay a explicat problema pe forumul XDA Developers dacă sunteți curios să citiți mai multe.
Alte modalități prin care aplicațiile pot detecta rădăcina
SafetyNet este doar un mod prin care o aplicație ar putea verifica dacă rulează pe un dispozitiv înrădăcinat. De exemplu, dispozitivele Samsung includ un sistem de securitate numit KNOX. Dacă vă rădăcinați dispozitivul, securitatea KNOX este declanșată. Samsung Pay, aplicația Samsung de plăți mobile, va refuza să funcționeze pe dispozitivele înrădăcinate. Samsung folosește KNOX pentru aceasta, dar la fel de bine ar putea folosi SafetyNet.
În mod similar, o mulțime de aplicații terțe vă vor împiedica să le utilizați și nu toate folosesc SafetyNet. Este posibil să verifice doar prezența aplicațiilor și proceselor rădăcină cunoscute pe un dispozitiv.
Este greu să găsești o listă actualizată de aplicații care nu funcționează atunci când un dispozitiv este înrădăcinat. Cu toate acestea, RootCloak oferă mai multe liste . Este posibil ca aceste liste să fie învechite, dar sunt cele mai bune pe care le putem găsi. Multe sunt aplicații bancare și alte aplicații de portofel mobil, care blochează accesul pe telefoanele înrădăcinate, în încercarea de a vă proteja informațiile bancare de a fi capturate de alte aplicații. Aplicațiile pentru serviciile de streaming video pot refuza, de asemenea, să funcționeze pe un dispozitiv înrădăcinat ca un fel de măsură DRM, încercând să vă împiedice să înregistrați un flux video protejat.
Unele aplicații pot fi păcălite
Google joacă un joc cu șoarece și mouse cu SafetyNet, actualizându-l constant, încercând să rămână în fața oamenilor care îl ocolesc. De exemplu, dezvoltatorul Android Chainfire a creat o nouă metodă de înrădăcinare a dispozitivelor Android fără a modifica partiția de sistem, cunoscută sub numele de „rădăcină fără sistem”. SafetyNet nu a detectat inițial astfel de dispozitive ca fiind manipulate și Android Pay a funcționat - dar SafetyNet a fost în cele din urmă actualizat pentru a detecta această nouă metodă de înrădăcinare. Aceasta înseamnă Android Pay nu mai funcționează împreună cu rădăcina fără sistem.
LEGATE DE: Uitați de ROM-urile intermitente: utilizați cadrul Xposed pentru a vă regla Androidul
În funcție de modul în care o aplicație verifică accesul la root, este posibil să o puteți păcăli. De exemplu, există metode de rootare a unor dispozitive Samsung fără a declanșa securitatea KNOX, ceea ce vă va permite să utilizați în continuare Samsung Pay.
În cazul aplicațiilor care verifică doar aplicațiile root din sistemul dvs., există o Xposed Framework modul numit RootCloak ceea ce vă permite să îi păcăliți să lucreze oricum. Acest lucru funcționează cu aplicații precum DirecTV GenieGo, Best Buy CinemaNow și Filme de Flixster, care nu funcționează în mod normal pe dispozitivele înrădăcinate. Cu toate acestea, dacă aceste aplicații ar fi actualizate pentru a utiliza SafetyNet Google, nu ar fi atât de ușor de păcălit în acest fel.
Majoritatea aplicațiilor vor continua să funcționeze în mod normal, după ce ați rădăcinat dispozitivul. Aplicațiile de plată mobilă reprezintă marea excepție, la fel ca și alte aplicații bancare și financiare. Serviciile de streaming video cu plată încearcă uneori să vă împiedice să vizionați și videoclipurile lor.
Dacă o aplicație de care aveți nevoie nu funcționează pe dispozitivul dvs. înrădăcinat, vă puteți oricând dezrădăcina dispozitivul pentru ao utiliza. Aplicația ar trebui să funcționeze după ce ați readus dispozitivul la starea sa sigură, din fabrică.
Credit de imagine: Danny Choo pe Flickr