Carsten Eilers Freiberufler

Es gibt vielversprechende neue Tools, die sowohl Forschern als auch Entwicklern helfen können. Vor allem das AndroBugs Framework und QARK können bei der Absicherung von Apps nützliche Hilfestellungen leisten.

Im Bereich der Android-Sicherheit hat sich in den vergangenen anderthalb Jahren einiges getan; die Sicherheitsforscher waren fleißig. Android ist aber auch ein sehr dankbares Forschungsgebiet, in dem es noch reichlich Neues zu entdecken gibt.

Wollen Sie wissen, ob die Apps auf Ihrem Android-Gerät Schwachstellen enthalten? Oder sich selbst davon überzeugen, wie unsicher Androids Multimediasystem wirklich ist? Oder möchten Sie testen, ob die von Ihnen entwickelte App wirklich sicher ist? Dann können Sie entweder auf Fuzzing setzen und Ihr Testobjekt mit falsch formatieren Daten und ähnlichen Eingaben einem Stresstest unterziehen. Oder Sie können mit einem Schwachstellenscanner nach bekannten Schwachstellenarten suchen. Für diese und weitere Möglichkeiten wurden auf den Sicherheitskonferenzen neue Tools vorgestellt.

Mit Android spielende Cowboys

Eine gute Möglichkeit, Fehler und damit auch mögliche Schwachstellen zu finden, ist Fuzzing. Dazu gab es gleich mehrere Vorträge auf Sicherheitskonferenzen; es tut sich also einiges. Man kann in Android ja auch einiges fuzzen…

Die ART Runtime

Anestis Bechtsoudis hat auf der Hack in the Box Amsterdam 2015 einen Vortrag zum Fuzzing der AOT-(Ahead-Of-Time)-ART-Runtime gehalten: „Fuzzing Objects d’ART: Digging Into the New Android L Runtime Internals“. Auslöser seiner Untersuchungen waren unter anderem die fehlenden Informationen über die Sicherheit der Android Runtime (ART). Deshalb begann er seinen Vortrag auch mit einer kurzen Einführung in die ART. Für das Fuzzing wählte er drei Ziele, von denen bisher nur das erste erreicht wurde:

  1. In der ersten Phase sollen die Compilation Chains für die unterstützten Backends untersucht werden.
  2. Für die zweite Phase ist die Untersuchung der Initialisierung der Runtime-Umgebung geplant.
  3. In der dritten Phase sollen die Ausführungsmodi der Runtime untersucht werden.

Da das erste Ziel der ART der Dalvik-Bytecode-Compile-Prozess (Dalvik Executable, DEX) war, musste zunächst ein Fuzzer dafür entwickelt werden. Die Untersuchungen sollten auf ARM-Geräten durchgeführt werden, da diese den größten Marktanteil besitzen. Die zunächst angedachte Option, die Untersuchungen mit Hosttools durchzuführen, wurde wegen deren abweichendem Speicherlayout verworfen. Auch der Android-QEMU-Emulator für ARM schied als Option aus, da die unterschiedlichen CPU-Varianten Auswirkungen auf die Compilerattribute haben und die Ergebnisse nicht auf reale Systeme übertragbar wären.

Die für das Fuzzing benötigten Daten sollten auf dem Gerät erzeugt werden, um den sonst nötigen I/O-Overhead zwischen Host und Zielgerät zu vermeiden. Die Fuzzing-Daten sollen dabei einem mutationsbasierten Ansatz entsprechend aus gültigen Eingabedaten erzeugt werden, wobei die Manipulationen im Laufe der Zeit auf Grundlage der gesammelten Erfahrungen angepasst werden sollen.

Das Ergebnis dieser Anforderungen war das Fuzzing Framework DroidFuzz für Dalvik Executable (DEX), mit dem die Untersuchungen auf vier Google-Nexus-Geräten (ein Nexus 4, zwei Nexus 5, ein Nexus 6) mit zum Zeitpunkt der Tests aktuellen Android OS 5.1.x und AOSP Master Branch unter ART Commit #8e8bb8a vom 16. April 2015 gestartet wurden. Dabei wurde eine Reihe eindeutiger Abstürze entdeckt, überwiegend out-of-band Writes und NULL-Dereferenzierungen. Diese müssen noch weiter untersucht werden, außerdem steht noch die Realisierung der Phasen zwei und drei aus.

DroidFuzz wurde nicht veröffentlicht, stattdessen beteiligten sich die Entwickler mit den gesammelten Erfahrungen an der Weiterentwicklung von honggfuzz und dessen Anpassung an Android.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Mobile Technology 3.16 - "Lokalisierung"

Android gerät immer wieder wegen potenzieller Schwachstellen in die Schlagzeilen. In dieser Ausgabe des Mobile Technology wollen wir einen Blick auf Schwachstellen werfen, die Forscher gerade eben erst entdeckt haben.

Alle Infos zum Heft
252679Android Security: Schutzmaßnahme gegen neue Angriffe
X
- Gib Deinen Standort ein -
- or -