Rootování zařízení Android vám poskytuje přístup k širší paletě aplikací a hlubší přístup k systému Android. Ale některé aplikace - jako Google Android Pay –Na rootovaném zařízení nebude fungovat vůbec.
Google používá něco, co se nazývá SafetyNet, aby zjistil, zda je vaše zařízení rootované nebo ne, a blokuje přístup k těmto funkcím. Google také není jediný - na mnoho aplikací třetích stran také nebude fungovat rootovaná zařízení Android , i když mohou zkontrolovat přítomnost root jinými způsoby.
SafetyNet: Jak Google ví, že jste rootovali svůj telefon Android
PŘÍBUZNÝ: Už vás nebaví krádež kreditní karty? Použijte Apple Pay nebo Android Pay
Zařízení Android nabízejí „ SafetyNet API , “Který je součástí Služby Google Play vrstva nainstalovaná na zařízeních Android schválených společností Google. Toto rozhraní API „poskytuje přístup ke službám Google, které vám pomohou posoudit zdraví a bezpečnost zařízení Android,“ uvádí Google. Pokud jste vývojář pro Android, můžete zavolat toto API ve své aplikaci a zkontrolovat, zda nedošlo k neoprávněné manipulaci se zařízením, na kterém běžíte.
Toto rozhraní SafetyNet API je navrženo tak, aby zkontrolovalo, zda nedošlo k neoprávněné manipulaci se zařízením - zda je rootováno uživatelem, běží vlastní ROM nebo zda není infikováno například malwarem nízké úrovně.
Zařízení, která se dodávají s Obchodem Google Play a dalšími nainstalovanými aplikacemi, musí projít „Testovací sadou kompatibility“ pro Android. Zakořenění zařízení nebo instalace vlastní ROM zabrání tomu, aby bylo zařízení „kompatibilní s CTS“. Takto může rozhraní SafetyNet API zjistit, zda máte kořeny - pouze kontroluje kompatibilitu CTS. Podobně, pokud získáte zařízení Android, které nikdy nepřišlo s aplikacemi Google - například jeden z těch 20 $ tablet dodávaných přímo z továrny v Číně - nebude to vůbec považováno za „kompatibilní s CTS“, i když jste jej nezakořenili .
Chcete-li získat tyto informace, stáhne služba Google Play program s názvem „snet“ a spustí jej na pozadí vašeho zařízení. Program shromažďuje data z vašeho zařízení a pravidelně je odesílá společnosti Google. Google tyto informace používá k nejrůznějším účelům, od získání přehledu o širším ekosystému Android až po zjištění, zda nedošlo k neoprávněné manipulaci se softwarem vašeho zařízení. Google nevysvětluje přesně, co snet hledá, ale je pravděpodobné, že snet zkontroluje, zda byl váš systémový oddíl změněn z továrního stavu.
Stav SafetyNet zařízení můžete zkontrolovat stažením aplikace jako Ukázka pomocníka SafetyNet nebo Hřiště SafetyNet . Aplikace se zeptá služby SafetyNet společnosti Google na stav vašeho zařízení a sdělí vám odpověď, kterou dostane ze serveru Google.
Další technické podrobnosti najdete v článku tento blogový příspěvek napsal John Kozyrakis, technický stratég společnosti Cigital, softwarové bezpečnostní společnosti. Zahrabal se do sítě SafetyNet a vysvětlil více o tom, jak to funguje.
Je to na aplikaci
SafetyNet je pro vývojáře aplikací volitelný a vývojáři aplikací se mohou rozhodnout jej použít nebo ne. SafetyNet brání aplikaci fungovat, pouze pokud vývojář aplikace nechce, aby fungovala na rootovaných zařízeních.
Většina aplikací rozhraní SafetyNet API vůbec nekontroluje. I když aplikace, která zkontroluje rozhraní SafetyNet API - stejně jako výše uvedené testovací aplikace - nepřestane fungovat, pokud obdrží špatnou odpověď. Vývojář aplikace musí zkontrolovat API SafetyNet a nechat aplikaci odmítnout fungovat, pokud zjistí, že byl software vašeho zařízení upraven. Dobrým příkladem toho je vlastní aplikace Android Pay od Googlu.
Android Pay nebude fungovat na rootovaných zařízeních
Řešení mobilních plateb Google Pay od Googlu na rootovaných zařízeních Android vůbec nefunguje. Zkuste jej spustit a uvidíte pouze zprávu „Android Pay nelze použít. Google nemůže ověřit, zda je vaše zařízení nebo software na něm spuštěný kompatibilní s Androidem. “
Nejde samozřejmě jen o zakořenění - spuštění vlastní ROM by vás také dostalo do rozporu s tímto požadavkem. Rozhraní SafetyNet API bude tvrdit, že není „kompatibilní s Androidem“, pokud používáte vlastní ROM, se kterou zařízení nebylo dodáno.
PŘÍBUZNÝ: Případ proti kořenům: Proč zařízení Android nepřijdou jako rootovaná
Nezapomeňte, že to nezjistí pouze rootování. Pokud by vaše zařízení bylo infikováno nějakým malwarem na úrovni systému se schopností špehovat Android Pay a další aplikace, rozhraní SafetyNet API také zabrání fungování Android Pay, což je dobrá věc.
Rootování zařízení narušuje běžný model zabezpečení systému Android. Android Pay obvykle chrání vaše platební údaje pomocí karanténních funkcí Androidu, ale aplikace se mohou vymanit z izolovaného prostoru na rootovaném zařízení . Google nemá žádný způsob, jak zjistit, jak bezpečná by služba Android Pay byla na konkrétním zařízení, pokud má rootovanou nebo běží neznámou vlastní ROM, takže ji zablokuje. Inženýr Android Pay vysvětlil problém na fóru vývojářů XDA pokud se chcete dozvědět více.
Jiné způsoby, jak mohou aplikace detekovat root
SafetyNet je jen jedním ze způsobů, jak může aplikace zkontrolovat, zda běží na rootovaném zařízení. Například zařízení Samsung obsahují bezpečnostní systém s názvem KNOX. Pokud rootujete zařízení, zabezpečení KNOX se vypne. Samsung Pay, aplikace společnosti Samsung pro mobilní platby, odmítne fungovat na rootovaných zařízeních. Samsung k tomu používá KNOX, ale stejně dobře by mohl použít i SafetyNet.
Podobně vám spousta aplikací třetích stran zabrání v jejich používání a ne všechny používají SafetyNet. Mohou pouze zkontrolovat přítomnost známých aplikací a procesů root v zařízení.
Je těžké najít aktuální seznam aplikací, které při rootování zařízení nefungují. RootCloak však poskytuje několik seznamy . Tyto seznamy mohou být zastaralé, ale jsou to ty nejlepší, které můžeme najít. Mnoho z nich je bankovnictví a další aplikace pro mobilní peněženky, které blokují přístup na odemčených telefonech ve snaze chránit vaše bankovní informace před zachycením jinými aplikacemi. Aplikace pro služby streamování videa mohou také odmítnout fungovat na rootovaném zařízení jako jakési opatření DRM a pokoušet se vám zabránit v nahrávání chráněného video streamu.
Některé aplikace lze oklamat
Google hraje hru Safety Cat na kočku a myš a neustále ji aktualizuje, aby si udržel náskok před lidmi, kteří ji obcházejí. Například vývojář Androidu Chainfire vytvořil novou metodu rootování zařízení Android bez úpravy systémového oddílu, známou jako „systemless root“. SafetyNet zpočátku nezjistil, že by se s takovými zařízeními manipulovalo, a Android Pay fungoval - ale SafetyNet byl nakonec aktualizován, aby detekoval tuto novou metodu rootování. To znamená Android Pay již nefunguje spolu s nesystémovým rootem.
PŘÍBUZNÝ: Zapomeňte na blikající ROM: Vylepšete svůj Android pomocí Xposed Framework
V závislosti na tom, jak aplikace kontroluje přístup root, je možné ji oklamat. Například údajně existují metody pro rootování některých zařízení Samsung, aniž by došlo k vypnutí zabezpečení KNOX, což vám umožní pokračovat v používání Samsung Pay.
V případě aplikací, které pouze kontrolují rootové aplikace ve vašem systému, existuje Xposed Framework pojmenovaný modul RootCloak který vám údajně umožňuje přimět je, aby stejně fungovali. Funguje to s aplikacemi jako DirecTV GenieGo, Best Buy CinemaNow a Movies od Flixster, které na rootovaných zařízeních normálně nefungují. Pokud by však tyto aplikace byly aktualizovány tak, aby používaly SafetyNet od Googlu, nebylo by tak snadné je tímto způsobem oklamat.
Po rootování zařízení bude většina aplikací fungovat normálně. Velkou výjimkou jsou mobilní platební aplikace, stejně jako některé další bankovní a finanční aplikace. Placené služby pro streamování videa se někdy pokoušejí zablokovat vám také sledování jejich videí.
Pokud aplikace, kterou potřebujete, na vašem rootovaném zařízení nefunguje, můžete ji kdykoli vykořenit, abyste ji mohli používat. Aplikace by měla fungovat, jakmile zařízení vrátíte do zabezpečeného stavu z výroby.
Kredit obrázku: Danny Choo na Flickru