220 likes | 377 Views
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.
E N D
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 …
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 com.facebook com.myyearbook.m Contacts Contacts IMEI IMEI Locations 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]
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 aggregation and presentation Permission comments Internet Droidganger Comments Processing Server (CPS) Permission comments Droidganger
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 Execution trace Record (all permissions granted) 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 Snapshots Snapshots Snapshots Record phase 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 Replay WRITE_SYNC_SETTINGS permission suppressed (all requested permissions granted)
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 Our work Goals: capturing users’ expectations on privacy improving users’ comprehension of permissions Objects: Access to privacy related resources Permissions requested by apps Techs: Crowdsourcing TaintDroid New interfaces 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