15Jul

SafetyNet Forklaret: Hvorfor Android Pay og andre apps fungerer ikke på rodede enheder

click fraud protection

At dræbe din Android-enhed giver dig adgang til et bredere udvalg af apps og en dybere adgang til Android-systemet. Men nogle apps, som Google's Android Pay, fungerer slet ikke på en rodnet enhed.

Google bruger noget, der hedder SafetyNet, til at opdage, om din enhed er rodfæstet eller ej, og blokerer adgangen til disse funktioner. Google er ikke den eneste, heller ikke mange af apps fra tredjeparter fungerer ikke på rodfæste Android-enheder, selv om de muligvis tjekker for tilstedeværelsen af ​​rod på andre måder.

SafetyNet: Hvordan Google ved, at du har rødt din Android-telefon

Android-enheder tilbyder en "SafetyNet API", som er en del af Google Play Services-laget, der er installeret på Google-godkendte Android-enheder. Denne API "giver adgang til Google-tjenester, der hjælper dig med at vurdere sundhed og sikkerhed for en Android-enhed," ifølge Google. Hvis du er en Android-udvikler, kan du ringe til dette API i din app for at kontrollere, om den enhed, du kører på, er blevet manipuleret med.

instagram viewer

Denne SafetyNet API er designet til at kontrollere, om en enhed er blevet manipuleret - hvad enten den er blevet forankret af en bruger, kører en brugerdefineret ROM eller er blevet inficeret med f.eks. Skadelig malware.

Enheder, der leveres med Googles Play Butik og andre installerede apps, skal passere Googles Android "Compatibility Test Suite".At dræbe en enhed eller installere en brugerdefineret ROM forhindrer en enhed i at være "CTS-kompatibel".Sådan kan SafetyNet API fortælle om du er forankret - den kontrollerer kun CTS-kompatibilitet. På samme måde, hvis du får en Android-enhed, der aldrig kom med Googles apps, ligesom en af ​​de 20 tabletter, der blev sendt direkte fra en fabrik i Kina, betragtes det ikke som "CTS-kompatibel" overhovedet, selvom du ikke har rodfæstet det.

Hvis du vil hente disse oplysninger, downloader Google Play Services et program med navnet "snet" og kører det i baggrunden på din enhed. Programmet indsamler data fra din enhed og sender det regelmæssigt til Google. Google bruger disse oplysninger til forskellige formål, fra at få et billede af det bredere Android-økosystem til at afgøre, om din enheds software er blevet manipuleret. Google forklarer ikke præcis, hvad snet leder efter, men det er sandsynligvis snoet, hvis din systempartition er blevet ændret fra fabriksstatus.

Du kan kontrollere enhedens SafetyNet-status ved at downloade en app som SafetyNet Helper Sample eller SafetyNet Playground. App'en vil bede Googles SafetyNet-tjeneste om enhedens status og fortælle svaret fra Googles server.

For mere tekniske detaljer, læs dette blog-indlæg skrevet af John Kozyrakis, en teknisk strateg ved Cigital, et software sikkerhedsfirma. Han gravede ind i SafetyNet og forklarede mere om, hvordan det virker.

Det er op til App

SafetyNet er valgfrit for app-udviklere, og app-udviklere kan vælge at bruge det eller ej. SafetyNet forhindrer kun en app i at fungere, hvis en apps udvikler ikke vil have det til at fungere på rodfæste enheder.

De fleste apps vil slet ikke kontrollere SafetyNet API.Selv en app, der kontrollerer SafetyNet API-ligesom testapplikationerne ovenfor - vil ikke stoppe med at arbejde, hvis de får et dårligt svar. Appens udvikler skal kontrollere SafetyNet API og lade appen nægte at fungere, hvis den lærer at din enheds software er blevet ændret. Googles egen Android Pay app er et godt eksempel på dette i aktion.

Android Pay vil ikke fungere på rodede enheder

Googles Android Pay mobile betalingsløsning virker slet ikke på rodede Android-enheder. Prøv at starte det, og du vil bare se en meddelelse, der siger "Android Pay kan ikke bruges. Google kan ikke kontrollere, at din enhed eller softwaren, der kører på den, er Android-kompatibel. "

Det handler ikke kun om rooting, men selvfølgelig at køre en brugerdefineret ROM vil også sætte dig i vejen for dette krav. SafetyNet API vil hævde, at det ikke er "Android-kompatibelt", hvis du bruger en brugerdefineret ROM, som enheden ikke fulgte med.

Husk, dette registrerer ikke bare rooting. Hvis din enhed blev inficeret af et eller andet system-malware med evnen til at spionere på Android Pay og andre apps, ville SafetyNet API også forhindre Android Pay i at fungere, hvilket er en god ting.

Roter din enhed, bryder Android's normale sikkerhedsmodel. Android Pay beskytter normalt dine betalingsdata ved hjælp af Android's sandboxningsfunktioner, men apps kan bryde ud af sandkassen på en roddrevet enhed. Google har ingen måde at vide, hvordan sikker Android Pay ville være på en bestemt enhed, hvis den er rodet eller kører en ukendt brugerdefineret ROM, så de blokerer den. En Android Pay Engineer forklarede problemet på XDA Developers forum, hvis du er nysgerrig efter at læse mere.

Andre måder Apps kan opdage rod

SafetyNet er kun en måde, hvorpå en app kunne kontrollere, om den kører på en roddrevet enhed. For eksempel omfatter Samsung-enheder et sikkerhedssystem ved navn KNOX.Hvis du roterer din enhed, udløses KNOX-sikkerhed. Samsung Pay, Samsungs egen mobilbetalingsapp, vil nægte at fungere på rodfæste enheder. Samsung bruger KNOX til dette, men det kan lige så godt bruge SafetyNet.

Tilsvarende vil mange apps fra tredjeparter blokere dig fra at bruge dem, og ikke alle bruger SafetyNet. De kan bare se efter tilstedeværelsen af ​​kendte rodapps og -processer på en enhed.

Det er svært at finde en opdateret liste over apps, der ikke fungerer, når en enhed er forankret. Dog leverer RootCloak flere lister. Disse lister kan være forældede, men de er de bedste, vi kan finde. Mange er bank- og andre mobile tegnebogsapps, som blokerer adgangen til rodede telefoner i et forsøg på at beskytte dine bankoplysninger fra at blive fanget af andre apps. Apps til video streaming-tjenester kan også nægte at fungere på en roddrevet enhed som en slags DRM-foranstaltning, for at forhindre dig i at optage en beskyttet videostrøm.

Nogle apps kan blive narret

Google spiller et katte-og-mus spil med SafetyNet, og opdaterer det konstant i et forsøg på at holde sig foran folk, der kommer rundt om det. For eksempel har Android-udvikleren Chainfire oprettet en ny metode til rooting Android-enheder uden at ændre systempartitionen, kendt som "systemløs root".SafetyNet opdagede i første omgang ikke sådanne enheder som manipuleret, og Android Pay arbejdede, men SafetyNet blev til sidst opdateret for at opdage denne nye rooting-metode. Dette betyder, at Android Pay ikke længere fungerer sammen med systemløs root.

Afhængigt af, hvordan en app kontrollerer rootadgang, kan du muligvis narre den. For eksempel er der angiveligt metoder til at rodde nogle Samsung-enheder uden at udløse KNOX-sikkerheden, hvilket vil gøre det muligt for dig at fortsætte med at bruge Samsung Pay.

I tilfælde af apps, der bare tjekker rootapplikationer på dit system, er der et Xposed Framework-modul ved navn RootCloak, der angiveligt giver dig mulighed for at narre dem til at arbejde i alligevel. Dette virker med apps som DirecTV GenieGo, Best Buy CinemaNow og Movies af Flixster, som normalt ikke fungerer på rodfæste enheder. Men hvis disse apps blev opdateret for at bruge Googles SafetyNet, ville de ikke være så lette at narre på denne måde.

De fleste apps fortsætter med at fungere normalt, når du har rodnet din enhed. Mobil betaling apps er den store undtagelse, ligesom nogle andre bank-og finansielle apps. Betalede video streaming-tjenester forsøger nogle gange at blokere for at se deres videoer også.

Hvis en app, du har brug for, ikke virker på din rodede enhed, kan du altid fjerne din enhed for at bruge den. App'en skal fungere, efter at du har returneret din enhed til sin sikre, fabriksstatus.

Billedkredit: Danny Choo på Flickr