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

skip to main content
10.1145/3510454.3516864acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article
Open access

ICCBot: fragment-aware and context-sensitive ICC resolution for Android applications

Published: 19 October 2022 Publication History

Abstract

For GUI programs, like Android apps, the program functionalities are encapsulated in a set of basic components, each of which represents an independent function module. When interacting with an app, users are actually operating a set of components. The transitions among components, which are supported by the Android Inter-Component Communication (ICC) mechanism, can reflect the skeleton of an app. To effectively resolve the source and destination of an ICC message, both the correct entry-point identification and the precise data value tracking of ICC fields are required. However, with the wide usage of Android fragment components, the entry-point analysis usually terminates at an inner fragment but not its host component. Also, the simply tracked ICC field values may become inaccurate when data is transferred among multiple methods. In this paper, we design a practical ICC resolution tool ICCBot, which resolves the component transitions that are connected by fragments to help the entry-point identification. Besides, it performs context-sensitive inter-procedural analysis to precisely obtain the ICC-carried data values. Compared with the state-of-the-art tools, ICCBot achieves both a higher success rate and accuracy. ICCBot is open-sourced at https://github.com/hanada31/ICCBot. A video demonstration of it is at https://www.youtube.com/watch?v=7zcoMBtGiLY.

References

[1]
2015. CSipSimple. https://github.com/r3gis3r/CSipSimple.
[2]
2015. IC3. https://github.com/siis/ic3.
[3]
2017. DroidBench. https://github.com/secure-software-engineering/DroidBench.
[4]
2017. ICC-Bench. https://github.com/fgwei/ICC-Bench.
[5]
2019. GATOR. http://web.cse.ohio-state.edu/presto/software/gator/.
[6]
2020. IC3-DIALDroid. https://github.com/dialdroid-android/ic3-dialdroid.
[7]
2022. F-Droid. https://f-droid.org/.
[8]
2022. Fragment. https://developer.android.com/guide/fragments.
[9]
2022. ICCBot, ICCBotBench. https://github.com/hanada31/ICCBot.
[10]
2022. Intent. https://developer.android.com/guide/components/intents-filters.
[11]
2022. json-handle. https://chrome.google.com/webstore/detail/json-handle/iahnhfdhidomcpggpaimmmahffihkfinj?hl=en.
[12]
2022. Soot. https://github.com/soot-oss/soot.
[13]
2022. Use-define chain. https://en.wikipedia.org/wiki/Use-define_chain.
[14]
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 life cycle-aware taint analysis for Android apps. In PLDI 2014. 29.
[15]
Tanzirul Azim and Iulian Neamtiu. 2013. Targeted and depth-first exploration for systematic testing of Android apps. In OOPSLA 2013. 641--660.
[16]
Amiangshu Bosu, Fang Liu, Danfeng (Daphne) Yao, and Gang Wang. 2017. Collusive Data Leak and More: Large-scale Threat Analysis of Inter-app Communications. In AsiaCCS. 71--85.
[17]
Jia Chen, Ge Han, Shanqing Guo, and Wenrui Diao. 2018. FragDroid: Automated User Interface Interaction with Activity and Fragment Analysis in Android Applications. In DSN 2018. 398--409.
[18]
Sen Chen, Lingling Fan, Chunyang Chen, Ting Su, Wenhe Li, Yang Liu, and Lihua Xu. 2019. StoryDroid: automated generation of storyboard for Android apps. In Proceedings of the 41st International Conference on Software Engineering, ICSE 2019, Montreal, QC, Canada, May 25--31, 2019. IEEE / ACM, 596--607.
[19]
Damien Octeau, Daniel Luchaup, Matthew Dering, Somesh Jha, and Patrick McDaniel. 2015. Composite Constant Propagation: Application to Android Inter-Component Communication Analysis. In ICSE 2015. 77--88.
[20]
Damien Octeau, Patrick D. McDaniel, Somesh Jha, Alexandre Bartel, Eric Bodden, Jacques Klein, and Yves Le Traon. 2013. Effective Inter-Component Communication Mapping in Android: An Essential Step Towards Holistic Security Analysis. In USENIX Security Symposium, 2013. 543--558.

Cited By

View all
  • (2024)A comprehensive framework for inter-app ICC security analysis of Android appsAutomated Software Engineering10.1007/s10515-024-00439-831:2Online publication date: 4-Jun-2024
  • (2023)AndrAS: Automated Attack Surface Extraction for Android Applications2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security (QRS)10.1109/QRS60937.2023.00047(406-417)Online publication date: 22-Oct-2023
  • (2023)Effectively Finding ICC-related Bugs in Android Apps via Reinforcement Learning2023 IEEE 34th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE59848.2023.00032(403-414)Online publication date: 9-Oct-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '22: Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings
May 2022
394 pages
ISBN:9781450392235
DOI:10.1145/3510454
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

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 October 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Android app
  2. ICC resolution
  3. component transition graph
  4. fragment
  5. inter-component communication

Qualifiers

  • Research-article

Conference

ICSE '22
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)146
  • Downloads (Last 6 weeks)16
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A comprehensive framework for inter-app ICC security analysis of Android appsAutomated Software Engineering10.1007/s10515-024-00439-831:2Online publication date: 4-Jun-2024
  • (2023)AndrAS: Automated Attack Surface Extraction for Android Applications2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security (QRS)10.1109/QRS60937.2023.00047(406-417)Online publication date: 22-Oct-2023
  • (2023)Effectively Finding ICC-related Bugs in Android Apps via Reinforcement Learning2023 IEEE 34th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE59848.2023.00032(403-414)Online publication date: 9-Oct-2023
  • (2023)A Web-Based Tool for Using Storyboard of Android AppsProceedings of the 45th International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion58688.2023.00037(117-121)Online publication date: 14-May-2023
  • (2023)Scene-Driven Exploration and GUI Modeling for Android AppsProceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE56229.2023.00179(1251-1262)Online publication date: 11-Nov-2023
  • (2023)ICTDroid: Parameter-Aware Combinatorial Testing for Components of Android Apps2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00071(2070-2073)Online publication date: 11-Sep-2023
  • (2023)Variable-strength combinatorial testing of exported activities based on misexposure predictionJournal of Systems and Software10.1016/j.jss.2023.111773204:COnline publication date: 1-Oct-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

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media