Vielen Dank an AndrewT, der einen Link im Chat gepostet hat und dieses Forschungspapier als Referenz in einer der Antworten verwendet hat . Diese Antwort basiert vollständig auf dem vorliegenden Papier (Mai 2015) und hebt allgemeine, für Benutzer verständliche Aspekte hervor (es enthält viel sicherheitsrelevantes Material für Interessierte).
Antwort: Es geht um Malware-Schwachstellen. Die Verwendung von Root-Exploits ist ein RIESIGES Sicherheitsrisiko, das alle anderen Vorteile übersteigt
Was ist Weichwurzel und Hartwurzel?
Soft Root: Root wird direkt durch Ausführen einer Software (dh Root-Exploits) abgerufen - entweder durch direkte Installation auf dem Gerät oder durch Erfordernis einer adb
Shell über eine PC-Verbindung
Hard Root: Root wird durch externes Flashen von su binary über ein Update-Paket oder ein ROM erhalten
Malware-Bedrohung - im Allgemeinen
Obwohl legitim, nutzen viele praktische One-Click-Root-Methoden Schwachstellen im Android-System aus. Ohne sorgfältige Kontrolle können solche Exploits von Malware-Autoren missbraucht werden, um nicht autorisierte Root-Rechte zu erlangen.
Wie im Android Malware Genome Project beschrieben , hatten 36,7% (von 1260) Malware-Beispiele mindestens einen Root-Exploit eingebettet.
Diese ausgereiften Exploits sind nicht gut geschützt, es ist extrem gefährlich, wenn sie in die falschen Hände geraten.
Wer sind die wichtigsten Root-Anbieter und wie funktioniert das?
Welche Arten von Root-Expolits gibt es?
Das Papier deckt 78 untersuchte Exploits ab. Im Allgemeinen die Reihenfolge der Auswirkungen (vom höchsten zum niedrigsten ):
Kernel-Exploits: Aufgrund seiner privilegierten Position ist es naheliegend, Linux-Kernel gezielt einzusetzen, um die volle Kontrolle über ein Android-Gerät, beispielsweise TowelRoot, zu erlangen
Bibliotheksexploits: Exploits, die auf Bibliotheken abzielen, die von Android-Systemprozessen verwendet werden, oder externe Bibliotheken, die zur Unterstützung verschiedener Anwendungen verwendet werden, z. B. ZergRush-Exploit und libsysutils, die vom Volume Manager-Dämon verwendet werden
Anwendung und Anwendungsframework Root-Exploits auf Anwendungsebene : Exploits, die auf Systemanwendungen oder -dienste abzielen, umfassen meistens anfällige Logikfunktionen, die von setuid
Dienstprogrammen, Systemanwendungen oder -diensten eingeführt wurden. Ein Beispiel ist ein anfälliges setuid
Dienstprogramm, das nur auf XoomFE-Geräten mit einer Sicherheitsanfälligkeit durch Befehlsinjektion vorhanden ist
Herstellerspezifischer Kernel oder Treiber: Hersteller passen entweder den Kernel an (z. B. Qualcomms angepasster Linux-Kernel-Zweig) oder liefern herstellerspezifische Gerätetreiber für verschiedene Peripheriegeräte (z. B. Kamera, Sound). Solcher Code läuft im Kernel-Space und der Kompromiss kann auch zu einer vollständigen Kontrolle über das Gerät führen.
In Bezug auf die Anzahl sind die Exploits wie in der folgenden Abbildung dargestellt
Wie schwierig ist es, Exploit (Source oder Binary) in die Finger zu bekommen?
Sehr leicht. Einfach über die Google-Suche verfügbar, sodass Malware-Autoren solche Exploits problemlos nutzen können. Das Googeln nach 73 Exploits führt dazu, dass 68 davon verfügbar sind - 46 mit Quellcode und 22 mit Binärdateien
Wie funktionieren diese Exploits?
Wichtige Voraussetzungen für das Funktionieren von Exploits (von der schwierigsten bis zur niedrigsten ) ( Malware- Tag enthält viele dieser Instanzen)
Erforderliche Benutzerinteraktionen: (6 von 78 untersuchten)
- Bitten Sie den Benutzer, eine App herunterzuladen und die Installation manuell zu unterbrechen
- Bitten Sie den Benutzer, mindestens einmal die Wiederherstellung zu starten.
- Aufforderung an den Benutzer, das Gerät manuell in den Batteriesparmodus zu versetzen.
- Bitten Sie den Benutzer, eine herstellerspezifische App zu öffnen und eine Taste zu drücken
Erforderliche adb
Shell über eine PC-Verbindung: (17 von 78 untersuchten). Für einige Exploits ist eine adb
Shell-Verbindung aus folgenden Gründen erforderlich:
Der Exploit kann erfolgreich eine Einstellung ändern, in local.prop
der root nur für die adb
Shell aktiviert ist.
Der Exploit muss in eine Datei geschrieben werden, die der Group Shell gehört und die von der Group beschreibbar (nicht von der Welt beschreibbar) ist.
Der Exploit zielt auf den AdB-Daemon-Prozess ab, für den der Angriffsprozess mit dem Shell-Benutzer ausgeführt werden muss. Beispielsweise zielt der Exploit "Rage Against the Cage" auf die Sicherheitsanfälligkeit von "adb daemon" ab, bei der der Rückgabewert von "nicht überprüft" wurdesetuid()
Neustart: (6 von 78 untersuchten) Im Allgemeinen erfordern viele Root-Exploits mindestens einen Neustart. Ein symbolischer Link-Angriff würde es beispielsweise einem Angreifer ermöglichen, eine Datei zu löschen, die dem System mit schwacher Berechtigung gehört, und einen Link an derselben Stelle zu einer geschützten Datei einzurichten. Nach einem Neustart würden die entsprechenden Init-Skripte versuchen, die Berechtigung der Originaldatei in "Weltschreibbar" zu ändern, was in Wirklichkeit die Berechtigung der verknüpften Datei ändert
Keine oder Erlaubnis: (44 von 78 untersuchten) Für die Exploits in dieser Kategorie sind keine strengen Anforderungen erforderlich. Für einige von ihnen sind jedoch möglicherweise bestimmte Android-Berechtigungen erforderlich READ LOGS
, damit der Prozessverantwortliche einer bestimmten Benutzergruppe zugeordnet werden kann.
Können diese Exploits von Anti-Virus erkannt werden?
Da die Root-Exploits sehr vertraulich sind und möglicherweise von verschiedenen Android-Schadprogrammen genutzt werden, wird erwartet, dass Antivirensoftware auf der Android-Plattform die meisten von ihnen identifizieren kann, einschließlich der von Root-Anbietern implementierten. Insgesamt zeigt das Ergebnis, dass die neuesten Sicherheitsprodukte auf der Android-Plattform Root-Exploits immer noch nicht effektiv bekämpfen können
4 repräsentative Android-Antivirenprodukte wurden verwendet, um den größten Anbieter (Name nicht bekannt gegeben) mit 167 Exploits zu testen . Da ursprünglich aus der Provider-Datenbank heruntergeladene Exploits den tatsächlichen Exploit-Code gepackt und einen Manipulationserkennungsmechanismus verwendet haben, erstellte die Studie für jeden Exploit drei verschiedene Versionen:
Ursprünglicher Exploit, der direkt von Anbieterservern abgerufen wurde, mit aktivierter Pack- und Manipulationserkennung.
Unpacked Exploit: Hiermit wird die gesamte Exploit-Logik für Antiviren-Produkte verfügbar gemacht.
Neu gepackter Exploit mit deaktivierter Manipulationserkennung.
Exploit-Binärdateien, die von großen Root-Anbietern entwickelt wurden, sind überraschend "sauber", da alle gängigen Antiviren-Programme Schwierigkeiten haben, sie zu erkennen, wie die folgende Tabelle zeigt
Fazit
Einfach. Vermeiden Sie Soft-Root-Methoden, es sei denn, Sie sind in der Lage, mit den Folgen umzugehen