TU Darmstadt / ULB / TUbiblio

Static Data Flow Analysis for Android Applications

Arzt, Steven (2017)
Static Data Flow Analysis for Android Applications.
Technische Universität Darmstadt
Dissertation, Erstveröffentlichung

Kurzbeschreibung (Abstract)

Mobile phones have become important daily companions for millions of people which help to organize both their private and their professional lives. Having access to data such as the calendar or the address book anywhere, anytime, has become commonplace. Sensor data such as the phone's GPS location and accelerometer help users navigate through the physical world. Users can furthermore extend the functionality of their phone using small programs called apps from various developers and vendors in an open ecosystem. Undoubtedly, having all this data merged on a device that is always-on and always-connected and that can easily be extended with new software greatly improves user convenience. On the other hand, it also poses new questions with regard to privacy and security. Apps may misuse the data stored on the phone or obtained from the sensors to infringe upon the user's privacy. In fact, companies already now use location data and app usage statistics to build user profiles for the purpose of targeted advertisement. The user is oftentimes unaware of these data leaks originating from his phone and has little means for analyzing the actual behavior of a given app with regard to privacy.

Static data flow analysis has been proposed as a means for automatically enumerating the data flows inside a program. Still, either do not support Android's platform-specific semantics or fall short on precision, recall, or scalability. In this thesis, we therefore propose techniques for efficiently and precisely performing static data flow analysis on real-world binary-only Android apps with large code sizes. We present the FlowDroid tool and show that it can detect data leaks in popular apps such as Facebook, Paypal, and LinkedIn. The FlowDroid reports improve the user's digital sovereignty by allowing his to asses the behavior of the app before installing it on his device and thereby entrusting it with his personal data. We allow the user to verify which of his data leaves the device and how. On the DroidBench micro-benchmark suite, we show that FlowDroid achieves a precision of more than 87% and a recall of over 84%, thereby outperforming state-of-the-art tools from academia and industry. Additionally, FlowDroid has already been used as a building-block for many other works in the field.

Typ des Eintrags: Dissertation
Erschienen: 2017
Autor(en): Arzt, Steven
Art des Eintrags: Erstveröffentlichung
Titel: Static Data Flow Analysis for Android Applications
Sprache: Englisch
Referenten: Bodden, Prof. Dr. Eric ; Zeller, Prof. Dr. Andreas ; Eugster, Prof. Dr. Patrick
Publikationsjahr: 2017
Ort: Darmstadt
Datum der mündlichen Prüfung: 22 Dezember 2016
URL / URN: http://tuprints.ulb.tu-darmstadt.de/5937
Kurzbeschreibung (Abstract):

Mobile phones have become important daily companions for millions of people which help to organize both their private and their professional lives. Having access to data such as the calendar or the address book anywhere, anytime, has become commonplace. Sensor data such as the phone's GPS location and accelerometer help users navigate through the physical world. Users can furthermore extend the functionality of their phone using small programs called apps from various developers and vendors in an open ecosystem. Undoubtedly, having all this data merged on a device that is always-on and always-connected and that can easily be extended with new software greatly improves user convenience. On the other hand, it also poses new questions with regard to privacy and security. Apps may misuse the data stored on the phone or obtained from the sensors to infringe upon the user's privacy. In fact, companies already now use location data and app usage statistics to build user profiles for the purpose of targeted advertisement. The user is oftentimes unaware of these data leaks originating from his phone and has little means for analyzing the actual behavior of a given app with regard to privacy.

Static data flow analysis has been proposed as a means for automatically enumerating the data flows inside a program. Still, either do not support Android's platform-specific semantics or fall short on precision, recall, or scalability. In this thesis, we therefore propose techniques for efficiently and precisely performing static data flow analysis on real-world binary-only Android apps with large code sizes. We present the FlowDroid tool and show that it can detect data leaks in popular apps such as Facebook, Paypal, and LinkedIn. The FlowDroid reports improve the user's digital sovereignty by allowing his to asses the behavior of the app before installing it on his device and thereby entrusting it with his personal data. We allow the user to verify which of his data leaves the device and how. On the DroidBench micro-benchmark suite, we show that FlowDroid achieves a precision of more than 87% and a recall of over 84%, thereby outperforming state-of-the-art tools from academia and industry. Additionally, FlowDroid has already been used as a building-block for many other works in the field.

Alternatives oder übersetztes Abstract:
Alternatives AbstractSprache

Smartphones sind für Millionen von Menschen zu täglichen Begleitern geworden, mit den sie sowohl ihr privates als auch ihr geschäftliches Leben organisieren. An jedem Ort und zu jeder Zeit Zugriff auf Daten wie den Terminkalender oder das Adressbuch zu haben, gilt heute als selbstverständlich. Sensordaten wie die GPS-Position und der im Gerät verbaute Kompass helfen Benutzern, durch die reale Welt zu navigieren. Mit zusätzlichen Programmen, sogenannten Apps, können Benutzer die Funktionalität ihres Geräts zudem erweitern. Apps werden in einem offenen Ökosystem von verschiedensten Anbietern und Entwicklern vertrieben. Alle Daten an einem Ort zu haben, auf einem Gerät, das immer verfügbar und immer verbunden ist, bietet dem Benutzer zweifellos ein hohes Maß an Komfort. Auf der anderen Seite wirft es jedoch auch neue Fragen zu Datenschutz und Privatsphäre auf. Tatsächlich nutzen Firmen bereits heute Daten von mobilen Endgeräten, um Benutzerprofile für zielgruppenorientierte Werbung zu erzeugen. Der Endnutzer ist sich dieser Datenextraktion von seinem Gerät oftmals nicht bewusst und verfügt auch kaum über Möglichkeiten, sich darüber zu informieren, wie Apps mit seinen Daten tatsächlich umgehen.

Statische Datenflussanalyse ist eine Technik, mithilfe derer automatisiert Datenflüsse in Programmen erkannt werden können. Bisherigen Techniken fehlt jedoch entweder die Unterstützung für die spezifische Semantik der Android-Plattform oder sie liefern keine hinreichenden Ergebnisse in Beziug auf Genauigkeit, Vollständigkeit, Skalierbarkeit oder Geschwindigkeit. In dieser Doktorarbeit stellen wir daher Technken zur statischen Datenflussanalyse vor, mit denen reale Android-Apps mit großen Codemengen effizient analysiert werden können, auch wenn diese nur im Binärcode vorliegen. Wir präsentieren das FlowDroid-Werkzeug, welches präzise und weitestgehend vollständige Datenflüsse aus populären Apps wie Facebook, PayPal und LinkedIn extrahiert. Die Ergebnisberichte von FlowDroid verbessern die digitale Souveränität des Benutzers, da dieser sich nun selbst ein Bild davon machen kann, wie eine App mit seinen Daten umgeht, bevor er die App auf seinem Gerät installiert und ihr somit seine Daten anvertraut. Mit FlowDroid kann der Benutzer nachvollziehen, welche Daten von seinem Gerät erhoben und an Dritte gesendet werden. Auf der DroidBench Micro Benchmark-Suite liefert FlowDroid mehr als 87% aller erwarteten Ergebnisse. 84% aller gemeldeten Ergebnisse sind korrekt. Diese Werte liegen deutlich über den Ergebnissen der bisher aktuellen Analysewerkzeuge, sowohl aus dem akademischen als auch aus dem industriellen Kontext.

Deutsch
URN: urn:nbn:de:tuda-tuprints-59371
Sachgruppe der Dewey Dezimalklassifikatin (DDC): 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
LOEWE > LOEWE-Zentren > CASED – Center for Advanced Security Research Darmstadt
20 Fachbereich Informatik > EC SPRIDE > Secure Software Engineering
LOEWE > LOEWE-Zentren
20 Fachbereich Informatik > EC SPRIDE
LOEWE
Hinterlegungsdatum: 05 Feb 2017 20:55
Letzte Änderung: 05 Feb 2017 20:55
PPN:
Referenten: Bodden, Prof. Dr. Eric ; Zeller, Prof. Dr. Andreas ; Eugster, Prof. Dr. Patrick
Datum der mündlichen Prüfung / Verteidigung / mdl. Prüfung: 22 Dezember 2016
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen