Paper published in a journal (Scientific congresses, symposiums and conference proceedings)
Borrowing your enemy's arrows: the case of code reuse in android via direct inter-app code invocation
Gao, Jun; li, li; Kong, Pingfan et al.
2020In ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Peer reviewed
 

Files


Full Text
article.pdf
Author preprint (2.33 MB)
Download

All documents in ORBilu are protected by a user license.

Send to



Details



Keywords :
Android; Java Reflection; DICI
Abstract :
[en] {The Android ecosystem offers different facilities to enable communication among app components and across apps to ensure that rich services can be composed through functionality reuse. At the heart of this system is the Inter-component communication (ICC) scheme, which has been largely studied in the literature. Less known in the community is another powerful mechanism that allows for direct inter-app code invocation which opens up for different reuse scenarios, both legitimate or malicious. This paper exposes the general workflow for this mechanism, which beyond ICCs, enables app developers to access and invoke functionalities (either entire Java classes, methods or object fields) implemented in other apps using official Android APIs. We experimentally showcase how this reuse mechanism can be leveraged to â plagiarize" supposedly-protected functionalities. Typically, we were able to leverage this mechanism to bypass security guards that a popular video broadcaster has placed for preventing access to its video database from outside its provided app. We further contribute with a static analysis toolkit, named DICIDer, for detecting direct inter-app code invocations in apps. An empirical analysis of the usage prevalence of this reuse mechanism is then conducted. Finally, we discuss the usage contexts as well as the implications of this studied reuse mechanism
Research center :
Interdisciplinary Centre for Security, Reliability and Trust (SnT) > Trux
Disciplines :
Computer science
Author, co-author :
Gao, Jun ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > TruX
li, li;  Monash University > Faculty of Information Technology
Kong, Pingfan ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > TruX
Bissyande, Tegawendé François D Assise  ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > TruX
Klein, Jacques ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > TruX
External co-authors :
yes
Language :
English
Title :
Borrowing your enemy's arrows: the case of code reuse in android via direct inter-app code invocation
Publication date :
November 2020
Event name :
The 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Event date :
from 06-11-2020 to 16-11-2020
Audience :
International
Journal title :
ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Publisher :
Association for Computing Machinery, New York, United States
Peer reviewed :
Peer reviewed
Focus Area :
Security, Reliability and Trust
FnR Project :
FNR10621687 - Security And Privacy For System Protection, 2015 (01/01/2017-30/06/2023) - Sjouke Mauw
Available on ORBilu :
since 22 January 2021

Statistics


Number of views
104 (14 by Unilu)
Number of downloads
117 (2 by Unilu)

Scopus citations®
 
11
Scopus citations®
without self-citations
6
OpenCitations
 
6
WoS citations
 
4

Bibliography


Similar publications



Contact ORBilu