loader

SafetyNet erklärt: Warum funktionieren Android Pay und andere Apps nicht auf verwurzelten Geräten?

Anonim

Durch das Booten Ihres Android-Geräts erhalten Sie Zugriff auf eine breitere Palette von Apps und einen tieferen Zugriff auf das Android-System. Einige Apps - wie Android Pay von Google - funktionieren auf einem gerooteten Gerät jedoch nicht.

Google verwendet das so genannte SafetyNet, um zu ermitteln, ob Ihr Gerät verwurzelt ist oder nicht, und blockiert den Zugriff auf diese Funktionen. Google ist auch nicht der einzige - viele Apps von Drittanbietern funktionieren auch nicht auf gerooteten Android-Geräten, auch wenn sie auf andere Weise nach Root suchen.

SafetyNet: Wie Google weiß, dass Sie Ihr Android Phone verwurzelt haben

Android-Geräte bieten eine "SafetyNet-API", die Teil der auf Google-genehmigten Android-Geräten installierten Google Play Services-Ebene ist. Diese API „bietet Zugriff auf Google-Dienste, mit denen Sie die Gesundheit und Sicherheit eines Android-Geräts beurteilen können“, so Google. Wenn Sie ein Android-Entwickler sind, können Sie diese API in Ihrer App aufrufen, um zu prüfen, ob das Gerät, auf dem Sie ausgeführt werden, manipuliert wurde.

Diese SafetyNet-API prüft, ob ein Gerät manipuliert wurde, z. B. ob es von einem Benutzer verwurzelt wurde, ein benutzerdefiniertes ROM ausführt oder beispielsweise mit Malware auf niedriger Ebene infiziert wurde.

Geräte, die mit dem Google Play Store und anderen installierten Apps geliefert werden, müssen die Android-Software „Compatibility Test Suite“ von Google passieren. Wenn Sie ein Gerät neu starten oder ein benutzerdefiniertes ROM installieren, wird verhindert, dass ein Gerät „CTS-kompatibel“ ist. So kann die SafetyNet-API erkennen, ob Sie verwurzelt sind. Sie prüft lediglich die CTS-Kompatibilität. Wenn Sie ein Android-Gerät erhalten, das nie mit Googles Apps geliefert wurde - wie eines dieser 20 USD-Tablets, die direkt aus einer Fabrik in China ausgeliefert werden -, wird es auch nicht als "CTS-kompatibel" betrachtet, selbst wenn Sie es noch nicht verwurzelt haben .

Um diese Informationen abzurufen, lädt Google Play Services ein Programm mit dem Namen "snet" herunter und führt es im Hintergrund auf Ihrem Gerät aus. Das Programm sammelt Daten von Ihrem Gerät und sendet diese regelmäßig an Google. Google verwendet diese Informationen für verschiedene Zwecke, von der Erfassung eines umfassenderen Android-Ökosystems bis hin zur Feststellung, ob die Software Ihres Geräts manipuliert wurde oder nicht. Google erklärt nicht genau, wonach Snet sucht, aber es wird wahrscheinlich geprüft, ob Ihre Systempartition im Auslieferungszustand geändert wurde.

Sie können den SafetyNet-Status Ihres Geräts überprüfen, indem Sie eine App wie SafetyNet Helper Sample oder SafetyNet Playground herunterladen. Die App fragt den SafetyNet-Dienst von Google nach dem Status Ihres Geräts und teilt Ihnen mit, welche Antwort der Server von Google erhält.

Weitere technische Details finden Sie in diesem Blogbeitrag von John Kozyrakis, technischer Stratege bei Cigital, einem Software-Sicherheitsunternehmen. Er hat sich in SafetyNet eingemischt und erklärt, wie es funktioniert.

Es liegt an der App

SafetyNet ist für App-Entwickler optional und kann von App-Entwicklern verwendet werden. SafetyNet verhindert nur, dass eine App funktioniert, wenn der Entwickler einer App nicht möchte, dass sie auf gerooteten Geräten funktioniert.

Die meisten Apps überprüfen die SafetyNet-API überhaupt nicht. Selbst eine App, die die SafetyNet-API überprüft (wie die oben genannten Test-Apps), funktioniert nicht mehr, wenn sie eine schlechte Antwort erhält. Der Entwickler der App muss die SafetyNet-API überprüfen und die Funktion der App deaktivieren, wenn sie erfährt, dass die Software Ihres Geräts geändert wurde. Googles eigene Android Pay-App ist ein gutes Beispiel dafür.

Android Pay funktioniert auf verwurzelten Geräten nicht

Die mobile Bezahllösung Android Pay von Google funktioniert auf verwurzelten Android-Geräten überhaupt nicht. Starten Sie das Programm, und es wird nur die folgende Meldung angezeigt: „Android Pay kann nicht verwendet werden. Google kann nicht überprüfen, ob Ihr Gerät oder die darauf ausgeführte Software mit Android kompatibel ist. ”

Natürlich geht es nicht nur ums Rooten - das Ausführen eines benutzerdefinierten ROMs würde auch diese Anforderung in Frage stellen. Die SafetyNet-API gibt an, dass sie nicht „Android-kompatibel“ ist, wenn Sie ein benutzerdefiniertes ROM verwenden, mit dem das Gerät nicht geliefert wurde.

