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

skip to main content
10.1145/3368089.3409702acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

All your app links are belong to us: understanding the threats of instant apps based attacks

Published: 08 November 2020 Publication History

Abstract

Android deep link is a URL that takes users to a specific page of a mobile app, enabling seamless user experience from a webpage to an app. Android app link, a new type of deep link introduced in Android 6.0, is claimed to offer more benefits, such as supporting instant apps and providing more secure verification to protect against hijacking attacks that previous deep links can not. However, we find that the app link is not as secure as claimed, because the verification process can be bypassed by exploiting instant apps.
In this paper, we explore the weakness of the existing app link mechanism and propose three feasible hijacking attacks. Our findings show that even popular apps are subject to these attacks, such as Twitter, Whatsapp, Facebook Message. Our observation is confirmed by Google. To measure the severity of these vulnerabilities, we develop an automatic tool to detect vulnerable apps, and perform a large-scale empirical study on 400,000 Android apps.
Experiment results suggest that app link hijacking vulnerabilities are prevalent in the ecosystem. Specifically, 27.1% apps are vulnerable to link hijacking with smart text selection (STS); 30.0% apps are vulnerable to link hijacking without STS, and all instant apps are vulnerable to instant app attack. We provide an in-depth understanding of the mechanisms behind these types of attacks. Furthermore, we propose the corresponding detection and defense methods that can successfully prevent the proposed hijackings for all the evaluated apps, thus raising the bar against the attacks on Android app links. Our insights and findings demonstrate the urgency to identify and prevent app link hijacking attacks.

Supplementary Material

Auxiliary Teaser Video (fse20main-p249-p-teaser.mp4)
The attached video is the full video of the paper All Your App Links Are Belong to Us: Understanding the Threats of Instant Apps Based Attacks.
Auxiliary Presentation Video (fse20main-p249-p-video.mp4)
The attached video is the full video of the paper All Your App Links Are Belong to Us: Understanding the Threats of Instant Apps Based Attacks.

References

