Start Aktuell Rooten unter Android 5.0 „Lollipop“: Nicht unmöglich aber deutlich schwieriger

Rooten unter Android 5.0 „Lollipop“: Nicht unmöglich aber deutlich schwieriger

Android 5.0 „Lollipop“ verfügt nicht nur über ein komplett aufgefrischtes Design, das neue Android hat auch ein paar zusätzliche Sicherheitsfunktionen bekommen. Eine davon betrifft SELinux/SE Android und ist seit Version LPX13D im Enforce-Modus. Was das bedeutet und weshalb Root-Apps ihre Probleme damit haben können, hat Chainfire in einem Posting bei Google+ erklärt.

Auf einigen Seiten wird immer wieder mal vom Ende der Root-Apps und von Root-Rechten berichtet. Ganz so schlimm ist die Situation nicht, wie wir bereits in einem früheren Beitrag erklärten, aber Android 5.0 legt potentiellen Angreifern und damit auch potentiellen Rootern schon ganz viele Stolpersteine in den Weg, wie der für seine SuperSU bekannte App-Programmierer Chainfire am Sonntag in einem ausführlichen Beitrag auf Google+ erklärte. Demnach haben die Android-Entwickler seit dem Release der ersten Android-L-Preview sämtliche Schwachstellen, die seine App noch ausnutzen konnte, gefixt und somit das Rooten enorm schwerer gemacht.

SE Linux sei Dank

Zunächst sollte hier mal klar gestellt werden, dass es generell zu begrüßen ist, wenn sich ein Android-Smartphone nur sehr schwer oder umständlich rooten lässt. Denn Tools wie Towelroot oder andere One-Klick-Lösungen nutzen Sicherheitslücken von Android aus und sind somit abhängig von Schwachstellen im System. Das Rooten sollte deshalb nur über den Umweg eines Custom Recoverys mit speziellem Bootloader funktionieren und somit auch nur auf Geräten, die einen offenen Bootloader besitzen. Dann klinkt sich die Root-Software in das Boot-System des Linux-Kernels ein und versucht einen Systemprozess mit der ID 1 des Root-Nutzers auszuführen und so an Root-Rechte zu gelangen.

Mit der neuen SE-Linux-Einstellung „enforced“ ist das aber nicht mehr so einfach. Android benutzt keinen klassischen Init-Bootprozess wie von Linux her bekannt (Sys-V-Init/ Upstart), sondern eigene Bootscripte. Den „Urprozess“ init kennt auch Android, anschließend läuft aber unter Android 5.0 „Lollipop“ bereits jeder Prozess in einer eigenen SELinux-Sandbox. Hier hatte sich üblicherweise noch vor SE Linux das install-recovery.sh Skript eingeklinkt.

Wenn sich also das typische Root-Script von Chainfire hier Adminrechte sichern will, darf es nicht als Sandbox-Prozess starten, sondern müsste quasi gleichzeitig mit dem Init-Script ablaufen. Als Lösung dafür hat nun Chainfire ein geändertes Kernel-Paket gebaut, das die nötigen Abläufe für die Root-Rechte in die Initial Ramdisk packt und in der init.rc-Datei den Start des Scripts als eigener Sandbox-Prozess verhindert (somit läuft es weiterhin im Init-Kontext, also mit kompletten Root-Rechten). Entsprechende Pakete für das Nexus 5 und das Nexus 7 mit Android 5.0 „Lollipop“ stehen auf der Homepage von Chainfire zum Download bereit. Der Vorteil dieser Lösung: SE Linux kann die Einstellung „enforcing“ beibehalten und das System bleibt sicher. Eine Alternative bestünde darin, SE Linux einfach wieder auf „permissive“ zurückzusetzen, wie unter Android 4.4, das würde aber die deutlich höheren Sicherheitsvorkehrungen von Android 5.0 untergraben.

Die Notwendigkeit eines Custom Kernels macht hingegen auch klar, dass man auf Android-Geräten ohne entsperrten Bootloader in Zukunft nur sehr schwer an Root-Rechte gelangen wird, außer es findet jemand eine gravierende Sicherheitslücke. Wer sein Handy also auch 2015 sicher und einfach rooten möchte, tut gut daran, einen Hersteller zu wählen, der das Entsperren des Bootloaders erlaubt bzw. aktiv unterstützt (HTC, Motorola, Nexus, Sony).

Als weitere Konsequenz dürfte in den meisten Fällen ein Beibehalten der Root-Rechte bei einem Firmware-Update deutlich komplizierter oder sogar ein Ding der Unmöglichkeit werden. Root-freudige müssen also nach jedem Update erneut einen Custom-Kernel installieren, der die benötigten Init-Skripte mitbringt.

Umstellen müssen sich auch App-Entwickler, die Root-Apps programmieren: so haben sich einige Rechte des Android-Dateisystems bei 5.0 „Lollipop“ geändert.  Gewöhnliche Apps haben zum Beispiel keinen Lesezugriff mehr auf /dev/block. Weitere Informationen zur Umstellung finden sich im ausführlichen Posting von Chainfire.

Android User meint…

Rooten sollte eigentlich nur durch die Installation eines Custom-ROM/Bootloader/Kernels möglich sein und nicht durch irgendwelche dubiosen One-Click-Tools. Insofern begrüßen wir diese Verschärfung unter Android 5.0 „Lollipop“. Dass Chainfire lediglich zwei Tage gebraucht hat, um eine entsprechende Lösung für das Nexus 5 und das Nexus 7 zu präsentieren zeigt, dass es keinen Grund zur Panik gibt. Rooten funktioniert auch unter Android 5.0.

Quelle: Chainfire auf Google+

Kommentiere den Artikel

Please enter your comment!
Please enter your name here