Analyzing Android Taint Analysis Tools: FlowDroid, Amandroid, and DroidSafe

This alert has been successfully added and will be sent to:

You will be notified whenever a record that you have chosen has been cited.

To manage your alert preferences, click on the button below.

New Citation Alert!

Abstract

Numerous static taint analysis techniques have recently been proposed for identifying information flows in mobile applications. These techniques are often optimized and evaluated on a set of synthetic benchmarks, which makes the comparison results difficult to generalize. Moreover, the techniques are commonly compared under different configuration setups, rendering the comparisons inaccurate. In this paper, we provide a large, controlled, and independent comparison of the three most prominent static taint analysis tools: FlowDroid, Amandroid, and DroidSafe. We align the configuration setup for the tools and evaluate them on both a set of common benchmarks and on real applications from the Google Play app store. We further evaluate the effectiveness of additional reflection handling mechanism implemented by DroidRA, applying it to each of the evaluated tools. We compare the results of our analysis to the results reported in previous studies, identify main reasons for inaccuracy in existing tools, and provide suggestions for future research.

References

D. Octeauet al., “Effective inter-component communication mapping in Android: An essential step towards holistic security analysis,” in Proc. 22nd USENIX Conf. Secur., 2013, pp. 543–558.

S. Arztet al., “FlowDroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps,” in Proc. 35th ACM SIGPLAN Conf. Program. Lang. Des. Implementation, 2014, pp. 259–269.

M. Zhang, Y. Duan, H. Yin, and Z. Zhao, “Semantics-aware Android malware classification using weighted contextual API dependency graphs,” in Proc. ACM SIGSAC Conf. Comput. Commun. Secur., 2014, pp. 1105–1116.

L. Liet al., “IccTA: Detecting inter-component privacy leaks in Android apps,” in Proc. IEEE/ACM 37th Int. Conf. Softw. Eng., 2015, pp. 280–291.

F. Wei, S. Roy, X. Ou, and Robby, “Amandroid: A precise and general inter-component data flow analysis framework for security vetting of Android apps,” in Proc. ACM SIGSAC Conf. Comput. Commun. Secur., 2014, pp. 1329–1341.

M. I. Gordon, D. Kim, J. H. Perkins, L. Gilham, N. Nguyen, and M. C. Rinard, “Information flow analysis of Android applications in DroidSafe,” in Proc. Netw. Distrib. Syst. Secur. Symp., 2015.

A. Bianchi, J. Corbetta, L. Invernizzi, Y. Fratantonio, C. Kruegel, and G. Vigna, “What the app is that? Deception and countermeasures in the Android user interface,” in Proc. IEEE Symp. Security Privacy, 2015, pp. 931–948.

Y. Fratantonio, A. Machiry, A. Bianchi, C. Kruegel, and G. Vigna, “CLAPP: Characterizing loops in Android applications,” in Proc. 10th Joint Meeting Found. Softw. Eng., 2015, pp. 687–697.