Wie die Root-Erkennung eines Anime-Spiels zur Entdeckung einer Sicherheitslücke in Telefonen von LG, OnePlus, Huawei, Xiaomi und anderen führte

click fraud protection

Es wurde festgestellt, dass Smartphones verschiedener Hersteller wie LG, OnePlus, Huawei und Xiaomi Prozessinformationen von Apps preisgeben. Hier erfahren Sie, was das bedeutet.

Zum Einsatz kommt das mobile Betriebssystem Android über 2 Milliarden Geräte jeden Monat sowohl von Stammkunden als auch von Technikbegeisterten. Allerdings ist die Anzahl der Leute, die den Bootloader entsperren und ihr Smartphone rooten, relativ gering Im Vergleich zur Gesamtpopulation der Android-Nutzer gibt es immer noch viele von uns da draußen in Foren wie XDA und Reddit. Magisk ist ein unverzichtbares Werkzeug für die Bastler-Community. Es bietet systemlosen Root-Zugriff und verfügt über Tools wie MagiskHide, mit denen gerootete Benutzer die Apps, Spiele und Dienste, die sie genießen, weiterhin ohne Einschränkungen nutzen können. Allerdings hat ein beliebtes Anime-Spiel eine Systemsicherheitslücke geschickt ausgenutzt, um die Anti-Root-Erkennung von Magisk zu umgehen. Hier erfahren Sie, wie das funktioniert und welche Geräte von dieser Sicherheitslücke betroffen sind.

  • Ein Spiel hat einen Fehler ausgenutzt, um zu erkennen, ob ein Gerät gerootet wurde. Wenn das Gerät gerootet ist, blockiert das Spiel das Spielen für den Benutzer.
  • Der Fehler ermöglicht es einer App, den Status anderer Apps im Speicher zu lesen, ohne dass dafür besondere Berechtigungen erforderlich sind. Der Fehler verhindert, dass Apps Daten von anderen Apps stehlen. Der Fehler ist nicht schwerwiegend und ziemlich harmlos.
  • Google ist sich dessen bereits bewusst des Problems und hat seine Testtools aktualisiert, um sicherzustellen, dass alle Geräte geschützt sind.

Hintergrund

Ein beliebtes Anime-Spiel namens Fate/Grand Order verhindert, dass gerootete Benutzer versuchen, das Spiel zu spielen. XDA-anerkannter Entwickler topjohnwu, zuvor der Hauptentwickler von Magisk einen Weg entdeckt um die Root-Erkennung von Fate/Grand Order zu umgehen, aber seine Lösung funktionierte trotz aller Bemühungen nicht auf seinem OnePlus 6. Entschlossen, nicht aufzugeben, analysierte der Entwickler Fate/Grand Order, um herauszufinden, wie es auf seinem OnePlus-Gerät immer noch Root erkannte. Wie er in seinem erklärt Mittlerer BeitragDies führte ihn zur Entdeckung einer Sicherheitslücke, die Fate/Grand Order offenbar ausnutzte, um weiterhin Root-Zugriffe auf OnePlus-Geräten zu erkennen.

Fate/Grand Order (Englisch)Entwickler: Aniplex Inc.

Kostenlos.

4.

Herunterladen

Procfs und Android

Auf Unix-basierten Betriebssystemen gibt es ein spezielles Dateisystem namens „procfs“, das Informationen darüber enthält Prozesse (z. B. Apps) wie deren Speichernutzung (z. B. RAM), Status (ob der Prozess ausgeführt wird, Schlafen usw.). Auf den meisten Unix-basierten Betriebssystemen haben Benutzer und Apps einfachen Zugriff auf procfs, um zu sehen, welche Art von Apps und Dienste werden auf ihrem System ausgeführt (stellen Sie sich das wie den Task-Manager von Windows vor). Allerdings Google begann zu Sperren Sie den Zugriff auf procfs ab Android 7.0 Nougat. Vor Android Nougat konnten Apps wie SystemPanel Daten darüber sammeln, welche Apps ausgeführt wurden, ohne dass besondere Berechtigungen erforderlich waren. Nach Android Nougat müssen Apps APIs wie verwenden Nutzungsstatistiken oder AccessibilityService, die beide durch Berechtigungen eingeschränkt sind, die vom Benutzer gewährt werden müssen.

