Aper: Evolution-Aware Runtime Permission Misuse Detection for Android Apps

01/29/2022
by   Sinan Wang, et al.
0

The Android platform introduces the runtime permission model in version 6.0. The new model greatly improves data privacy and user experience, but brings new challenges for app developers. First, it allows users to freely revoke granted permissions. Hence, developers cannot assume that the permissions granted to an app would keep being granted. Instead, they should make their apps carefully check the permission status before invoking dangerous APIs. Second, the permission specification keeps evolving, bringing new types of compatibility issues into the ecosystem. To understand the impact of the challenges, we conducted an empirical study on 13,352 popular Google Play apps. We found that 86.0 61.2 permission revocations or platform differences, unexpected runtime issues may happen and even cause app crashes. We call such Android Runtime Permission issues as ARP bugs. Unfortunately, existing runtime permission issue detection tools cannot effectively deal with the ARP bugs induced by asynchronous permission management and permission specification evolution. To fill the gap, we designed a static analyzer, Aper, that performs reaching definition and dominator analysis on Android apps to detect the two types of ARP bugs. To compare Aper with existing tools, we built a benchmark, ARPfix, from 60 real ARP bugs. Our experiment results show that Aper significantly outperforms two academic tools, ARPDroid and RevDroid, and an industrial tool, Lint, on ARPfix, with an average improvement of 46.3 successfully found 34 ARP bugs in 214 opensource Android apps, most of which can result in abnormal app behaviors (such as app crashes) according to our manual validation.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/24/2021

Runtime Permission Issues in Android Apps: Taxonomy, Practices, and Ways Forward

Android introduces a new permission model that allows apps to request pe...
research
03/21/2021

A Systematical Study on Application Performance Management Libraries for Apps

Being able to automatically detect the performance issues in apps can si...
research
11/24/2016

DroidLeaks: Benchmarking Resource Leak Bugs for Android Applications

Resource leak bugs in Android apps are pervasive and can cause serious p...
research
06/06/2023

ωTest: WebView-Oriented Testing for Android Applications

WebView is a UI widget that helps integrate web applications into the na...
research
08/17/2023

Automated and Context-Aware Repair of Color-Related Accessibility Issues for Android Apps

Approximately 15 disabilities or impairments. However, many mobile UX de...
research
11/20/2019

Testing Criteria for Mobile Apps Based on Callback Sequences

App quality has been shown to be the most important indicator of app ado...
research
06/17/2022

Detecting Connectivity Issues in Android Apps

Android is the most popular mobile operating system in the world, runnin...

Please sign up or login with your details

Forgot password? Click here to reset