Denken Sie daran, dies erkennt nicht nur das Wurzeln. Wenn Ihr Gerät durch Malware auf Systemebene mit der Möglichkeit infiziert wurde, Android Pay und andere Apps auszuspionieren, würde die SafetyNet-API auch das Funktionieren von Android Pay verhindern, was eine gute Sache ist.

Durch das Starten Ihres Geräts wird das normale Sicherheitsmodell von Android beschädigt. Android Pay schützt normalerweise Ihre Zahlungsdaten mithilfe der Sandboxing-Funktionen von Android. Apps können jedoch auf einem gerooteten Gerät aus der Sandbox ausbrechen. Google hat keine Möglichkeit zu wissen, wie sicher Android Pay auf einem bestimmten Gerät ist, wenn es rooted ist oder ein unbekanntes benutzerdefiniertes ROM ausgeführt wird. Daher wird es blockiert. Ein Android Pay-Ingenieur erklärte das Problem im XDA Developers Forum, wenn Sie mehr darüber erfahren möchten.

Andere Möglichkeiten, wie Apps Root erkennen können

Mit SafetyNet kann eine App überprüfen, ob sie auf einem gerooteten Gerät ausgeführt wird. Zum Beispiel enthalten Samsung-Geräte ein Sicherheitssystem namens KNOX. Wenn Sie Ihr Gerät rooten, wird die KNOX-Sicherheit ausgelöst. Samsung Pay, Samsungs eigene App für mobiles Bezahlen, wird auf gerooteten Geräten nicht funktionieren. Samsung verwendet dazu KNOX, es könnte aber auch SafetyNet verwendet werden.

In ähnlicher Weise werden Sie durch zahlreiche Apps von Drittanbietern daran gehindert, sie zu verwenden, und nicht alle verwenden SafetyNet. Sie können nur überprüfen, ob bekannte Root-Apps und -Prozesse auf einem Gerät vorhanden sind.

Es ist schwierig, eine aktuelle Liste von Apps zu finden, die nicht funktionieren, wenn ein Gerät gerootet ist. RootCloak bietet jedoch mehrere Listen. Diese Listen sind zwar veraltet, aber die besten, die wir finden können. Viele davon sind Banking- und andere Mobile Wallet-Apps, die den Zugriff auf gerooteten Telefonen blockieren, um zu versuchen, Ihre Bankdaten vor der Erfassung durch andere Apps zu schützen. Apps für Video-Streaming-Dienste können auch die Verwendung auf einem gerooteten Gerät als eine Art DRM-Maßnahme verweigern, um zu verhindern, dass Sie einen geschützten Videostream aufnehmen.

Einige Apps können ausgetrickst werden

Google spielt ein Katz-und-Maus-Spiel mit SafetyNet und aktualisiert es ständig, um den Leuten einen Schritt voraus zu sein. Der Android-Entwickler Chainfire hat beispielsweise eine neue Methode zum Rooten von Android-Geräten ohne Änderung der Systempartition entwickelt, die als "systemless root" bezeichnet wird. SafetyNet hat anfangs keine Geräte als manipuliert erkannt, und Android Pay hat funktioniert - aber SafetyNet wurde schließlich aktualisiert, um diese neue Rooting-Methode zu erkennen. Dies bedeutet, dass Android Pay nicht mehr zusammen mit dem systemlosen Root funktioniert.

Je nachdem, wie eine App nach Root-Zugriff sucht, können Sie sie möglicherweise täuschen. Beispielsweise gibt es Berichten zufolge Methoden, um einige Samsung-Geräte zu rooten, ohne die KNOX-Sicherheit auszulösen, sodass Sie Samsung Pay weiterhin verwenden können.

Bei Apps, die nur nach Root-Apps auf Ihrem System suchen, gibt es ein Xposed-Framework-Modul mit dem Namen RootCloak, mit dem Sie sie angeblich sowieso dazu bringen können, sie zu arbeiten. Dies funktioniert mit Apps wie DirecTV GenieGo, Best Buy CinemaNow und Movies von Flixster, die normalerweise nicht auf gerooteten Geräten funktionieren. Wenn diese Apps jedoch aktualisiert wurden, um das SafetyNet von Google zu verwenden, könnten sie auf diese Weise nicht so einfach ausgetrickst werden.


Die meisten Apps funktionieren normal weiter, sobald Sie Ihr Gerät gerootet haben. Mobile Payment-Apps bilden die große Ausnahme, wie auch andere Banking- und Finanz-Apps. Manchmal versuchen kostenpflichtige Video-Streaming-Dienste, Sie auch daran zu hindern, ihre Videos anzusehen.

Wenn eine App, die Sie benötigen, auf Ihrem gerooteten Gerät nicht funktioniert, können Sie das Gerät jederzeit wieder freigeben, um es zu verwenden. Die App sollte funktionieren, nachdem Sie Ihr Gerät in den sicheren Werkszustand zurückversetzt haben.

Tipp Der Redaktion