Enhancing Users’ Comprehension of Android Permissions Liu Yang, Nader Boushehrinejad, Pallab Roy, Vinod Ganapathy, Liviu Iftode Department of Computer Science Rutgers University Android Apps Social networking Online.
Download ReportTranscript Enhancing Users’ Comprehension of Android Permissions Liu Yang, Nader Boushehrinejad, Pallab Roy, Vinod Ganapathy, Liviu Iftode Department of Computer Science Rutgers University Android Apps Social networking Online.
Enhancing Users’ Comprehension of Android Permissions Liu Yang, Nader Boushehrinejad, Pallab Roy, Vinod Ganapathy, Liviu Iftode Department of Computer Science Rutgers University Android Apps Social networking Online shopping Gaming Communication Entertainment Transportation Sports … Resources on Android App-based Permission Model: An Example This app requests the following resources: Your accounts, your locations, your messages, network communication, your personal information, phone calls, system tools, … (39 permission in total) App installed if user approves the request No install if user rejects the request Users Puzzled by Permissions • 3% of users correctly answer three permission questions [Felt. et al. SOUPS’12, Kelly et al., USEC’12] – A lot of permissions defined (134, Android 2.2) – Not always self-explanatory, e.g., SUBSCRIBED_FEEDS_READ, WRITE_SYN_SETTINGS, … • Confusion exists for developers [Felt et al. CCS’11] Permission Misuse com.antivirus com.kayak.android com.taskos com.kakao.talk IMEI Locations IMEI com.facebook Contacts Contacts Phone number Locations: 45/110 apps IMEI: 31/110 apps Contacts: 7/110 apps Phone#: 5/110 apps [Hornyack et al., AppFence, CCS’11] [Lin et al., Ubicom’12] com.myyearbook.m Our Contribution • Enhancing users’ comprehension of permissions using crowdsourcing – Permission usage commented by app users – Permission comments shared among users • Designing Droidganger which provides clues of permission usage – Record/replay + permission suppression • Feasibility study Architecture Overview Permission comments Droidganger Permission comments Internet Permission comments aggregation and presentation Droidganger Permission comments Droidganger Comments Processing Server (CPS) Crowdsourcing • Users of same apps form user communities • Users use Droidganger to help permission understanding • Each user reviews one permission (small task) • More users – more permissions covered – more execution paths covered – more apps covered Intuition of Droidganger Permission changes Capability changes App behavior changes Q: Behavior changes visible or understandable? Q: How to capture changes? A: Record/replay + permission suppression Overview of Droidganger Record (all permissions granted) Execution trace Replay (a permission suppressed) Deviation Detection User inputs permission comments To Comment Processing Server Record and Replay • Record app execution – non-deterministic inputs and events, e.g., keystrokes, touches/drags, etc. (saved as a trace) – outputs, e.g., screenshots, etc. • Replay a trace – each time a different permission suppressed – snapshots taken for comparison Deviation Detection Snapshots Snapshots Snapshots Record phase Snapshots Snapshots Snapshots Replay phase Difference detector User comments on detected difference Comment Processing Server Comments grouped by apps and permissions Comments aggregation Comments presented for pubic access Feasibility Study • Implementation of Droidganger – Android 4.0 + Emulator – Record: Intercepting KeyEvents and MotionEvents – Compiling events to Python scripts – Replaying scripts with Monkeyrunner • Data Sets – AngryBirds Rio (6 permissions) – Antivirus (39 permissions) Observations (a) Record stage (all requested permissions granted) (b) Replay stage (INTERNET permission suppressed) Pairs of screenshots of AngryBirds Observations (cont.) Record (all requested permissions granted) Replay WRITE_SYNC _SETTINGS permission suppressed Observations (cont.) Summary of observed effects with replay + permission suppression Meaningful: permission suppression provides helpful clues of purposes of permissions Crashed: app crashed due to permission suppression Syslog only: execution deviation was only captured by syslog None: no difference was observed with permission suppression Challenges • Network proxy: recording network traffic • Randomness, e.g., card games, etc. • Non-repeatable execution, e.g., online payments, etc. • Application failure when permission suppressed • User incentives Comparison to Privacy as Expectations (PAE) [Lin et al., Ubicomp’12] PAE Goals: capturing users’ expectations on privacy Objects: Access to privacy related resources Techs: Crowdsourcing TaintDroid New interfaces Our work improving users’ comprehension of permissions Permissions requested by apps Crowdsourcing Record/replay + Permission suppression Related Work • Information flow and permission misuse – AppFence [Hornyack et al., CCS’11] – TaintDroid [Enck et al., OSDI’10] – Permission demystified [Felt et al., CCS’11] • Privacy-preserving – Apex [Nauman et al., AsiaCCS’10] – MockDroid [Beresford et al., Hotmobile’11] • Permission comprehension and attention – [Felt et al., SOUPS’12], [Kelley et al., USEC’12] – [Lin et al., Ubicom’12] Conclusion • Crowdsourcing – Collections of users help each other on permission understanding • Record/replay + permission suppression: – Changes of app behavior provide clues of permission usage • Feasibility study – Droidganger providing helpful clues on permission usage