Permission in Android Security: Threats and solution

22
Threats and Solution Permission in Android Security Tandhy Simanjuntak

description

Possible threats found and mitigation

Transcript of Permission in Android Security: Threats and solution

Page 1: Permission in Android Security: Threats and solution

Threats and Solution

Permission in Android Security

Tandhy Simanjuntak

Page 2: Permission in Android Security: Threats and solution

Permissions in Android Security:Threats and Solutions

Permissions Threats

Solutions Conclusion and Future Work

Page 3: Permission in Android Security: Threats and solution

Permissions Allow apps to access resources

Limited access to resources

Installation time

User approval

Page 4: Permission in Android Security: Threats and solution

System Permissions

URI Permissions

Self-declare Permissions

Permissions Type

Page 5: Permission in Android Security: Threats and solution

System Permissions

URI Permissions

Self-declare Permissions

Permissions Type

Owned by system

Allow access to system resources

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.app.myapp" ><uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.INTERNET" /></manifest>

Page 6: Permission in Android Security: Threats and solution

System Permissions

URI Permissions

Self-declare Permissions

Permissions Type

version name Version number

API Level Total Permissions

KitKat 4.4 19 145Jelly Bean 4.3 18 134

4.2 17 1304.1 16 130

Ice Cream Sandwich 4.0.3 15 1244.0 14 122

Honeycomb 3.2 13 1173.1 12 1163.0 11 116

Gingerbread 2.3.4 10 1152.3.3 9 115

Froyo 2.2 8 112

Page 7: Permission in Android Security: Threats and solution

System Permissions

URI Permissions

Self-declare Permissions

Permissions Type

Owned by system

Allow access to data without grant permission to access content provider

Email app and document/pdf reader app

Page 8: Permission in Android Security: Threats and solution

System Permissions

URI Permissions

Self-declare Permissions

Permissions Type

Owned by apps

Allow processes to access apps resources

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.me.app.myapp" > <permission android:name="com.me.app.myapp.permission.CHANGE_ROOT_PASSWD" android:label="@string/label_changeRootPasswd" android:description="@string/description_changeRootPasswd" android:permissionGroup="android.permission-group.PERSONAL_INFO" android:protectionLevel="dangerous" /></manifest>

Page 9: Permission in Android Security: Threats and solution

Normal

Dangerous

Signature

Signature or System

Permissions Protection Level

Page 10: Permission in Android Security: Threats and solution

Permissions Request Flow

1. Install an app2. System check permissions in

AndroidManifest.xml

3. System ask user for approval

User Approve ?

System grants all permissions

System cancel the installation

System continue to installation process and App is installed

System denies all permissions

No

Yes

Page 11: Permission in Android Security: Threats and solution

Permissions Threats

Permission Re-delegation

Over-privilege

Permission inheritance

Page 12: Permission in Android Security: Threats and solution

Permissions Threats

A: an App

No INTERNET permission

B: another App

INTERNET permission

A: Malicious App

No INTERNET permission

Android System ServicesIN

TERN

ET

Reje

cted

B: Vulnerable App

INTERNET permission

INTERNET

INTE

RNET

Acce

pted

AcceptedPermission Re-delegation

Over-privilege

Permission inheritance

Page 13: Permission in Android Security: Threats and solution

Permissions Threats

Flashlight App

Permission list:FLASHLIGHTINTERNETACCESS_FINE_LOCATIONREAD_CONTACT

B: Social Media App

Permission list:INTERNETACCESS_FINE_LOCATIONREAD_CONTACTREAD_PROFILECAMERA

Over Privilege App

Permission Re-delegation

Over-privilege

Permission inheritance

Page 14: Permission in Android Security: Threats and solution

Flashlight App

Permission list:FLASHLIGHT

Social Media App

Permission list:INTERNETACCESS_FINE_LOCATIONREAD_CONTACTREAD_PROFILECAMERA

UID: 0123-4567-8910 UID: 0123-4567-8910

Permissions Threats

Flashlight App

Permission list:FLASHLIGHTINTERNETACCESS_FINE_LOCATIONREAD_CONTACTREAD_PROFILECAMERA

UID: 0123-4567-8910

Social Media App

Permission list:INTERNETACCESS_FINE_LOCATIONREAD_CONTACTREAD_PROFILECAMERAFLASHLIGHT

UID: 0123-4567-8910

Permission Re-delegation

Over-privilege

Permission inheritance

Page 15: Permission in Android Security: Threats and solution

Solutions Permission Re-delegation

Over-privilege

Permission inheritance

Page 16: Permission in Android Security: Threats and solution

Solutions Type of solution

• System modification / Hook modification and services• Android services• Non-android application

Implementation level• System/Kernel• Application• Separate system

Run-time mode• Static• Dynamic

Page 17: Permission in Android Security: Threats and solution

Permission Re-delegation

Over-privilege

Permission inheritance

Solutions Name Type of Solution Implementation Running mode

IPC Inspection System modification System Dynamic

Quire System modification System Dynamic

Page 18: Permission in Android Security: Threats and solution

Solutions Name Type of Solution Implementation Running mode

Webifest Manifest file Application Static

Stowaway Non-android apps Separate system Static

Pscout Non-android apps Separate system Static

RefineDroid Non-android apps Separate system Static

Mr. Hide Android service Application Dynamic

Dr. Android Non-android apps Separate system Static

Apex System modification System Static

SAINT System modification System Static and Dynamic

Analysis Tool Non-android apps Separate system Static

Permission Re-delegation

Over-privilege

Permission inheritance

Page 19: Permission in Android Security: Threats and solution

Solutions

Sign with different keys

• Android apps• Application• Static

Permission Re-delegation

Over-privilege

Permission inheritance

Page 20: Permission in Android Security: Threats and solution

Solutions -Complete Matrix

Threats Proposed Solution Type of Solution Implementation Level Solution Running mode Ref

Permission Re-delegation

IPC Inspection System modification System level Dynamic [9]

Quire System modification System level Dynamic [18]

Over Privilege Webifest website manifest file Application level Static [11]

Stowaway Non-android application Separate system Static [12]

PScout Non-android application Separate system Static [13]

RefineDroid Non-android application Separate system Static [14]

Mr. Hide Android service Application level Dynamic [14]

Dr. Android Non-android application Separate system Static [14]

Apex System modification System level Static [20]

SAINT System modification System level Static and Dynamic [17]

Static analysis tool Non-android application Separate system Static [23]

Permission inheritance

Sign apps with different keys

android apps Application level Static [16]

Page 21: Permission in Android Security: Threats and solution

Conclusion 3 threats found

Numbers of solutions

Different implementation level

Page 22: Permission in Android Security: Threats and solution

Future Work Combination of solutions

Are solutions implemented?

Cost matrix of solutions: performance, speed, power consumption, complexity