Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2766498.2766509acmconferencesArticle/Chapter ViewAbstractPublication PageswisecConference Proceedingsconference-collections
research-article

WeChecker: efficient and precise detection of privilege escalation vulnerabilities in Android apps

Published: 22 June 2015 Publication History

Abstract

Due to the rapid increase of Android apps and their wide usage to handle personal data, a precise and large-scaling checker is in need to validate the apps' permission flow before they are listed on the market. Several tools have been proposed to detect sensitive data leaks in Android apps. But these tools are not applicable to large-scale analysis since they fail to deal with the arbitrary execution orders of different event handlers smartly. Event handlers are invoked by the framework based on the system state, therefore we cannot pre-determine their order of execution. Besides, since all exported components can be invoked by an external app, the execution orders of these components are also arbitrary. A naive way to simulate these two types of arbitrary execution orders yields a permutation of all event handlers in an app. The time complexity is O(n!) where n is the number of event handlers in an app. This leads to a high analysis overhead when n is big. To give an illustration, CHEX [10] found 50.73 entry points of 44 unique class types in an app on average. In this paper we propose an improved static taint analysis to deal with the challenge brought by the arbitrary execution orders without sacrificing the high precision. Our analysis does not need to make permutations and achieves a polynomial time complexity. We also propose to unify the array and map access with object reference by propagating access paths to reduce the number of false positives due to field-insensitivity and over approximation of array access and map access.
We implement a tool, WeChecker, to detect privilege escalation vulnerabilities [7] in Android apps. WeChecker achieves 96% precision and 96% recall in the state-of-the-art test suite DriodBench (for compairson, the precision and recall of FlowDroid [1] are 86% and 93%, respectively). The evaluation of WeChecker on real apps shows that it is efficient (average analysis time of each app: 29.985s) and fits for large-scale checking.

References

[1]
S. Arzt, S. Rasthofer, C. Fritz, E. Bodden, A. Bartel, J. Klein, Y. Le Traon, D. Octeau, and P. McDaniel. Flowdroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, page 29. ACM, 2014.
[2]
M. Backes, S. Bugiel, E. Derr, and C. Hammer. Taking android app vetting to the next level with path-sensitive value analysis. Report (Bericht), 2014.
[3]
S. Bugiel, L. Davi, A. Dmitrienko, T. Fischer, A.-R. Sadeghi, and B. Shastry. Towards taming privilege-escalation attacks on android. In 19th Annual Network & Distributed System Security Symposium (NDSS), Feb. 2012.
[4]
P. P. Chan, L. C. Hui, and S.-M. Yiu. Droidchecker: analyzing android applications for capability leak. In Proceedings of the fifth ACM conference on Security and Privacy in Wireless and Mobile Networks, pages 125--136. ACM, 2012.
[5]
E. Chin, A. P. Felt, K. Greenwood, and D. Wagner. Analyzing inter-application communication in android. In Proceedings of the 9th international conference on Mobile systems, applications, and services, MobiSys '11, pages 239--252, New York, NY, USA, 2011. ACM.
[6]
X. Cui, D. Yu, P. Chan, L. C. Hui, S. Yiu, and S. Qing. Cochecker: Detecting capability and sensitive data leaks from component chains in android. In Information Security and Privacy, pages 446--453. Springer, 2014.
[7]
L. Davi, A. Dmitrienko, A.-R. Sadeghi, and M. Winandy. Privilege escalation attacks on android. In Proceedings of the 13th international conference on Information security, ISC'10, pages 346--360, Berlin, Heidelberg, 2011. Springer-Verlag.
[8]
S. K. Debray and T. A. Proebsting. Interprocedural control flow analysis of first-order programs with tail-call optimization. ACM Trans. Program. Lang. Syst., 19(4):568--585, July 1997.
[9]
W. Enck, P. Gilbert, B.-G. Chun, L. P. Cox, J. Jung, P. McDaniel, and A. N. Sheth. Taintdroid: an information-flow tracking system for realtime privacy monitoring on smartphones. In Proceedings of the 9th USENIX conference on Operating systems design and implementation, pages 1--6, 2010.
[10]
A. P. Felt, E. Chin, S. Hanna, D. Song, and D. Wagner. Chex: Statically vetting android apps for component hijacking vulnerabilities. In Proceedings of the 2012 ACM Conference on Computer and Communications Security, CCS '12, NY, USA, pages 229--240. ACM, 2012.
[11]
A. P. Felt, H. J. Wang, A. Moshchuk, S. Hanna, and E. Chin. Permission re-delegation: Attacks and defenses. In Proceedings of the 20th USENIX Conference on Security, SEC'11, pages 22--22, Berkeley, CA, USA, 2011. USENIX Association.
[12]
A. P. Fuchs, A. Chaudhuri, and J. S. Foster. Scandroid: Automated security certification of android applications. Manuscript, Univ. of Maryland, http://www.cs.umd.edu/~avik/projects/scandroidascaa, 2009.
[13]
C. Gibler, J. Crussell, J. Erickson, and H. Chen. Androidleaks: Automatically detecting potential privacy leaks in android applications on a large scale. In S. Katzenbeisser, E. Weippl, L. Camp, M. Volkamer, M. Reiter, and X. Zhang, editors, Trust and Trustworthy Computing, volume 7344 of Lecture Notes in Computer Science, pages 291--307. Springer Berlin Heidelberg, 2012.
[14]
Google. Android. http://source.android.com/.
[15]
Google. Android Developers. http://developer.android.com/index.html.
[16]
Google. Intent. http://developer.android.com/reference/android/content/Intent.html.
[17]
M. Grace, Y. Zhou, Z. Wang, and X. Jiang. Systematic detection of capability leaks in stock android smartphones. In Proceedings of the 19th Annual Symposium on Network and Distributed System Security, 2012.
[18]
C. Hammer and G. Snelting. Flow-sensitive, context-sensitive, and object-sensitive information flow control based on program dependence graphs. International Journal of Information Security, 8(6):399--422, 2009.
[19]
IDC. Smartphone OS Market Share, Q3 2014. http://www.idc.com/prodserv/smartphone-os-market-share.jsp.
[20]
T. Jensen, D. Le Métayer, and T. Thorn. Verification of control flow based security properties. In Security and Privacy, 1999. Proceedings of the 1999 IEEE Symposium on, pages 89--103. IEEE, 1999.
[21]
J. Midtgaard and T. P. Jensen. Control-flow analysis of function calls and returns by abstract interpretation. In Proceedings of the 14th ACM SIGPLAN international conference on Functional programming, ICFP '09, pages 287--298, New York, NY, USA, 2009. ACM.
[22]
D. Octeau, P. McDaniel, S. Jha, A. Bartel, E. Bodden, J. Klein, and Y. Le Traon. Effective inter-component communication mapping in android with epicc: An essential step towards holistic security analysis. In Proceedings of the 22nd USENIX Security Symposium, 2013.
[23]
M. Pistoia, R. J. Flynn, L. Koved, and V. C. Sreedhar. Interprocedural analysis for privileged code placement and tainted variable detection. In ECOOP 2005-Object-Oriented Programming, pages 362--386. Springer, 2005.
[24]
G. Play. Ulysses Gizmons. https://play.google.com/store/apps/details?id=com.binarytoys.ulysse.
[25]
S. Rasthofer, S. Arzt, and E. Bodden. A machine-learning approach for classifying and categorizing android sources and sinks. In 2014 Network and Distributed System Security Symposium (NDSS), 2014.
[26]
E. Spride. DroidBench. https://github.com/secure-software-engineering/DroidBench.
[27]
E. Spride. DroidBench test case for inter-component communication. https://github.com/secure-software-engineering/DroidBench/tree/master/eclipse-project/InterComponentCommunication/ActivityCommunication1.
[28]
M. Sridharan, S. Chandra, J. Dolby, S. J. Fink, and E. Yahav. Alias analysis for object-oriented programs. In Aliasing in Object-Oriented Programming. Types, Analysis and Verification, pages 196--232. Springer, 2013.
[29]
O. Tripp, M. Pistoia, P. Cousot, R. Cousot, and S. Guarnieri. Andromeda: Accurate and scalable security analysis of web applications. In Fundamental Approaches to Software Engineering, pages 210--225. Springer, 2013.
[30]
R. Vallée-Rai, P. Co, E. Gagnon, L. Hendren, P. Lam, and V. Sundaresan. Soot-a java bytecode optimization framework. In Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research, page 13. IBM Press, 1999.
[31]
Z. Yang, M. Yang, Y. Zhang, G. Gu, P. Ning, and X. S. Wang. Appintent: Analyzing sensitive data transmission in android for privacy leakage detection. In Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, pages 1043--1054. ACM, 2013.
[32]
B. Zeng, G. Tan, and G. Morrisett. Combining control-flow integrity and static analysis for efficient and validated data sandboxing. In Proceedings of the 18th ACM conference on Computer and communications security, CCS '11, pages 29--40, New York, NY, USA, 2011. ACM.

