1 / 18

Android Permissions Demystified

Android Permissions Demystified. Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner University of California ACM CCS 2011. Agenda. Introduction Android Permission System Permission Testing Methodology Permission Map Result Application Analysis Tool

star
Download Presentation

Android Permissions Demystified

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Android Permissions Demystified Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner University of California ACM CCS 2011

  2. Agenda • Introduction • Android Permission System • Permission Testing Methodology • Permission Map Result • Application Analysis Tool • Application Analysis Results • Conclusion

  3. Introduction • Stowaway, that detects over privilege in compiled Android applications. • a static analysis tool that determines what API calls an application makes • a permission map that identifies what permissions are needed for each API call • The lack of reliable permission information that Android providesmay cause developer error. • About one-third of 940 apps are overprivileged

  4. Android Permission System • Android 2.2 defines 134 permissions • Normal permissions • Dangerous permissions • Signature/System permissions

  5. Android Permission System • API calls:be handled in three steps 1 2 3

  6. Android Permission System • Content Providers • are protected with both static and dynamic permissionchecks • Intents • Some Intents can only be sent by applications with appropriate permissions. • Other system Intentscan only be sent by processes whose UID matches the system's.

  7. Permission Testing Methodology • construct a permission map that identifies the permissions required for each method in the Android API. • modified Android 2.2's permission verification mechanism to log permission checks as they occur. • We then generated unit test cases for API calls, Content Providers, and Intents.

  8. Permission Testing Methodology • API calls testing in three phases • Feedback-directed testing • Randoop • Customizable test case generation • Manual verification

  9. Permission Testing Methodology • Content Providers • We collected a list of URIs from theandroid.providerpackage • For each URI, we attempted to execute each typeof database operation without any permissions and check • Intents

  10. Permission Map Result • We attained 85% coverage of the Android API through two phases of testing. • Our testing identified 1259 API calls with permission checks. Android 2.2 documentation specifies permission requirements for 78 methods.

  11. Permission Map Result • Characterizing Permissions • Signature/System Permissions. • Unused Permissions. • Hierarchical Permissions. • Permission Granularity. • Class Characteristics.

  12. Application Analysis Tool • Stowaway, which analyzes an Android application and determines the maximum set of permissions it may require. • API calls • It parses the disassembled DEX(Dalvik executable) files and identify all calls to standard API methods. • Content Providers • Stowaway collects all strings that could be used as Content Provider URIs and links those strings to the Content Providers' permission requirements. • Intent • Use ComDroidto detect the sending and receiving of Intents that require permissions.

  13. Application Analysis Results • We applied Stowaway to 940 Android applications to identify the prevalence of overprivilege • Manual Analysis • Automated Analysis • The Challenges of Java Reflection • Reflection is commonly used in Android applications. Of the 900 applications, 545 (61%) use Java reflection to make API calls.

  14. Application Analysis Results • Common Developer Errors • Permission Name. • Deputies • Related Methods • Copy and Paste • Deprecated Permissions • Testing Artifacts • Signature/System Permissions

  15. Conclusion • We applied automated testing techniques to Android 2.2 to determine the permissions required to invoke each API method. • Stowaway, generates the maximum set of permissions needed for an application and compares them to the set of permissions actually requested. • about one-third of them are overprivileged

  16. Thanks

More Related