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

Inhaltsverzeichnis:

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

Video: SafetyNet erklärt: Warum funktionieren Android-Pay und andere Apps auf verwurzelten Geräten nicht?
Video: Kauf eines Elektroauto | Tipps und Tricks | Darauf muss ich vor dem Kauf achten! 2023, September
SafetyNet erklärt: Warum funktionieren Android-Pay und andere Apps auf verwurzelten Geräten nicht?
SafetyNet erklärt: Warum funktionieren Android-Pay und andere Apps auf verwurzelten Geräten nicht?
Anonim
Durch das Starten Ihres Android-Geräts erhalten Sie Zugriff auf eine größere Auswahl an Apps und einen tieferen Zugriff auf das Android-System. Einige Apps - wie Android Pay von Google - funktionieren auf einem gerooteten Gerät jedoch nicht.
Durch das Starten Ihres Android-Geräts erhalten Sie Zugriff auf eine größere Auswahl an 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-Handy verwurzelt haben

Android-Geräte bieten eine "SafetyNet-API", die Teil der auf Google-genehmigten Android-Geräten installierten Google Play-Services-Schicht ist. Diese API „bietet Zugriff auf Google-Dienste, mit deren Hilfe 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 laufen, 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 mit Malware auf niedriger Ebene infiziert wurde.

Geräte, die mit dem Play Store von Google 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. Auf diese Weise 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 niemals mit Googles Apps geliefert wurde - wie eines dieser 20-Dollar-Tablets, die direkt aus einer Fabrik in China geliefert 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 eine Vielzahl von Zwecken, 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 grub sich in SafetyNet ein und erklärt mehr darüber, wie es funktioniert.

Image
Image

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 App-Entwickler 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 gerooteten Android-Geräten überhaupt nicht. Starten Sie es, 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 Sie auch von dieser 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, dass dies nicht nur das Rooting erkennt. 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.
Denken Sie daran, dass dies nicht nur das Rooting erkennt. 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 zerstört. 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 herauszufinden, wie sicher Android Pay auf einem bestimmten Gerät ist, wenn es rooted ist oder ein unbekanntes benutzerdefiniertes ROM ausgeführt wird. Ein Techniker für Android Pay hat das Problem im XDA Developers Forum erläutert, 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, lehnt die Funktion auf gerooteten Geräten ab. 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 möglicherweise veraltet, aber sie sind 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 es auch ablehnen, auf einem gerooteten Gerät als eine Art DRM-Maßnahme zu fungieren, um zu verhindern, dass Sie einen geschützten Videostream aufzeichnen.

Einige Apps können ausgetrickst werden

Google spielt mit SafetyNet ein Katz-und-Maus-Spiel, das ständig aktualisiert wird, um zu verhindern, dass die Benutzer es umgehen. 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 funktioniert - aber SafetyNet wurde letztendlich 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 den Root-Zugriff prüft, können Sie sie möglicherweise täuschen. Beispielsweise gibt es angeblich 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 angeblich dazu verleitet werden können, sie trotzdem auszuführen. 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önnen sie auf diese Weise nicht so einfach ausgetrickst werden.

Image
Image

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 von Ihnen benötigte App 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.

Empfohlen: