FlowDroid
Top Cited Papers
- 5 June 2014
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 49 (6), 259-269
- https://doi.org/10.1145/2666356.2594299
Abstract
Today's smartphones are a ubiquitous source of private and confidential data. At the same time, smartphone users are plagued by carelessly programmed apps that leak important data by accident, and by malicious apps that exploit their given privileges to copy such data intentionally. While existing static taint-analysis approaches have the potential of detecting such data leaks ahead of time, all approaches for Android use a number of coarse-grain approximations that can yield high numbers of missed leaks and false alarms. In this work we thus present FlowDroid, a novel and highly precise static taint analysis for Android applications. A precise model of Android's lifecycle allows the analysis to properly handle callbacks invoked by the Android framework, while context, flow, field and object-sensitivity allows the analysis to reduce the number of false alarms. Novel on-demand algorithms help FlowDroid maintain high efficiency and precision at the same time. We also propose DroidBench, an open test suite for evaluating the effectiveness and accuracy of taint-analysis tools specifically for Android apps. As we show through a set of experiments using SecuriBench Micro, DroidBench, and a set of well-known Android test applications, FlowDroid finds a very high fraction of data leaks while keeping the rate of false positives low. On DroidBench, FlowDroid achieves 93% recall and 86% precision, greatly outperforming the commercial tools IBM AppScan Source and Fortify SCA. FlowDroid successfully finds leaks in a subset of 500 apps from Google Play and about 1,000 malware apps from the VirusShare project.Keywords
Funding Information
- Bundesministerium für Bildung und Forschung
- Deutsche Forschungsgemeinschaft
- Hessian LOEWE excellence initiative within CASED
- Division of Computer and Network Systems (CNS-1228700, CNS-0905447, CNS-1064944, CNS-0643907)
This publication has 22 references indexed in Scilit:
- Efficient and Effective Handling of Exceptions in Java Points-to AnalysisLecture Notes in Computer Science, 2013
- DexplerPublished by Association for Computing Machinery (ACM) ,2012
- Inter-procedural data-flow analysis with IFDS/IDE and SootPublished by Association for Computing Machinery (ACM) ,2012
- A framework for static detection of privacy leaks in android applicationsPublished by Association for Computing Machinery (ACM) ,2012
- AndroidLeaks: Automatically Detecting Potential Privacy Leaks in Android Applications on a Large ScaleLecture Notes in Computer Science, 2012
- F4FPublished by Association for Computing Machinery (ACM) ,2011
- A survey of mobile malware in the wildPublished by Association for Computing Machinery (ACM) ,2011
- Practical Extensions to the IFDS AlgorithmLecture Notes in Computer Science, 2010
- Implicit Flows: Can’t Live with ‘Em, Can’t Live without ‘EmLecture Notes in Computer Science, 2008
- Scaling Java Points-to Analysis Using SparkLecture Notes in Computer Science, 2003