Cited By

View all
  • (2023)A Component-Sensitive Static Analysis Based Approach for Modeling Intents in Android Apps2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00021(97-109)Online publication date: 1-Oct-2023
  • (2023)Scalable Compositional Static Taint Analysis for Sensitive Data Tracing on Industrial Micro-ServicesProceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice10.1109/ICSE-SEIP58684.2023.00015(110-121)Online publication date: 17-May-2023
  • (2022)Benchmark Fuzzing for Android Taint Analyses2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM55253.2022.00007(12-23)Online publication date: Oct-2022
  • Show More Cited By

Index Terms

  1. WeChecker: efficient and precise detection of privilege escalation vulnerabilities in Android apps

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    WiSec '15: Proceedings of the 8th ACM Conference on Security & Privacy in Wireless and Mobile Networks
    June 2015
    256 pages
    ISBN:9781450336239
    DOI:10.1145/2766498
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 22 June 2015

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Android
    2. control flow
    3. data flow checking
    4. privilege escalation attack
    5. taint analysis

    Qualifiers

    • Research-article

    Funding Sources

    • HKU Seed Fundings for Applied Research
    • HKU Seed Fundings for Basic Research
    • Huawei

    Conference

    WiSec'15
    Sponsor:
    • SIGSAC
    • US Army Research Office
    • NSF

    Acceptance Rates

    Overall Acceptance Rate 98 of 338 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)18
    • Downloads (Last 6 weeks)3
    Reflects downloads up to 13 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)A Component-Sensitive Static Analysis Based Approach for Modeling Intents in Android Apps2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00021(97-109)Online publication date: 1-Oct-2023
    • (2023)Scalable Compositional Static Taint Analysis for Sensitive Data Tracing on Industrial Micro-ServicesProceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice10.1109/ICSE-SEIP58684.2023.00015(110-121)Online publication date: 17-May-2023
    • (2022)Benchmark Fuzzing for Android Taint Analyses2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM55253.2022.00007(12-23)Online publication date: Oct-2022
    • (2021)Software engineering techniques for statically analyzing mobile apps: research trends, characteristics, and potential for industrial adoptionJournal of Internet Services and Applications10.1186/s13174-021-00134-x12:1Online publication date: 23-Jul-2021
    • (2021)The impact of tool configuration spaces on the evaluation of configurable taint analysis for AndroidProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464823(466-477)Online publication date: 11-Jul-2021
    • (2021)Jicer: Simplifying Cooperative Android App Analysis Tasks2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM52516.2021.00031(187-197)Online publication date: Sep-2021
    • (2021)Exploring Exception Handling Mechanism In Android Development2021 5th International Symposium on Multidisciplinary Studies and Innovative Technologies (ISMSIT)10.1109/ISMSIT52890.2021.9604572(678-683)Online publication date: 21-Oct-2021
    • (2020)Android Encryption Database Forensic Analysis Based on Static AnalysisProceedings of the 4th International Conference on Computer Science and Application Engineering10.1145/3424978.3425068(1-9)Online publication date: 20-Oct-2020
    • (2020)Security and Privacy Analysis of Android Family Locator AppsProceedings of the 25th ACM Symposium on Access Control Models and Technologies10.1145/3381991.3395612(47-58)Online publication date: 10-Jun-2020
    • (2020)Towards supporting software assurance assessments by detecting security patternsSoftware Quality Journal10.1007/s11219-019-09492-zOnline publication date: 5-May-2020
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media