15Jul

A SafetyNet magyarázata: Miért nem működik az Android Pay és más alkalmazások a gyökértényezett eszközökön?

Az Android-eszköz gyökerei hozzáférést biztosítanak az alkalmazások szélesebb köréhez és mélyebb hozzáférést biztosítanak az Android rendszerhez. De bizonyos alkalmazások - például a Google Android Pay - egyáltalán nem működnek egy gyökerező eszközön.

A Google a SafetyNet nevű eszköz használatával észleli, hogy a készülék gyökerezik-e vagy sem, és megakadályozza az ilyen funkciókhoz való hozzáférést. A Google nem az egyetlen, hiszen sok harmadik féltől származó alkalmazás nem fog működni gyökerező Android készülékeken, bár más módon ellenőrizheti a gyökér jelenlétét.

SafetyNet: Hogyan tudja, hogy a Google tudta az Android telefonját?

Az Android-eszközök olyan "SafetyNet API-t" kínálnak, amely a Google által jóváhagyott Android-eszközökön telepített Google Play Services réteg része. Ez az API "hozzáférést biztosít a Google szolgáltatásaihoz, amelyek segítenek az Android-eszköz egészségének és biztonságának felmérésében", a Google szerint. Ha Android fejlesztő vagy, akkor felhívhatja ezt az API-t az alkalmazásban, hogy ellenőrizze, hogy az Ön által futott készüléket megváltoztatták-e.

Ez a SafetyNet API annak ellenőrzésére szolgál, hogy a készüléket manipulálták-e, hogy egy felhasználó gyökerezik-e, egyéni ROM-ot futtat, vagy alacsony szintű rosszindulatú programokkal fertőzött meg.

A Google Play Áruházával és a többi telepített alkalmazással együtt szállított eszközöknek át kell adniuk a Google Android "Kompatibilitási tesztcsomagját".Egy eszköz gyökerezése vagy egy egyedi ROM telepítése megakadályozza, hogy az eszköz "CTS kompatibilis" legyen.Így tudja a SafetyNet API megmondani, hogy gyökerezik-e, csupán a CTS-kompatibilitás ellenőrzését. Hasonlóképpen, ha olyan Android-eszközt kapsz, amely soha nem érkezett a Google alkalmazásaihoz - hasonlóan a 20 dollárból álló tablettából, amelyet közvetlenül egy kínai gyárból szállítottak - egyáltalán nem tekinthető "CTS kompatibilisnek", még akkor is, ha nem gyökerezik.

Ennek az információnak a megszerzéséhez a Google Play Services egy "snet" nevű programot töl le és futtatja a készülék hátterében. A program adatokat gyűjt össze a készülékéről, és rendszeresen elküldi a Google részére. A Google ezeket az információkat különféle célokra használja fel a képre a szélesebb Android ökoszisztémáról, hogy meghatározza, hogy a készülék szoftverét manipulálták-e vagy sem. A Google nem magyarázza meg pontosan, hogy mit keres az snet, de valószínűleg az snet ellenőrzi, hogy a rendszerpartícióját a gyári állapotból módosította-e.

Ellenőrizheti a készülék SafetyNet státuszát egy olyan alkalmazás letöltésével, mint a SafetyNet Helper Sample vagy a SafetyNet Playground. Az alkalmazás megkérdezi a Google biztonsági szolgáltatásait a készülék állapotától, és tájékoztatja Önt a Google szerveréről kapott válaszról.

További technikai részletekért olvassa el ezt a blogbejegyzést, amelyet John Kozyrakis, a Cigital szoftveres biztonsági cég technikai stratégiája írt.Ő ásta meg a SafetyNet-t, és elmagyarázza, hogyan működik.

Az

-hez függő A SafetyNet opcionális az alkalmazások fejlesztői számára, és az alkalmazásfejlesztők választhatják, hogy használják-e vagy sem. A SafetyNet csak megakadályozza, hogy egy alkalmazás működjön, ha egy alkalmazás fejlesztője nem akarja, hogy gyökerező eszközökön dolgozzon.

A legtöbb alkalmazás nem ellenőrzi a SafetyNet API-t egyáltalán. Még egy alkalmazás, amely ellenőrzi a SafetyNet API-t, mint a fenti tesztalkalmazásokat, nem fog leállni, ha rossz választ kap. Az alkalmazás fejlesztőjének ellenőriznie kell a SafetyNet API-t, és meg kell tagadnia az alkalmazás működését, ha megtudja, hogy az eszköz szoftverét módosították. A Google saját Android fizetős alkalmazása jó példa erre a cselekvés során.

Az Android Pay nem fog működni gyökeres eszközökkel

A Google Android fizetős mobil fizetési megoldása egyáltalán nem működik a gyökerező Android készülékeken. Próbálja meg elindítani, és csak egy üzenetet lát: "Az Android Pay nem használható.A Google nem tudja ellenőrizni, hogy a készülék vagy a futó szoftver Android-kompatibilis-e. "

