SafetyNet Explained: Hvorfor Android Pay og andre apper fungerer ikke på rotte enheter

Innholdsfortegnelse:

SafetyNet Explained: Hvorfor Android Pay og andre apper fungerer ikke på rotte enheter
SafetyNet Explained: Hvorfor Android Pay og andre apper fungerer ikke på rotte enheter

Video: SafetyNet Explained: Hvorfor Android Pay og andre apper fungerer ikke på rotte enheter

Video: SafetyNet Explained: Hvorfor Android Pay og andre apper fungerer ikke på rotte enheter
Video: This Tesla Solar Roof Was NOT Built in a Day - YouTube 2024, April
Anonim
Roter Android-enheten gir deg tilgang til et bredere utvalg av apper og en dypere tilgang til Android-systemet. Men noen apps, som Googles Android Pay, virker ikke i det hele tatt på en rotfestet enhet.
Roter Android-enheten gir deg tilgang til et bredere utvalg av apper og en dypere tilgang til Android-systemet. Men noen apps, som Googles Android Pay, virker ikke i det hele tatt på en rotfestet enhet.

Google bruker noe som heter SafetyNet for å oppdage om enheten din er rotfestet eller ikke, og blokkerer tilgang til disse funksjonene. Google er ikke den eneste, heller - mange tredjepartsprogrammer fungerer heller ikke på roten Android-enheter, selv om de kanskje ser etter tilstedeværelse av rot på andre måter.

SafetyNet: Hvordan Google kjenner du har rodd din Android-telefon

Android-enheter tilbyr en "SafetyNet API", som er en del av Google Play Services-laget som er installert på Google-godkjente Android-enheter. Denne API-en gir tilgang til Google-tjenester som hjelper deg med å vurdere helse og sikkerhet for en Android-enhet, ifølge Google. Hvis du er en Android-utvikler, kan du ringe denne APIen i appen din for å sjekke om enheten du kjører på, har blitt manipulert med.

Denne SafetyNet API er utviklet for å kontrollere om en enhet har blitt manipulert - enten den er blitt rotfestet av en bruker, kjører en tilpasset ROM, eller har blitt smittet med skadelig programvare på lavt nivå, for eksempel.

Enheter som leveres med Googles Play-butikk og andre programmer som er installert, må passere Googles Android-kompatibilitetstest-suite. Roter en enhet eller installerer en egendefinert ROM forhindrer at en enhet blir "CTS-kompatibel". Slik kan SafetyNet API fortelle om du er forankret - det kontrollerer bare for CTS-kompatibilitet. På samme måte, hvis du får en Android-enhet som aldri kom med Googles apps, som en av de $ 20 tabletter som sendes direkte fra en fabrikk i Kina, vil den ikke bli vurdert som "CTS-kompatibel" i det hele tatt, selv om du ikke har rotfestet det.

For å få denne informasjonen laster Google Play Services ned et program med navnet "snet" og kjører det i bakgrunnen på enheten din. Programmet samler inn data fra enheten din og sender den regelmessig til Google. Google bruker denne informasjonen til en rekke formål, fra å få et bilde av det brede Android-økosystemet for å avgjøre hvorvidt enhetens programvare har blitt manipulert. Google forklarer ikke nøyaktig hva snet er på jakt etter, men det er sannsynlig at snet sjekker om systempartisjonen er endret fra fabrikkstaten.

Du kan sjekke SafetyNet-statusen til enheten din ved å laste ned en app som SafetyNet Helper Sample eller SafetyNet Playground. Appen vil spørre Googles SafetyNet-tjeneste om enhetens status og fortelle deg svaret som kommer fra Googles server.

For mer tekniske detaljer, les dette blogginnlegget skrevet av John Kozyrakis, en teknisk strateg ved Cigital, et programvare sikkerhetsselskap. Han gravd til SafetyNet og forklarer mer om hvordan det fungerer.

Image
Image

Det er opp til appen

SafetyNet er valgfritt for apputviklere, og apputviklere kan velge å bruke det eller ikke. SafetyNet forhindrer bare en app fra å fungere hvis en apps utvikler ikke vil at den skal fungere på rotte enheter.

De fleste apps vil ikke sjekke SafetyNet API i det hele tatt. Selv en app som sjekker SafetyNet API-som testappene ovenfor - vil ikke slutte å fungere hvis de mottar et dårlig svar. Appens utvikler må sjekke SafetyNet API og gjøre appen nektet å fungere hvis den lærer at enhetens programvare er endret. Googles egen Android Pay-app er et godt eksempel på dette i aksjon.

Android Pay vil ikke fungere på rote enheter

