Úvodná » ako » SafetyNet vysvetlil, prečo Android Pay a ďalšie aplikácie nefungujú na zakorenených zariadeniach

    SafetyNet vysvetlil, prečo Android Pay a ďalšie aplikácie nefungujú na zakorenených zariadeniach

    Začlenenie zariadenia Android vám umožní prístup k širšej ponuke aplikácií a hlbší prístup k systému Android. Ale niektoré aplikácie, ako je Google Payplatz spoločnosti Google, nebudú v koreňovom zariadení fungovať.

    Spoločnosť Google používa na označenie toho, či je vaše zariadenie zakorenené alebo nie, niečo nazývané SafetyNet a blokuje prístup k týmto funkciám. Spoločnosť Google nie je jediná - množstvo aplikácií tretích strán tiež nebude fungovať na koreňových zariadeniach so systémom Android, aj keď môžu skontrolovať prítomnosť koreňa inými spôsobmi.

    SafetyNet: Ako spoločnosť Google vedie, že ste založili svoj telefón s Androidom

    Zariadenia so systémom Android ponúkajú rozhranie "SafetyNet API", ktoré je súčasťou vrstvy služieb Google Play nainštalovaných v zariadeniach so systémom Android schválenými spoločnosťou Google. Tento rozhranie API "poskytuje prístup k službám Google, ktoré vám pomôžu posúdiť zdravie a bezpečnosť zariadenia s Androidom", tvrdí Google. Ak ste vývojár pre Android, môžete túto aplikáciu API vo svojej aplikácii zavolať, aby ste si overili, či zariadenie, ktoré používate, bolo poškodené.

    Toto rozhranie API SafetyNet je navrhnuté tak, aby skontrolovalo, či došlo k zásahu do zariadenia - či už to bolo zakorenené používateľom, či je spustená vlastná pamäť ROM, alebo bola infikovaná malwarom nízkej úrovne, napríklad.

    Zariadenia, ktoré sa dodávajú so zariadením Google Play Store a inými nainštalovanými aplikáciami, musia prejsť cez sadu "Compatibility Test Suite" spoločnosti Google. Začlenenie zariadenia alebo inštalácia vlastnej pamäťovej karty ROM zabraňuje tomu, aby zariadenie bolo kompatibilné s CTS. Takto vám API SafetyNet dokáže zistiť, či máte korene - len kontroluje kompatibilitu CTS. Podobne, ak dostanete zariadenie Android, ktoré nikdy nefungovalo s aplikáciami spoločnosti Google, ako je jedna z tých 20 dolárov tabliet dodávaných priamo z továrne v Číne, nebude to vôbec považovať za kompatibilné so systémom CTS, aj keď ho nemáte zakorenené.

    Ak chcete získať tieto informácie, služby Google Play stiahne program s názvom "snet" a spustí sa na pozadí zariadenia. Program zhromažďuje údaje z vášho zariadenia a pravidelne ich posiela spoločnosti Google. Spoločnosť Google používa tieto informácie na rôzne účely, od získania obrázka širšieho ekosystému Android k určeniu, či bol softvér vášho zariadenia upravený alebo nie. Spoločnosť Google nevysvetľuje presne to, čo snet hľadá, ale je pravdepodobné, že snet skontroluje, či bol systémový oddiel upravený z výroby.

    Stav SafetyNet vášho prístroja môžete skontrolovať stiahnutím aplikácie, ako je SafetyNet Helper Sample alebo SafetyNet Playground. Aplikácia požiada službu Google SafetyNet o stav vášho zariadenia a povie vám odpoveď, ktorú dostane od servera spoločnosti Google.

    Pre viac technických podrobností si prečítajte tento blogový príspevok od John Kozyrakis, technického stratégu spoločnosti Cigital, softvérovej bezpečnostnej spoločnosti. Vykopal do služby SafetyNet a vysvetľuje viac, ako to funguje.

    Je to až na aplikáciu

    Služba SafetyNet je voliteľná pre vývojárov aplikácií a vývojári aplikácií si ich môžu vybrať alebo nie. Služba SafetyNet zabraňuje aplikácii pracovať iba v prípade, že vývojár aplikácie nechce, aby fungovala na zakorenených zariadeniach.

    Väčšina aplikácií vôbec nezkontroluje rozhranie API SafetyNet. Dokonca aj aplikácia, ktorá skontroluje rozhranie API SafetyNet - ako skúšané aplikácie uvedené vyššie, prestane prestať pracovať, ak dostane zlú odpoveď. Vývojár aplikácie musí skontrolovať rozhranie API SafetyNet a nechať aplikáciu odmietnuť, ak sa dozvie, že softvér vášho zariadenia bol upravený. Aplikácia Google Pay for Android je dobrým príkladom tohto postupu.

    Android Pay nebude pracovať na zakorenených zariadeniach

    Platobné riešenie Google Pay for Android platba nefunguje vôbec na koreňových zariadeniach so systémom Android. Pokúste sa spustiť a uvidíte iba správu, v ktorej sa hovorí, že Android Pay nie je možné použiť. Spoločnosť Google nemôže overiť, či je vaše zariadenie alebo softvér, ktorý na ňom beží, kompatibilný so systémom Android. "

    Nie je to len o zakorenenie, samozrejme - bežiaci vlastný ROM by vás takisto dal naplniť túto požiadavku. Aplikácia SafetyNet API bude tvrdiť, že nie je kompatibilná so systémom Android, ak používate vlastnú pamäť ROM, s ktorou zariadenie nebolo dodané.

    Pamätajte, že to nie je len detekovanie koreňov. Ak je vaše zariadenie napadnuté niektorým škodlivým softvérom na úrovni systému so schopnosťou sledovať aplikácie Android Pay a ďalšie aplikácie, rozhranie SafetyNet API tiež zabráni fungovaniu Android Pay, čo je dobrá vec.

    Zakorenenie prístroja porušuje bežný model zabezpečenia Android. Platba Android bežne chráni vaše platobné údaje pomocou funkcií sandboxingu Android, ale aplikácie sa môžu vymaniť z karantény na koreňovom zariadení. Google nemá žiadny spôsob, ako vedieť, ako bezpečná platba Android bude na konkrétnom zariadení, ak je zakorenené alebo je spustená neznáma vlastná pamäť ROM, a preto ju blokujú. Inžinier systému Android Payplat vysvetlil problém na fóre XDA vývojárov, ak ste zvedaví viac informácií.

    Iné spôsoby, ako aplikácie dokážu rozpoznať koreň

    Služba SafetyNet je len jedným spôsobom, ako môže aplikácia skontrolovať, či je spustená na koreňovom zariadení. Napríklad zariadenia Samsung obsahujú bezpečnostný systém s názvom KNOX. Ak zakopnete prístroj, zablokuje sa zabezpečenie KNOX. Spoločnosť Samsung Pay, vlastná aplikácia Samsung pre mobilné platby, odmietne fungovať na koreňových zariadeniach. Spoločnosť Samsung za týmto účelom používa KNOX, ale mohla by rovnako dobre používať službu SafetyNet.

    Podobne veľa aplikácií tretích strán vás zabráni v ich používaní a nie všetky používajú aplikáciu SafetyNet. Môžu len skontrolovať prítomnosť známych koreňových aplikácií a procesov v zariadení.

    Je ťažké nájsť aktuálny zoznam aplikácií, ktoré nefungujú, keď je zariadenie zakorenené. RootCloak však poskytuje niekoľko zoznamov. Tieto zoznamy môžu byť zastarané, ale sú to najlepšie, ktoré môžeme nájsť. Mnohé z nich sú bankové a iné mobilné aplikácie peňaženky, ktoré zabraňujú prístupu na zakorenených telefónoch v snahe ochrániť vaše bankové informácie pred zachytením inými aplikáciami. Aplikácie pre služby streamingu videa môžu tiež odmietnuť fungovanie na zakorenenom zariadení ako akékoľvek opatrenie DRM, ktoré sa snažia zabrániť nahrávaniu chráneného video streamu.

    Niektoré aplikácie môžu byť podvedené

    Spoločnosť Google hrá s kartou SafetyNet hru typu "mačka a myš" a neustále ju aktualizuje v snahe zostať pred ľuďmi, ktorí ju obchádzajú. Napríklad vývojár spoločnosti Android Chainfire vytvoril novú metódu zakomponovania zariadení Android bez úpravy systémového oddielu, ktorý je nazývaný ako "systémový root". Spoločnosť SafetyNet na začiatku neidentifikovala takéto zariadenia ako manipuláciu a Android Pay pracoval - ale SafetyNet sa nakoniec aktualizoval, aby zistil túto novú metódu založenia. To znamená, že Android Pay už nefunguje spolu so systémovým rootom.

    V závislosti od toho, ako aplikácia skontroluje prístup k používateľom root, môžete ju podvádzať. Existujú napríklad metódy koreňovania niektorých zariadení Samsung bez toho, aby sa zabránilo zabezpečeniu KNOX, čo by vám umožnilo pokračovať v používaní funkcie Samsung Pay.

    V prípade aplikácií, ktoré len skontrolujú root aplikácie vo vašom systéme, existuje modul Xposed Framework s názvom RootCloak, ktorý údajne umožňuje, aby ste ich napriek tomu trikli do práce. To funguje s aplikáciami ako DirecTV GenieGo, Best Buy CinemaNow a Filmy Flixster, ktoré bežne nefungujú na zakorenených zariadeniach. Ak by sa však tieto aplikácie aktualizovali tak, aby používali bezpečnostnú sieť Google, nebolo by to tak jednoduché.


    Väčšina aplikácií bude fungovať normálne aj po zakorenení vášho zariadenia. Aplikácie na mobilné platby sú veľkou výnimkou, rovnako ako niektoré ďalšie bankové a finančné aplikácie. Platené služby streamingu videa sa niekedy pokúšajú zablokovať sledovanie svojich videí.

    Ak aplikácia, ktorú potrebujete, nefunguje na vašom zakorenenom zariadení, môžete vždy vyradiť zariadenie, aby ho používalo. Aplikácia by mala fungovať po vrátení vášho zariadenia do bezpečného, ​​výrobného stavu.

    Image Credit: Danny Choo na Flickr