Nem csak a gyökeresedésről van szó, persze, hogy egy egyedi ROM-ot is futtatnak, ez a követelmény is belefér. A SafetyNet API azt állítja, hogy nem "Android kompatibilis", ha olyan egyedi ROM-ot használ, amelyhez az eszköz nem jön.

Ne feledje, ez nem csak a gyökeresedést észleli. Ha az Ön eszköze fertőzött valamilyen rendszerszintű rosszindulatú programmal, amely képes kémkedni az Android Pay és más alkalmazásokkal kapcsolatban, a SafetyNet API megakadályozná az Android Pay működését, ami jó dolog.

A készülék gyökere megszakítja az Android normál biztonsági modelljét. Az Android Pay rendszerint védi fizetési adatait az Android homokszóró funkcióival, de az alkalmazások kitörhetnek a homokozóból egy gyökerező eszközön. A Google nem tudja tudni, hogy a biztonságos Android Pay mennyire lenne egy adott eszközön, ha gyökerezik vagy ismeretlen egyedi ROM-ot futtatnak, így blokkolják. Az Android Pay mérnök kifejtette a problémát az XDA Developers fórumon, ha kíváncsi vagy rá, hogy többet olvasson.

Az egyéb alkalmazások észlelik a gyökereket

A SafetyNet csak egy olyan módja, amellyel egy alkalmazás ellenőrizheti, hogy gyökerező eszközön fut-e. A Samsung eszközök például egy KNOX nevű biztonsági rendszert tartalmaznak. Ha gyökerezik a készüléket, a KNOX-biztonság megszakad. A Samsung Pay, a Samsung saját mobil fizetéses alkalmazásai megtagadják a gyökereztetett eszközökön való működést. A Samsung a KNOX-ot használja erre, de ugyanúgy használhatja a SafetyNet-t.

Hasonlóképpen sok harmadik féltől származó alkalmazás megakadályozza az Ön használatát, és nem mindegyikük használja a SafetyNet-t.Ők csak ellenőrizhetik az ismert gyökéralkalmazások és -folyamatok jelenlétét egy eszközön.

Könnyű megtalálni az alkalmazások naprakész listáját, amelyek nem működnek, amikor egy eszköz gyökerezik. A RootCloak azonban több listát is tartalmaz. Ezek a listák elavultak, de ezek a legjobbak, amelyeket megtalálhatunk. Sok banki és mobil mobiltárca alkalmazás, amelyek megakadályozzák a hozzáférést a gyökerező telefonokhoz, hogy megpróbálják megvédeni a banki adatait más alkalmazásoktól. A video streaming-alkalmazásokhoz való alkalmazások szintén megtagadhatják a gyökereztetett eszközön való működést, mint valamilyen DRM-intézkedést, megpróbálja megakadályozni a védett videofolyam felvételét.

Néhány alkalmazás lecsapható

A Google a Catnet-egér játékot a SafetyNet-szel folytatja, folyamatosan frissíti azt, hogy megpróbálja megelőzni az embereket. Például az Android fejlesztő Chainfire létrehozott egy új módszert az Android eszközök gyökerezésére anélkül, hogy módosítaná a rendszerpartíciót, amelyet "rendszer nélküli gyökérnek" neveznek. A SafetyNet eredetileg nem észlelte az ilyen eszközöket, mint a beavatkozást, és az Android Pay működött - de a SafetyNet végül naprakész volt az új gyökeresedési módszer felfedezésére. Ez azt jelenti, hogy az Android Pay már nem működik a rendszer nélküli gyökér mellett.

Attól függően, hogy az alkalmazás hogyan ellenőrzi a root hozzáférést, lehet, hogy megpróbálja becsapni. Például vannak olyan módszerek, amelyek bizonyos Samsung eszközök gyökereihez kapcsolódnak, anélkül, hogy a KNOX biztonságát kikapcsolnák, ami lehetővé tenné a Samsung Pay használatát.

Olyan alkalmazások esetében, amelyek csak a rendszer gyökéralkalmazásainak ellenőrzésére vonatkoznak, létezik egy RootCloak nevű Xposed Framework modul, amelyről szám szerint lehetõség van arra, Ez olyan alkalmazásokkal működik, mint a DirecTV GenieGo, a Best Buy CinemaNow és a Movies by Flixster, amelyek általában nem működnek a gyökerező eszközökön. Ha azonban ezeket az alkalmazásokat frissítették a Google SafetyNet használatára, akkor ilyen módon nem lennének ilyen egyszerűen trükkösek.

A legtöbb alkalmazás továbbra is normálisan működik, ha gyökerezik a készüléket. A mobil fizetési alkalmazások a nagy kivétel, csakúgy mint más banki és pénzügyi alkalmazások. A fizetős video-streaming szolgáltatás néha megpróbálja megakadályozni a videók megtekintését.

Ha egy app, amelyre szüksége van, nem működik a gyökerezett eszközön, mindig eldöntheti az eszköz használatát. Az alkalmazásnak működnie kell, miután visszatért a készülék biztonságos, gyári állapotába.

képarány: Danny Choo a Flickr

-n