SystemPanel 2Entwickler: NextApp, Inc.

Kostenlos.

4.2.

Herunterladen

Google verhindert, dass Apps den Status anderer Apps über procfs lesen, indem es /proc mit dem Flag „hidepid=2“ einbindet. Durch das Mounten von procfs mit hidepid=2 können Apps nur den Status ihres eigenen Prozesses sehen. Daher müsste eine App die akzeptierten APIs wie UsageStats oder AccessibilityService verwenden, um Informationen darüber zu erhalten, welche Apps und Dienste auf dem Gerät ausgeführt werden.

Verletzlichkeit

Was passiert, wenn procfs nicht mit hidepid=2 gemountet ist? Dann könnten Apps den Status anderer Apps (und Bereitstellungspunkte), die auf dem System ausgeführt werden, frei lesen, ohne dass zusätzliche Berechtigungen erforderlich wären*. Google mountet procfs mit hidepid=2 auf seinen eigenen Geräten, erzwingt diese Anforderung jedoch nicht auf Geräten anderer Hersteller. Mehrere Geräte von LG, OnePlus, Huawei/Honor, Xiaomi und anderen haben keine Procfs mit gemountet hidepid=2, was Apps wie Fate/Grand Order ausnutzen, um zu erkennen, ob Magisk vorhanden ist das Gerät.

*Eine Sicherheitsänderung in Android 9 Pie verhindert, dass Apps Informationen außerhalb ihres eigenen „SELinux-Kontexts“ lesen, da jede App jetzt einzeln isoliert ist. SELinux ist ein Kernel-Modul, das als eine Art Gatekeeper fungiert und Anwendungen und Dienste daran hindert, auf Dateien zuzugreifen, für die sie nicht vorgesehen sind. Ein SELinux-Kontext ist wie eine Bezeichnung für eine Datei, die Informationen wie den Benutzer und die Rolle enthält. Apps mit demselben SELinux-Kontext können Informationen über andere Apps im selben Kontext lesen, wenn das Flag hidepid=2 für procfs nicht aktiviert ist. Auf Geräten mit Android 9 Pie werden nur Apps, die für Android Pie entwickelt wurden, von den neuen SELinux-Änderungen von Android Pie übernommen. Apps, die auf Android 8.1 Oreo oder niedriger abzielen, verwenden die alten SELinux-Regeln und ermöglichen ihnen den Zugriff Informationen über Prozesse im selben SELinux-Kontext, solange procfs ohne gemountet wird hidepid=2. Die meisten Apps, die auf Ihrem Gerät ausgeführt werden, sollten dank zumindest auf Android 8.0 Oreo ausgerichtet sein neue Google Play-Anforderungen, aber viele wurden noch nicht für Android Pie aktualisiert.

Die folgenden Screenshots zeigen die Konsequenzen, wenn procfs nicht mit hidepid=2 gemountet wird.

Wie schlimm ist das?

Wenn wir diese Systemanfälligkeit mit Exploits wie vergleichen würden Fusée Gelée, Blueborne, KRACK, Und Meltdown/Spectre, dann verblasst dieser Fehler im Vergleich. Apps können dies nicht nutzen, um Root-Zugriff zu erlangen oder Ihre Passwörter zu stehlen. Ihre Bankkonten sind sicher, ebenso Ihre Kreditkarten. Das Schlimmste, was eine App tun kann, ist, festzustellen, ob eine andere App auf Ihrem Gerät ausgeführt wird, was nur sehr begrenzte Verwendungsmöglichkeiten bietet. Denken Sie daran, dass dies bei vielen GNU/Linux-Distributionen zum Standardverhalten gehört und dass Google erst vor Kurzem damit begonnen hat, den Zugriff auf procfs mit Android Nougat zu blockieren. Dieser Fehler ermöglicht es Apps, die Notwendigkeit bestimmter Berechtigungen zur Überwachung anderer Prozesse zu umgehen, sie können jedoch immer noch nicht die Android-Sandbox beschädigen und Daten von anderen Apps stehlen. Unabhängig davon handelt es sich um ein unbeabsichtigtes Verhalten, das eine Datenschutzfunktion von Android beeinträchtigt und daher behoben werden muss.

