Fraunhofer-Gesellschaft

Publica

Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Konzept und Entwicklung eines effizienten Multilayer Fuzzing Frameworks für Android

 
: Adam, Christian
: Krauß, Christoph

Darmstadt, 2016, 77 pp.
Darmstadt, Hochschule, Bachelor Thesis, 2016
German
Bachelor Thesis
Fraunhofer SIT ()

Abstract
Durch die weite Verbreitung von Android sind größere Forschungsgruppen entstanden, die Apps für Android auf Verwundbarkeiten untersuchen. Diese treten als ausnutzbare Implementierungsfehler auf. Über diese lassen sich Laufzeitangriffe auf das Betriebssystem Android und auf die Apps ausführen. Um Apps strukturiert auf diese Fehler untersuchen zu können, lassen sich diese in Schichten unterteilen. Für die Untersuchung der einzelnen App-Schichten sind unterschiedliche Testverfahren notwendig. Aus den unterschiedlichen Testverfahren folgen Testmöglichkeiten die in der manuellen Erstellung und Bearbeitung nicht skalieren. Um die Erstellung und Bearbeitung der Testfälle zu automatisieren bietet sich die Testtechnik Fuzzing an. Diese ist eine automatisierte Testtechnik, die zur Überprüfung von Eingabeverarbeitung in Programmen genutzt werden kann. Bei der Recherche für diese Arbeit wurden einige publizierte Arbeiten der letzten Jahre untersucht, die Android Apps mit der Hilfe von Fuzzing auf Implementierungsfehler untersuchen. Aber bei keinem dieser Ansätze werden Android Apps anhand eines Schichtenmodells auf Implementierungsfehler untersucht. Dieses Defizit ist die Motivation für diese Arbeit. Durch die Motivation entstanden drei Fragestellungen die in dieser Arbeit beantwortet werden. Die erste Frage war, wie sich ein Fuzzing-Framework umsetzen lässt, dass die Schichten einer Android App auf Implementierungsfehler untersucht. Eine weitere Frage war, wie sich die Effizienz dieses Fuzzing-Frameworks steigern lässt. Die letzte Frage war, wie sich die Resultate d er Fuzzingvorgänge aufzeichnen, auswerten und speichern lassen. Um diese Fragenstellungen beantworten zu können wurden die Grundlagen über die Android Plattform sowie Fuzzing erarbeitet. Anhand dessen wurde der konzeptionelle Aufbau für das Fuzzing-Framework erstellt. Dieser wurde daraufhin umgesetzt und evaluiert. Danach wurde das Fuzzing-Framework gegenüber anderer Ansätze verglichen, die Android Apps durch Fuzzing untersuchen. Das Ergebnis dieser Arbeit ist, die Umsetzung eines generischen Fuzzing-Frameworks, das Android Apps anhand eines Schichtenmodells auf Fehler untersucht. Dabei werden die Implementierungsfehler gefunden, die schwere Ausnahmefehler auslösen können. Weiter werden diese auf die Fehler beschränkt, die zu schweren Ausnahemfehlern führen. Die Effizienz des Fuzzing-Frameworks konnte durch die Parallelisierung von Untersuchungen an Apps gesteigert werden. Die Resultate der Fuzzingvorgänge werden über ein Monitoring der Android Geräte und dem Auswerten der Monitoringdaten erfasst.

: http://publica.fraunhofer.de/documents/N-469931.html