Googles Android Pay-mobilbetalingsløsning virker ikke i det hele tatt på rotte Android-enheter. Prøv å starte den, og du vil bare se en melding som sier "Android Pay kan ikke brukes. Google kan ikke bekrefte at enheten din eller programvaren som kjører på den, er Android-kompatibel."

Det handler ikke bare om å rote, selvfølgelig å kjøre en egendefinert ROM vil også sette deg avoul av dette kravet. SafetyNet API vil hevde at det ikke er "Android-kompatibelt" hvis du bruker en egendefinert ROM som enheten ikke fulgte med.

Husk at dette ikke bare oppdager rooting. Hvis enheten din ble smittet av noe skadelig programvare på systemetivå, med muligheten til å spionere på Android Pay og andre programmer, vil SafetyNet API også forhindre at Android Pay fungerer, noe som er bra.
Husk at dette ikke bare oppdager rooting. Hvis enheten din ble smittet av noe skadelig programvare på systemetivå, med muligheten til å spionere på Android Pay og andre programmer, vil SafetyNet API også forhindre at Android Pay fungerer, noe som er bra.

Rooting enheten din bryter Android's normale sikkerhetsmodell. Android Pay beskytter vanligvis betalingsdataene dine ved hjelp av Android's sandboxingsfunksjoner, men apps kan bryte ut av sandkassen på en rotfestet enhet. Google har ingen måte å vite hvordan sikker Android Pay ville være på en bestemt enhet hvis den er rotfestet eller kjører en ukjent tilpasset ROM, slik at de blokkerer den. En Android Pay Engineer forklarte problemet på XDA Developers forumet hvis du er nysgjerrig på å lese mer.

Andre måter Apps kan oppdage roten

SafetyNet er bare en måte en app kan sjekke om den kjører på en rotfestet enhet. For eksempel inkluderer Samsung-enheter et sikkerhetssystem kalt KNOX. Hvis du roter enheten din, blir KNOX-sikkerhet utløst. Samsung Pay, Samsungs egen mobilbetalingsapp, vil nekte å fungere på rotte enheter. Samsung bruker KNOX for dette, men det kan like godt bruke SafetyNet.

På samme måte vil mange tredjepartsapps blokkerer deg fra å bruke dem, og ikke alle bruker SafetyNet.De kan bare se etter tilstedeværelsen av kjente rotenapper og prosesser på en enhet.

Det er vanskelig å finne en oppdatert liste over apper som ikke fungerer når en enhet er forankret. Men RootCloak gir flere lister. Disse lister kan være utdaterte, men de er de beste vi kan finne. Mange er banktjenester og andre mobile lommebokapps, som blokkerer tilgang på rotte telefoner i et forsøk på å beskytte bankinformasjonen din fra å bli fanget av andre apper. Apper for videostreaming-tjenester kan også nekte å fungere på en rotfestet enhet som en slags DRM-måling, og forsøker å forhindre deg i å spille inn en beskyttet videostrøm.

Noen apper kan bli lurt

Google spiller et katt-og-mus-spill med SafetyNet, og oppdaterer den kontinuerlig i et forsøk på å holde seg foran folk som kommer seg rundt det. For eksempel har Android-utvikleren Chainfire opprettet en ny metode for å rote Android-enheter uten å endre systempartisjonen, kjent som "systemløs rot". SafetyNet oppdaget i utgangspunktet ikke slike enheter som manipulert, og Android Pay fungerte, men SafetyNet ble til slutt oppdatert for å oppdage denne nye rota-metoden. Dette betyr at Android Pay ikke lenger fungerer sammen med systemløs rot.

Avhengig av hvordan en app sjekker for root-tilgang, kan du kanskje lure den. For eksempel er det angivelig metoder for å rote noen Samsung-enheter uten å utløse KNOX-sikkerheten, noe som gjør at du kan fortsette å bruke Samsung Pay.

I tilfelle av apper som bare ser etter root-apper på systemet, er det en Xposed Framework-modul kalt RootCloak som angivelig tillater deg å lure dem til å fungere uansett. Dette fungerer med apps som DirecTV GenieGo, Best Buy CinemaNow og Movies by Flixster, som vanligvis ikke fungerer på rotte enheter. Men hvis disse appene ble oppdatert for å bruke Googles SafetyNet, ville de ikke være så lett å lure på denne måten.

Image
Image

De fleste appene vil fortsette å fungere normalt når du har rotfestet enheten din. Mobil betaling apps er det store unntaket, som er noen andre bank og finansielle apps. Betalte video-streaming-tjenester prøver noen ganger å blokkere deg fra å se på videoene deres også.

Hvis en app du trenger ikke fungerer på din rotfestede enhet, kan du alltid fjerne enheten din for å bruke den. Appen skal fungere etter at du har returnert enheten til sikker, fabrikkstatus.

Anbefalt: