TY - GEN
T1 - Dissecting android inter-component communications via interactive visual explorations
AU - Jenkins, John
AU - Cai, Haipeng
N1 - Publisher Copyright:
© 2017 IEEE.
PY - 2017/11/2
Y1 - 2017/11/2
N2 - Inter-component communication (ICC) serves as a key element of any Android app's implementation. Specifically, an Android app uses Intents as the main mechanism for ICC to complete tasks such as switching between different user interfaces, starting background services, communicating to other apps on the Android device, and saving or retrieving data from device storage. Thus, dissecting how an app uses ICCs to accomplish its tasks is fundamental to understanding the app's underlying behaviors. Existing works involving ICCs focus on resolving Intents and/or mapping ICCs for security analysis purposes. While the ICC analysis result is potentially informative, it is difficult to digest on its own and has not been utilized for app/ICC comprehension. Also, the result is based on static analysis, and thus does not inform of run-time app behaviors exercised via ICCs. We propose the first approach to dissecting Android ICCs via interactive, dynamic visualizations, empowered by static and dynamic ICC analysis combined. Through multiple semantically linked views and in-situ interaction features, our approach enables real-time visual explorations of ICCs as they are triggered by user inputs to the app under analysis. It conveys rich ICC information while managing limited visual space through various visualization design strategies. Our case studies with a number of commonly used apps have showed promising merits of the approach for both deep ICC comprehension and security vulnerability inspection, as well as practical scalability. Our tool prototype of the approach has enabled quick revelation of inefficient, intrusive, and malicious behaviors in several popular apps that were normally hidden to users.
AB - Inter-component communication (ICC) serves as a key element of any Android app's implementation. Specifically, an Android app uses Intents as the main mechanism for ICC to complete tasks such as switching between different user interfaces, starting background services, communicating to other apps on the Android device, and saving or retrieving data from device storage. Thus, dissecting how an app uses ICCs to accomplish its tasks is fundamental to understanding the app's underlying behaviors. Existing works involving ICCs focus on resolving Intents and/or mapping ICCs for security analysis purposes. While the ICC analysis result is potentially informative, it is difficult to digest on its own and has not been utilized for app/ICC comprehension. Also, the result is based on static analysis, and thus does not inform of run-time app behaviors exercised via ICCs. We propose the first approach to dissecting Android ICCs via interactive, dynamic visualizations, empowered by static and dynamic ICC analysis combined. Through multiple semantically linked views and in-situ interaction features, our approach enables real-time visual explorations of ICCs as they are triggered by user inputs to the app under analysis. It conveys rich ICC information while managing limited visual space through various visualization design strategies. Our case studies with a number of commonly used apps have showed promising merits of the approach for both deep ICC comprehension and security vulnerability inspection, as well as practical scalability. Our tool prototype of the approach has enabled quick revelation of inefficient, intrusive, and malicious behaviors in several popular apps that were normally hidden to users.
UR - https://www.scopus.com/pages/publications/85040636022
U2 - 10.1109/ICSME.2017.74
DO - 10.1109/ICSME.2017.74
M3 - Conference contribution
AN - SCOPUS:85040636022
T3 - Proceedings - 2017 IEEE International Conference on Software Maintenance and Evolution, ICSME 2017
SP - 519
EP - 523
BT - Proceedings - 2017 IEEE International Conference on Software Maintenance and Evolution, ICSME 2017
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2017 IEEE International Conference on Software Maintenance and Evolution, ICSME 2017
Y2 - 19 September 2017 through 22 September 2017
ER -