4.7 Article

Understanding the Evolution of Android App Vulnerabilities

Journal

IEEE TRANSACTIONS ON RELIABILITY
Volume 70, Issue 1, Pages 212-230

Publisher

IEEE-INST ELECTRICAL ELECTRONICS ENGINEERS INC
DOI: 10.1109/TR.2019.2956690

Keywords

Tools; Security; Ecosystems; Malware; Mobile applications; Crawlers; Android; vulnerability; evolution

Funding

  1. Luxembourg NationalResearch Fund (FNR) [PRIDE15/10621687, C17/IS/1169386]
  2. Australian Research Council (ARC) [DE200100016, DP200100020]
  3. Oceania Cyber Security Centre (OCSC), under the 2019 ICFP scheme
  4. Australian Research Council [DE200100016] Funding Source: Australian Research Council

Ask authors/readers for more resources

This study investigates vulnerabilities in Android apps by analyzing app lineages and examining how vulnerabilities are introduced, located, and whether they indicate potential malware. The findings provide valuable insights for developers and researchers to guide their vulnerability repair and research efforts, leveraging the knowledge gained from this study.
The Android ecosystem today is a growing universe of a few billion devices, hundreds of millions of users and millions of applications targeting a wide range of activities where sensitive information is collected and processed. Security of communication and privacy of data are thus of utmost importance in application development. Yet, regularly, there are reports of successful attacks targeting Android users. While some of those attacks exploit vulnerabilities in the Android operating system, others directly concern application-level code written by a large pool of developers with varying experience. Recently, a number of studies have investigated this phenomenon, focusing, however, only on a specific vulnerability type appearing in apps, and based on only a snapshot of the situation at a given time. Thus, the community is still lacking comprehensive studies exploring how vulnerabilities have evolved over time, and how they evolve in a single app across developer updates. Our work fills this gap by leveraging a data stream of 5 million app packages to reconstruct versioned lineages of Android apps, and finally, obtained 28 564 app lineages (i.e., successive releases of the same Android apps) with more than ten app versions each, corresponding to a total of 465 037 apks. Based on these app lineages, we apply state-of-the-art vulnerability-finding tools and investigate systematically the reports produced by each tool. In particular, we study which types of vulnerabilities are found, how they are introduced in the app code, where they are located, and whether they foreshadow malware. We provide insights based on the quantitative data as reported by the tools, but we further discuss the potential false positives. Our findings and study artifacts constitute a tangible knowledge to the community. It could be leveraged by developers to focus verification tasks, and by researchers to drive vulnerability discovery and repair research efforts.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.7
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available