Detecting Stubborn Permission Requests in Android Applications

The Android permission mechanism is designed to protect the privacy of Android users. An Android application must request permissions when it needs to access sensitive data at runtime. If users do not grant the application requested permissions, the application would not provide functionalities related to these permissions. However, some applications violate this purpose in that they request permissions at initialization. If the user does not grant the requested permissions, these applications would simply exit, refusing to provide any functionalities, including the ones that do not require sensitive data. This behavior of stubbornly requesting permissions damages the right of users in utilizing non-sensitive functionalities. To address this problem, we propose an approach to detect this kind of permission requests. First, we model the key features of stubborn permission requests. Then, we identify the stubborn permission requests by statically analyzing Android applications. We evaluate our approach with real-world market applications and the experimental result shows that our app roach can effectively detect stubborn permission requests in Android applications.

[1]  Steve Hanna,et al.  Android permissions demystified , 2011, CCS '11.

[2]  Muttukrishnan Rajarajan,et al.  Android Security: A Survey of Issues, Malware Penetration, and Defenses , 2015, IEEE Communications Surveys & Tutorials.

[3]  David A. Wagner,et al.  Android permissions: user attention, comprehension, and behavior , 2012, SOUPS.

[4]  Patrick D. McDaniel,et al.  Understanding Android Security , 2009, IEEE Security & Privacy Magazine.

[5]  Byung-Gon Chun,et al.  TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones , 2010, OSDI.

[6]  Mani B. Srivastava,et al.  ipShield: A Framework For Enforcing Context-Aware Privacy , 2014, NSDI.

[7]  Lukasz Ziarek,et al.  Flow Permissions for Android , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[8]  David A. Wagner,et al.  The Feasibility of Dynamically Granted Permissions: Aligning Mobile Privacy with User Preferences , 2017, 2017 IEEE Symposium on Security and Privacy (SP).

[9]  Xue Liu,et al.  Effective Real-Time Android Application Auditing , 2015, 2015 IEEE Symposium on Security and Privacy.

[10]  Yuan Zhang,et al.  AppIntent: analyzing sensitive data transmission in android for privacy leakage detection , 2013, CCS.

[11]  Dawn Xiaodong Song,et al.  Contextual Policy Enforcement in Android Applications with Permission Event Graphs , 2013, NDSS.

[12]  Alastair R. Beresford,et al.  MockDroid: trading privacy for application functionality on smartphones , 2011, HotMobile '11.

[13]  Ondrej Lhoták,et al.  The Soot framework for Java program analysis: a retrospective , 2011 .

[14]  Wei Liu,et al.  What You See Isn't Always What You Get: A Measurement Study of Usage Fraud on Android Apps , 2016, SPSM@CCS.

[15]  Yuan Zhang,et al.  Rethinking Permission Enforcement Mechanism on Mobile Systems , 2016, IEEE Transactions on Information Forensics and Security.

[16]  Mohammad Emtiyaz Khan,et al.  SmarPer: Context-Aware and Automatic Runtime-Permissions for Mobile Devices , 2017, 2017 IEEE Symposium on Security and Privacy (SP).