Ist mein Gerät betroffen?

Hier ist eine Liste von Geräten, bei denen wir festgestellt haben, dass sie procfs nicht mit hidepid=2 mounten:

OEM

Gerät

Android-Version

procfs-Lecks

Asus

ZenFone 5Z

Android 8.0 Oreo

Ja

Brombeere

SCHLÜSSEL2

Android 8.0 Oreo

NEIN

Essentiell

PH-1

Android 9 Pie

NEIN

Google

Pixel 2

Android 9 Pie

NEIN

Google

Pixel 3

Android 9 Pie

NEIN

Google

Pixel 3 XL

Android 9 Pie

NEIN

Ehre

Magie 2

Android 9 Pie

Ja

HTC

U12+

Android 8.0 Oreo

Ja

Huawei

Mate 20 X

Android 9 Pie

Ja

LG

G7 ThinQ

Android 8.0 Oreo

Ja

LG

V40 ThinQ

Android 8.1 Oreo

Ja

Motorola

Moto G4

Android 8.1 Oreo

NEIN

Nokia

7.1

Android 8.1 Oreo

NEIN

OnePlus

6

Android 8.1 Oreo/Android 9 Pie

Ja

OnePlus

6T

Android 9 Pie

Ja

Rasierer

Telefon 2

Android 8.1 Oreo

Ja

Samsung

Galaxy Note 8

Android 8.0 Oreo

NEIN

Samsung

Galaxy Note 9

Android 8.1 Oreo/Android 9 Pie

NEIN

Samsung

Galaxy S7

Android 8.0 Oreo

NEIN

Samsung

Galaxy S8

Android 8.0 Oreo

NEIN

Samsung

Galaxy S9

Android 9 Pie

NEIN

Samsung

Galaxy S9+ (Exynos)

Android 8.0 Oreo

Ja

Sony

Xperia XZ1

Android 9 Pie

NEIN

Xiaomi

Mi Mix 2S

Android 9 Pie

Ja

Xiaomi

POCO F1

Android 8.1 Oreo

Ja

So überprüfen Sie, ob Ihr Gerät betroffen ist

Es ist ganz einfach zu überprüfen, ob Ihr Gerät Prozessinformationen an andere Apps weitergibt (mit anderen Worten, procfs wird nicht mit hidepid=2 gemountet). Sie können zwar wie wir Shell-Befehle verwenden, Sie können dies aber auch mit einer von topjohnwu entwickelten App überprüfen. Seine App ermöglicht es Ihnen auch, procfs mit hidepid=2 erneut zu mounten, wenn Ihr Telefon gerootet ist.

Laden Sie ProcGate herunter

Wird es eine Lösung geben?

Ja, das wird behoben. Google verlangt nun, dass alle Geräte procfs mit hidepid=2 mounten. Sie werden dies durchsetzen Aktualisierung die Compatibility Test Suite (CTS), eine Reihe von Tests, die alle Geräte bestehen müssen, um Google Play-Apps und -Dienste nutzen zu können. Alle OEMs (die Geräte mit vorinstalliertem Google Play Store verkaufen möchten) müssen irgendwann in naher Zukunft ein Update herausgeben, um procfs mit hidepid=2 erneut bereitzustellen. Da OnePlus-Geräte die ersten waren, bei denen dieses Problem auftrat, OnePlus wurde bereits darauf aufmerksam gemacht und arbeitet an einer Lösung. Wir aktualisieren diesen Artikel, wenn andere OEMs zu diesem Fehler Stellung nehmen. Sie müssen sich jedoch nicht fragen, ob der OEM Ihres Geräts ein Update herausgibt. Wenn sie möchten, dass ihr Update CTS besteht, müssen sie diesen Fehler beheben.