15Jul

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

click fraud protection

Wenn Sie Ihr Android-Gerät rooten, erhalten Sie Zugriff auf eine größere Anzahl von Apps und einen tieferen Zugriff auf das Android-System. Aber einige Apps - wie Android Pay von Google - funktionieren auf einem gerooteten Gerät überhaupt nicht.

Google verwendet etwas namens SafetyNet, um festzustellen, ob Ihr Gerät gerootet ist oder nicht, und blockiert den Zugriff auf diese Funktionen. Google ist nicht das Einzige, viele Anwendungen von Drittanbietern funktionieren auch nicht auf gerooteten Android-Geräten, obwohl sie auf andere Weise nach root suchen können.

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

Android-Geräte bieten eine "SafetyNet-API", die Teil der Google Play Services-Ebene ist, die auf von Google zugelassenen Android-Geräten installiert 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 überprüfen, ob das Gerät, auf dem Sie arbeiten, manipuliert wurde.

instagram viewer

Diese SafetyNet-API wurde entwickelt, um zu überprüfen, ob ein Gerät manipuliert wurde - ob es von einem Benutzer gerootet wurde, ein benutzerdefiniertes ROM ausführt oder zum Beispiel mit Low-Level-Malware infiziert wurde.

Geräte, die mit dem Play Store von Google und anderen installierten Apps ausgeliefert werden, müssen die Android-Kompatibilitätstestsuite von Google bestehen. Das Rooten eines Geräts oder das Installieren eines benutzerdefinierten ROM verhindert, dass ein Gerät "CTS-kompatibel" ist. Auf diese Weise kann die SafetyNet-API feststellen, ob Sie rooted sind - sie prüft lediglich auf CTS-Kompatibilität. Wenn Sie ein Android-Gerät erhalten, das nie mit den Apps von Google ausgeliefert wurde - wie etwa eines dieser 20 US-Dollar-Tablets direkt aus einer Fabrik in China -, wird es nicht als "CTS-kompatibel" betrachtet, auch wenn Sie es nicht verwurzelt haben.

Um diese Informationen zu erhalten, lädt Google Play Services das Programm "snet" herunter und führt es im Hintergrund auf Ihrem Gerät aus. Das Programm erfasst Daten von Ihrem Gerät und sendet sie regelmäßig an Google. Google verwendet diese Informationen für eine Vielzahl von Zwecken, von einem Bild des weiteren 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 ist wahrscheinlich, dass snet überprüft, ob Ihre Systempartition vom Factory-Status 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 er vom Google-Server erhält.

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

Es liegt an der App

SafetyNet ist für App-Entwickler optional und App-Entwickler können wählen, ob sie es verwenden wollen oder nicht. SafetyNet verhindert nur, dass eine App funktioniert, wenn der Entwickler einer App nicht auf gerooteten Geräten arbeiten möchte.

Die meisten Apps werden die SafetyNet API überhaupt nicht prüfen. Selbst eine App, die die SafetyNet-API überprüft - wie die Test-Apps oben - hört nicht auf zu funktionieren, wenn sie eine schlechte Antwort erhält. Der Entwickler der App muss die SafetyNet-API überprüfen und die App funktionsunfähig machen, wenn sie erfährt, dass die Software Ihres Geräts geändert wurde. Googles Android Pay App ist ein gutes Beispiel dafür.

Android Pay funktioniert nicht auf Rooting-Geräten

Googles Mobile-Payment-Lösung Android Pay funktioniert auf gerooteten Android-Geräten überhaupt nicht. Versuchen Sie, es zu starten, und Sie sehen nur die Meldung "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 um Rooting, denn wenn Sie ein benutzerdefiniertes ROM ausführen, sind Sie mit dieser Anforderung nicht einverstanden. Die SafetyNet-API wird behaupten, 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 Rooten. Wenn Ihr Gerät mit Malware auf Systemebene infiziert ist, die Android Pay und andere Apps ausspioniert, verhindert die SafetyNet-API auch, dass Android Pay nicht funktioniert. Das ist gut so.

Durch das Rooten Ihres Geräts wird das normale Sicherheitsmodell von Android durchbrochen. Android Pay schützt Ihre Zahlungsdaten normalerweise mithilfe der Sandbox-Funktionen von Android, aber Apps können auf einem gerooteten Gerät aus der Sandbox ausbrechen. Google kann nicht wissen, wie sicher Android Pay auf einem bestimmten Gerät sein würde, wenn es ein unbekanntes benutzerdefiniertes ROM rooted oder ausgeführt wird, so dass es es blockiert. Ein Android Pay-Techniker hat das Problem im XDA Developers-Forum erläutert, wenn Sie mehr darüber erfahren möchten.

Andere Möglichkeiten, Apps zu erkennen Root

SafetyNet ist nur eine Möglichkeit, wie eine App überprüfen kann, ob sie auf einem gerooteten Gerät läuft. 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 App für mobile Zahlungen, wird auf gerooteten Geräten nicht mehr funktionieren. Samsung setzt dafür KNOX ein, könnte aber genauso gut mit SafetyNet arbeiten.

In ähnlicher Weise werden viele Anwendungen von Drittanbietern Sie daran hindern, sie zu verwenden, und nicht alle von ihnen verwenden SafetyNet. Sie können nur nach bekannten Root-Apps und Prozessen auf einem Gerät suchen.

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 vielleicht veraltet, aber sie sind die besten, die wir finden können. Bei vielen handelt es sich um Banking- und andere mobile Wallet-Apps, die den Zugriff auf gerootete Telefone blockieren, um zu verhindern, dass Ihre Bankdaten von anderen Apps erfasst werden. Apps für Video-Streaming-Dienste können es auch verweigern, auf einem gerooteten Gerät als eine Art von DRM-Maßnahme zu funktionieren, um zu verhindern, dass Sie einen geschützten Video-Stream aufzeichnen.

Einige Apps können ausgetrickst werden

Google spielt mit SafetyNet ein Katz-und-Maus-Spiel, das ständig aktualisiert wird, um den Leuten immer einen Schritt voraus zu sein. Zum Beispiel hat der Android-Entwickler Chainfire eine neue Methode zum Rooten von Android-Geräten entwickelt, ohne die Systempartition zu ändern, die als "Systemless Root" bekannt ist. SafetyNet erkannte zunächst nicht, dass solche Geräte manipuliert wurden, und Android Pay funktionierte - aber SafetyNet wurde schließlich aktualisiert, um diese neue Rooting-Methode zu erkennen. Das bedeutet, Android Pay funktioniert nicht mehr mit Systemless root.

Je nachdem, wie eine App nach Root-Zugriff sucht, können Sie sie möglicherweise austricksen. Zum Beispiel gibt es angeblich Methoden, einige Samsung-Geräte zu rooten, ohne die KNOX-Sicherheit auszulösen, wodurch Sie Samsung Pay weiter nutzen könnten.

Im Falle von Apps, die nur nach Root-Apps auf Ihrem System suchen, gibt es ein Xposed Framework-Modul namens RootCloak, das Ihnen erlaubt, sie zu überlisten. Dies funktioniert mit Apps wie DirecTV GenieGo, Best Buy CinemaNow und Movies von Flixster, die normalerweise nicht mit gerooteten Geräten funktionieren. Wenn diese Apps jedoch für die Verwendung von Google's SafetyNet aktualisiert würden, wären sie auf diese Weise nicht so einfach zu betrügen.

Die meisten Apps funktionieren normal, sobald Sie Ihr Gerät gerootet haben. Mobile Payment-Apps sind die große Ausnahme, ebenso wie einige andere Banking- und Finanz-Apps. Bezahlte Video-Streaming-Dienste versuchen manchmal, Sie 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 immer aus dem Verzeichnis entfernen, um es zu verwenden. Die App sollte funktionieren, nachdem Sie das Gerät in den sicheren Zustand versetzt haben.

Bildnachweis: Danny Choo auf Flickr