PSA: Seien Sie vorsichtig, wenn Sie etwas installieren, bei dem SELinux auf „Permissiv“ eingestellt ist

click fraud protection

Eine undokumentierte Android-Funktion ermöglicht es jeder beliebigen App, Root-Zugriff auf eine freizügige SELinux-Umgebung zu erhalten. Lesen Sie weiter, um mehr zu erfahren!

In der Welt des Android-Modding neigen die Leute dazu, den Root-Zugriff als den Grundstein aller Dinge zu betrachten. Damit können Benutzer die vollständige Kontrolle über ihre Geräte übernehmen und Funktionen hinzufügen, die in der Standardkonfiguration nicht immer verfügbar sind. Aber wie sie sagen: „Mit großer Leistung geht große Verantwortung einher“ – ist es nicht ratsam, das Sicherheitsmodell von Android zu umgehen, es sei denn, Sie wissen, worauf Sie sich einlassen. Erfahrene Android-Enthusiasten in unseren Foren wissen wahrscheinlich, dass auf Ihrem Gerät möglicherweise Hintertüren vorhanden sind Es ist wahrscheinlicher, dass Sie einen vertrauenswürdigen Root-fähigen Mod auf der neuesten Android-Version mit der neuesten Sicherheit ausführen Patches. Allerdings kennen Sie vielleicht ein paar Leute, denen es egal ist, welche Root-Tweaks sie installieren, solange sie scheinbar für sie funktionieren. Aus diesem Grund gibt es immer noch eine Menge Mods, die nur funktionieren, wenn SELinux auf „permissiv“ eingestellt ist, was wiederum ihre Benutzer extrem anfällig für Sicherheitsbedrohungen macht.

Was ist SELinux?

SELinux, oder Linux mit verbesserter Sicherheitist ein Linux-Kernel-Sicherheitsmodul, das speziell für den Zugriff und die Verwaltung von Sicherheitsrichtlinien entwickelt wurde. Ursprünglich in Android 4.3 Jelly Bean eingeführt und seit Android standardmäßig auf den Erzwingungsmodus eingestellt 4.4 KitKat, SELinux hilft bei der Durchsetzung von Zugriffskontrollrechten und versucht, eine Rechteausweitung zu verhindern Anschläge. Kurz gesagt, SELinux stellt eine Hürde für die unbefugte Kontrolle über Ihr Gerät dar, beispielsweise durch eine App oder eine Schwachstelle, die darauf abzielt, sich in böswilliger Absicht Root-Zugriff zu verschaffen. Die standardmäßige Einstellung von SELinux auf „Enforcing“ ist eine der wichtigsten Möglichkeiten, wie normale Benutzer vor solchen Angriffen geschützt werden.

Warum Permissive SELinux nicht empfohlen wird

Um es noch einmal zu wiederholen: Der typische Weg, Root-Zugriff auf einem Android-Gerät zu erreichen, erfordert nicht unbedingt eine Änderung des SELinux-Status. Die Umstellung des SELinux-Modus von „Enforcing“ auf „Permissive“ deaktiviert absichtlich eine der wichtigsten Sicherheitsfunktionen des Geräts, weshalb dies der Grund ist Der Benutzer muss dies ausdrücklich zulassen, indem er einen speziellen benutzerdefinierten Kernel installiert oder die Parameter des vorhandenen Boot-Images ändert. Ein schlecht codierter Mod, dem eine ordnungsgemäße SELinux-Richtlinie fehlt, zwingt Endbenutzer normalerweise dazu, auf freizügiges SELinux umzusteigen, und vergrößert im Wesentlichen die Angriffsfläche. Das ist genau das, was Entwickler vvb2060 demonstriert, als sie veröffentlichte eine Proof-of-Concept-Methode zur Rechteausweitung wo die einzige Voraussetzung, um die Kontrolle zu erlangen, freizügiges SELinux ist.

Betreten Sie Magica

Für einen Benutzer ist es erschreckend einfach, vollständigen Root-Zugriff auf sein eigenes Gerät zu erhalten, auf dem Android 10 (oder höher) läuft und SELinux auf „Permissiv“ eingestellt ist tun: Alles, was Sie tun müssen, ist auf „Installieren“ zu klicken, und „Magica“ erhält automatisch Root-Zugriff in einem Dienst und installiert Magisk im Boot Bild. Dies ist weitaus umfassender als nur die Optimierung Ihres Geräts. Laut XDA Senior Recognized Developer und Magisk-Betreuer topjohnwu, jede beliebige App, einschließlich Malware, kann Ihr Gerät ohne Ihre Zustimmung und Erlaubnis dauerhaft rooten durch Nutzung des PoC.

Wenn Sie sich auf technischer Ebene fragen, was Magica ausnutzt, hat topjohnwu Folgendes erklärt: ein Reddit-Beitrag:

„Wenn SELinux beim Booten zulässig ist, erkennt Zygote dies und deaktiviert die Seccomp-Systemaufruffilter. Dadurch werden grundsätzlich die zulässigen Systemaufrufe in Prozessen von Drittanbietern nicht eingeschränkt.

Auf Android 10+ gibt es eine neue „undokumentierte“ Funktion namens „App Zygote“, mit der Apps von Drittanbietern ihre eigene Zygote für „Isolated Services“ erzeugen dürfen (ebenfalls nahezu undokumentiert). Sowohl „App Zygote“ als auch „Isolated Services“ sind spezielle Funktionen, die für Chrome/Webview* entwickelt wurden. App-Zygote-Prozesse werden mit besonderen Berechtigungen ausgeführt, und wenn seccomp deaktiviert ist, kann es setuid 0 aufrufen, seine Berechtigungen eskalieren und Root-Zugriff erhalten.

Es ist immer noch etwas restriktiv im Vergleich zu dem, was normale Root-Lösungen bieten (z. B. Magisk), allerdings werden zahlreiche Sicherheitsmaßnahmen in Android vollständig außer Kraft gesetzt, wenn UID=0. Es reicht beispielsweise aus, um Boot-Images zu patchen, was bedeutet, dass es zum Einschleusen von Malware wie modifiziertem Magisk verwendet werden kann, um „echte“ Root-Rechte zu erhalten.

Update: Was kann UID=0 selbst tun? Im Rahmen von Android haben fast alle Dienste grünes Licht, wenn die UID des anfordernden Prozesses 0 ist. Das bedeutet, dass dieser Root-Prozess in der Lage ist, mithilfe Android-spezifischer APIs (z. B. ActivityManager) eine Menge Dinge zu manipulieren.

*Laut Entwickler aviraxpDiese beiden Funktionen sind allgemeiner darauf ausgelegt, „Ressourcen und Speicher zwischen mehreren isolierten Prozessen zu teilen“.

Abschluss

Angesichts des irreparablen Schadens, der Benutzern zugefügt werden kann, die in einer permissiven SELinux-Umgebung von Malware angegriffen werden, empfehlen wir jedem dringend, die Durchsetzung beizubehalten, sofern dies nicht unbedingt erforderlich ist. Obwohl wir einfach nur Glück haben, einen Proof-of-Concept-Exploit zu haben, haben wir keine Ahnung, wie viele Malware-Autoren diesen Angriffsweg bereits kennen. Schließlich bleibt einem Opfer der kompromittierte Zustand seines Geräts weiterhin verborgen, wenn dies nicht der Fall ist Erleben Sie, wie der Exploit aktiv genutzt wird, was für eine betrügerische App mit dauerhaftem Root nicht schwer zu erreichen ist Zugang.