[1]
Simone Aonzo, Alessio Merlo, Giulio Tavella, and Yanick Fratantonio. 2018. Phishing Attacks on Modern Android. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security (CCS). 1788-1801.
[2]
Instant App. 2019. https://developer.android.com/topic/google-play-instant
[3]
Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bartel, Jacques Klein, Yves Le Traon, Damien Octeau, and Patrick McDaniel. 2014. FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps. SIGPLAN Not. 49, 6 ( 2014 ), 259-269.
[4]
Tanzirul Azim, Oriana Riva, and Suman Nath. 2016. uLink: Enabling user-defined deep linking to app content. In 14th ACM International Conference on Mobile Systems, Applications, and Services (MobiSys).
[5]
H. Bagheri, A. Sadeghi, J. Garcia, and S. Malek. 2015. COVERT: Compositional Analysis of Android Inter-App Permission Leakage. IEEE Transactions on Software Engineering (TSE) 41, 9 ( 2015 ), 866-886.
[6]
Amiangshu Bosu, Fang Liu, Danfeng Yao, and Gang Wang. 2017. Collusive Data Leak and More: Large-scale Threat Analysis of Inter-app Communications. In Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security (ASIA CCS). 71-85.
[7]
Y. Cai, Y. Tang, H. Li, L. Yu, H. Zhou, X. Luo, L. He, and P. Su. 2020. Resource Race Attacks on Android. In 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER). 47-58.
[8]
Yinzhi Cao, Yanick Fratantonio, Antonio Bianchi, Manuel Egele, Christopher Kruegel, Giovanni Vigna, and Yan Chen. 2015. EdgeMiner: Automatically Detecting Implicit Control Flow Transitions through the Android Framework. In Proceedings of the ISOC Network and Distributed System Security Symposium (NDSS).
[9]
Qi Alfred Chen, Zhiyun Qian, and Z. Morley Mao. 2014. Peeking into Your App without Actually Seeing It: UI State Inference and Novel Android Attacks. In 23rd USENIX Security Symposium (Security). 1037-1052.
[10]
Erika Chin, Adrienne Porter Felt, Kate Greenwood, and David Wagner. 2011. Analyzing Inter-application Communication in Android. In Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services (MobiSys). 239-252.
[11]
Erika Chin and David Wagner. 2014. Bifocals: Analyzing WebView Vulnerabilities in Android Applications. In Revised Selected Papers of the 14th International Workshop on Information Security Applications. 138-159.
[12]
William Enck, Peter Gilbert, Seungyeop Han, Vasant Tendulkar, Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick McDaniel, and Anmol N. Sheth. 2014. TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones. ACM Trans. Comput. Syst. 32, 2 ( 2014 ), 5 : 1-5 : 29.
[13]
Steven Englehardt and Arvind Narayanan. 2016. Online tracking: A 1-millionsite measurement and analysis. In Proceedings of ACM SIGSAC Conference on Computer and Communications Security (CCS). 1388-1401.
[14]
Jeanne Ferrante, Karl J. Ottenstein, and Joe D. Warren. 1987. The Program Dependence Graph and Its Use in Optimization. ACM Trans. Program. Lang. Syst. 9, 3 ( 1987 ), 319-349.
[15]
Google. 2019. https://developer.android.com/reference/android/content/Intent
[16]
Google. 2019. Android App Signing. https://developer.android.com/studio/ publish/app-signing
[17]
Google. 2019. Deep Link. https://developer.android.com/training/app-links/deeplinking
[18]
Google. 2019. Digital Asset Links. https://developers.google.com/digital-assetlinks/
[19]
Michael I. Gordon, Deokhwan Kim, Jef H. Perkins, Limei Gilham, Nguyen Nguyen, and Martin C. Rinard. 2015. Information Flow Analysis of Android Applications in DroidSafe. In 22nd Annual Network and Distributed System Security Symposium (NDSS). 1-16.
[20]
Behnaz Hassanshahi, Yaoqi Jia, Roland H. C. Yap, Prateek Saxena, and Zhenkai Liang. 2015. Web-to-Application Injection Attacks on Android: Characterization and Detection. In European Symposium on Research in Computer Security. 577-598.
[21]
Roee Hay, Omer Tripp, and Marco Pistoia. 2015. Dynamic Detection of Interapplication Communication Vulnerabilities in Android. In Proceedings of the 2015 International Symposium on Software Testing and Analysis (ISSTA). 118-128.
[22]
Shashank Holavanalli, Don Manuel, Vishwas Nanjundaswamy, Brian Rosenberg, Feng Shen, Steven Y. Ko, and Lukasz Ziarek. 2013. Flow Permissions for Android. In Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering (ASE). 652-657.
[23]
Yongjian Hu, Oriana Riva, Suman Nath, and Iulian Neamtiu. 2019. Elix: PathSelective Taint Analysis for Extracting Mobile App Links. In Proceedings of the 17th Annual International Conference on Mobile Systems, Applications, and Services (MobiSys). 193-206.
[24]
Wei Huang, Yao Dong, Ana Milanova, and Julian Dolby. 2015. Scalable and Precise Taint Analysis for Android. In Proceedings of the 2015 International Symposium on Software Testing and Analysis (ISSTA). 106-117.
[25]
Yiming Jing, Gail-Joon Ahn, Adam Doupé, and Jeong Hyun Yi. 2016. Checking Intent-based Communication in Android with Intent Space Analysis. In Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security (ASIA CCS). 735-746.
[26]
William Klieber, Lori Flynn, Amar Bhosale, Limin Jia, and Lujo Bauer. 2014. Android Taint Flow Analysis for App Sets. In Proceedings of the 3rd ACM SIGPLAN International Workshop on the State of the Art in Java Program Analysis (SOAP). 1-6.
[27]
L. Li, A. Bartel, T. F. Bissyandé, J. Klein, Y. Le Traon, S. Arzt, S. Rasthofer, E. Bodden, D. Octeau, and P. McDaniel. 2015. IccTA: Detecting Inter-Component Privacy Leaks in Android Apps. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering (ICSE). 280-291.
[28]
F. Liu, H. Cai, G. Wang, D. Yao, K. O. Elish, and B. G. Ryder. 2017. MR-Droid: A Scalable and Prioritized Analysis of Inter-App Communication Risks. In 2017 IEEE Security and Privacy Workshops (S & P). 189-198.
[29]
Fang Liu, Chun Wang, Andres Pico, Danfeng Yao, and Gang Wang. 2017. Measuring the Insecurity of Mobile Deep Links of Android. In 26th USENIX Security Symposium (Security). 953-969.
[30]
Long Lu, Zhichun Li, Zhenyu Wu, Wenke Lee, and Guofei Jiang. 2012. CHEX: Statically Vetting Android Apps for Component Hijacking Vulnerabilities. In Proceedings of the 2012 ACM Conference on Computer and Communications Security (CCS). 229-240.
[31]
Tongbo Luo, Hao Hao, Wenliang Du, Yifei Wang, and Heng Yin. 2011. Attacks on WebView in the Android System. In Proceedings of the 27th Annual Computer Security Applications Conference (ACSAC). 343-352.
[32]
Yun Ma, Ziniu Hu, Yunxin Liu, Tao Xie, and Xuanzhe Liu. 2018. Aladdin: Automating Release of Deep-Link APIs on Android. In Proceedings of the 2018 World Wide Web Conference (WWW). 1469-1478.
[33]
Damien Octeau, Somesh Jha, Matthew Dering, Patrick McDaniel, Alexandre Bartel, Li Li, Jacques Klein, and Yves Le Traon. 2016. Combining Static Analysis with Probabilistic Models to Enable Market-scale Android Inter-component Analysis. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL). 469-484.
[34]
D. Octeau, D. Luchaup, M. Dering, S. Jha, and P. McDaniel. 2015. Composite Constant Propagation: Application to Android Inter-Component Communication Analysis. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering (ICSE). 77-88.
[35]
Felix Pauck, Eric Bodden, and Heike Wehrheim. 2018. Do Android Taint Analysis Tools Keep Their Promises?. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE). 331-341.
[36]
C. Qian, X. Luo, Y. Shao, and A. Chan. 2014. On Tracking Information Flows through JNI in Android Applications. In Proceedings of the 44th IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).
[37]
D. Sbirlea, M. G. Burke, S. Guarnieri, M. Pistoia, and V. Sarkar. 2013. Automatic detection of inter-application permission leaks in Android applications. IBM Journal of Research and Development 57, 6 ( 2013 ), 10 : 1-10 : 12.
[38]
Smart Text Selection. 2019. https://www.android.com/versions/oreo-8-0/
[39]
Y. Tang, X. Zhan, H. Zhou, X. Luo, Z. Xu, Y. Zhou, and Q. Yan. 2019. Demystifying Application Performance Management Libraries for Android. In 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE). 682-685.
[40]
Guliz Seray Tuncay, Soteris Demetriou, and Carl A. Gunter. 2016. Draco: A System for Uniform and Fine-grained Access Control for Web Code on Android. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (CCS). 104-115.
[41]
Rui Wang, Luyi Xing, XiaoFeng Wang, and Shuo Chen. 2013. Unauthorized Origin Crossing on Mobile Platforms: Threats and Mitigation. In Proceedings of the 2013 ACM SIGSAC Conference on Computer and Communications Security (CCS). 635-646.
[42]
Michelle Y Wong and David Lie. 2018. Tackling runtime-based obfuscation in Android with TIRO. In Proceedings of USENIX Security Symposium.
[43]
Luyi Xing, Xiaolong Bai, Tongxin Li, XiaoFeng Wang, Kai Chen, Xiaojing Liao, ShiMin Hu, and Xinhui Han. 2015. Cracking App Isolation on Apple: Unauthorized Cross-App Resource Access on MAC OS X and IOS. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security (CCS). 31-43.
[44]
Lei Xue, Xiapu Luo, Le Yu, Shuai Wang, and Dinghao Wu. 2017. Adaptive unpacking of Android apps. In Proc. ICSE.
[45]
Lei Xue, Chenxiong Qian, Hao Zhou, Xiapu Luo, Yajin Zhou, Yuru Shao, and Alvin T.S. Chan. 2019. NDroid: Toward Tracking Information Flows Across Multiple Android Contexts. IEEE Transactions on Information Forensics and Security ( 2019 ).
[46]
L. Xue, H. Zhou, X. Luo, L. Yu, D. Wu, Y. Zhou, and X. Ma. 2020. PackerGrind: An Adaptive Unpacking System for Android Apps. IEEE Transactions on Software Engineering ( 2020 ).
[47]
Lei Xue, Yajin Zhou, Ting Chen, Xiapu Luo, and Guofei Gu. 2017. Malton: Towards On-Device Non-Invasive Mobile Malware Analysis for ART. In Proceedings of USENIX Security Symposium.
[48]
Kun Yang, Jianwei Zhuge, Yongke Wang, Lujue Zhou, and Haixin Duan. 2014. IntentFuzzer: Detecting Capability Leaks of Android Applications. In Proceedings of the 9th ACM Symposium on Information, Computer and Communications Security (ASIA CCS). 531-536.
[49]
Shengqian Yang, Hailong Zhang, Haowei Wu, Yan Wang, Dacong Yan, and Atanas Rountev. 2015. Static Window Transition Graphs for Android. In IEEE/ACM International Conference on Automated Software Engineering (ASE). 658-668.
[50]
Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning, and X. Sean Wang. 2013. AppIntent: analyzing sensitive data transmission in android for privacy leakage detection. In Proceedings of the 2013 ACM SIGSAC conference on Computer and communications security (CCS). 1043-1054.
[51]
L. Yu, X. Luo, J. Chen, H. Zhou, T. Zhang, H. Chang, and H. Leung. 2019. PPChecker: Towards Accessing the Trustworthiness of Android Apps' Privacy Policies. IEEE Transactions on Software Engineering ( 2019 ).
[52]
Le Yu, Tao Zhang, Xiapu Luo, and Lei Xue. 2015. AutoPPG: Towards Automatic Generation of Privacy Policy for Android Applicationss. In Proceedings of ACM CCS Workshop on Security and Privacy in Smartphones and Mobile Devices (SPSM).
[53]
Lei Zhang, Zhemin Yang, Yuyu He, Zhenyu Zhang, Zhiyun Qian, Geng Hong, Yuan Zhang, and Min Yang. 2018. Invetter: Locating Insecure Input Validations in Android Services. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security (CCS). 1165-1178.
[54]
L. L. Zhang, C. M. Liang, Z. L. Li, Y. Liu, F. Zhao, and E. Chen. 2018. Characterizing Privacy Risks of Mobile Apps with Sensitivity Analysis. IEEE Transactions on Mobile Computing (TMC) 17, 2 ( 2018 ), 279-292.
[55]
H. Zhou, T. Chen, H. Wang, L. Yu, X. Luo, T. Wang, and W. Zhang. 2020. UI Obfuscation and Its Efects on Automated UI Analysis for Android Apps. In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering (ASE).
[56]
H. Zhou, H. Wang, Y. Zhou, X. Luo, Y. Tang, L. Xue, and T. Wang. 2020. Demystifying Diehard Android Apps. In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering (ASE).

Cited By

View all
  • (2024)Enhancing GUI Exploration Coverage of Android Apps with Deep Link-Integrated MonkeyACM Transactions on Software Engineering and Methodology10.1145/366481033:6(1-31)Online publication date: 27-Jun-2024
  • (2024)Coverage Goal Selector for Combining Multiple Criteria in Search-Based Unit Test GenerationIEEE Transactions on Software Engineering10.1109/TSE.2024.336661350:4(854-883)Online publication date: Apr-2024
  • (2023)DeUEDroid: Detecting Underground Economy Apps Based on UTG SimilarityProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598051(223-235)Online publication date: 12-Jul-2023
  • Show More Cited By

Index Terms

  1. All your app links are belong to us: understanding the threats of instant apps based attacks

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
    November 2020
    1703 pages
    ISBN:9781450370431
    DOI:10.1145/3368089
    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

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 08 November 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Android
    2. App Link
    3. Deep Link
    4. Instant app

    Qualifiers

    • Research-article

    Conference

    ESEC/FSE '20
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 112 of 543 submissions, 21%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Enhancing GUI Exploration Coverage of Android Apps with Deep Link-Integrated MonkeyACM Transactions on Software Engineering and Methodology10.1145/366481033:6(1-31)Online publication date: 27-Jun-2024
    • (2024)Coverage Goal Selector for Combining Multiple Criteria in Search-Based Unit Test GenerationIEEE Transactions on Software Engineering10.1109/TSE.2024.336661350:4(854-883)Online publication date: Apr-2024
    • (2023)DeUEDroid: Detecting Underground Economy Apps Based on UTG SimilarityProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598051(223-235)Online publication date: 12-Jul-2023
    • (2023)Toward a Multidimensional Analysis of the National Vulnerability DatabaseIEEE Access10.1109/ACCESS.2023.330985011(93354-93367)Online publication date: 2023
    • (2023)Security‐based code smell definition, detection, and impact quantification in AndroidSoftware: Practice and Experience10.1002/spe.325753:11(2296-2321)Online publication date: 9-Sep-2023
    • (2022)A Comprehensive Evaluation of Android ICC Resolution TechniquesProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560420(1-13)Online publication date: 10-Oct-2022
    • (2022)Selectively Combining Multiple Coverage Goals in Search-Based Unit Test GenerationProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3556902(1-12)Online publication date: 10-Oct-2022
    • (2022)Demystifying the underground ecosystem of account registration botsProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549090(897-909)Online publication date: 7-Nov-2022
    • (2022)ProMalProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510037(1755-1767)Online publication date: 21-May-2022
    • (2022)XDebloat: Towards Automated Feature-Oriented App DebloatingIEEE Transactions on Software Engineering10.1109/TSE.2021.312021348:11(4501-4520)Online publication date: 1-Nov-2022
    • 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