27
Review, Analysis and Recommendations for Secure Applications in Android Platforms Diego Betancur Supervisors: Prof. Vijay Varadharajan Dr. Udaya Tupakula June 13 th , 2012

Review, Analysis and Recommendations for Secure Applications in Android Platforms

  • Upload
    melina

  • View
    40

  • Download
    1

Embed Size (px)

DESCRIPTION

Review, Analysis and Recommendations for Secure Applications in Android Platforms. Diego Betancur Supervisors: Prof. Vijay Varadharajan Dr. Udaya Tupakula June 13 th , 2012. Outline. Introduction Android Security Model (System and Applications) Android Market and Malware - PowerPoint PPT Presentation

Citation preview

Page 1: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Review, Analysis and Recommendations forSecure Applications in Android Platforms

Diego Betancur

Supervisors:

Prof. Vijay Varadharajan

Dr. Udaya Tupakula

June 13th, 2012

Page 2: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Outline

1. Introduction

2. Android Security Model (System and Applications)

3. Android Market and Malware

4. Current Security Problems

5. Possible Solutions

6. Secure Development

2/26Diego Betancur Android Security Review and Solutions

Page 3: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Why Care?

Almost 1'000.000 activations everyday.

Malware growing rapidly

Worldwide Smartphone Sales (%)

3/26Diego Betancur Android Security Review and Solutions

Page 4: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Android Architecture

4/26

Page 5: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Outline

1. Introduction

2. Android Security Model (System and Applications)

3. Android Market and Malware

4. Current Security Problems

5. Possible Solutions

6. Secure Development

5/26Diego Betancur Android Security Review and Solutions

Page 6: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Application Isolation - Sandbox

Different UID and GID for every appNo shared memory or resourcesInteraction between apps through componentsSome processes run in 'root' mode not accessible

to userIsolation at kernel level not the VM

6/26Diego Betancur Android Security Review and Solutions

Page 7: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Application Components

Activities: UIServices: Daemons running in the backgroundContent Providers: Relational DB for sharing

dataBroadcast Receivers: Receive messages from

other apps/system. E.g. Battery is chargedIntents: Triggers another component

7/26Diego Betancur Android Security Review and Solutions

Page 8: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Permissions

Restrict components interactionsGranted by users at installationDefined in the Manifest File (xml)Levels:

Normal: Set alarm, vibrateDangerous: Send SMS, callsSignature: Inject eventsSignatureOnSystem: Access USB

8/26Diego Betancur Android Security Review and Solutions

Page 9: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Outline

1. Introduction

2. Android Security Model (System and Applications)

3. Android Market and Malware

4. Current Security Problems

5. Possible Solutions

6. Secure Development

9/26Diego Betancur Android Security Review and Solutions

Page 10: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Android Market

Easy to publish apps, only $2546.9% growth in the last few yearsOver 10 billions app downloadsAround 70% of apps are free80% supported by advertisementControls:

Application SigningSecurity Scan

10/26

Diego Betancur Android Security Review and Solutions

Page 11: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Malware Types in Android

11/26Diego Betancur Android Security Review and Solutions

Page 12: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Tap-Jacking Attack

Malicious ActivityUser interacts with a

fake interface

12/26Diego Betancur Android Security Review and Solutions

Page 13: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Outline

1. Introduction

2. Android Security Model (System and Applications)

3. Android Market and Malware

4. Current Security Problems

5. Possible Solutions

6. Secure Development

13/26Diego Betancur Android Security Review and Solutions

Page 14: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Users: The Weakest Link

Do users read permissions before installing an app?

Do users understand the risks involved?

Its all about Trust

14/26Diego Betancur Android Security Review and Solutions

Page 15: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Rooting

Why?Access custom ROMsRemove vendors and operators appsMore speed and functionalities

Problems:Needs to exploit a vulnerabilityIf a malicious process gets root privileges all

security is compromised (Encryption, app isolation)

15/26Diego Betancur Android Security Review and Solutions

Page 16: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Inter-Application Communication (IPC)

16/26Diego Betancur Android Security Review and Solutions

Page 17: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

The Permission Model

A secure app does not remain secure forever No Selective PermissionsAdvertisement Permissions:

FULL INTERNET ACCESSFINE LOCATION

Other Permissions:SD ACCESS

17/26Diego Betancur Android Security Review and Solutions

Page 18: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Outline

1. Introduction

2. Android Security Model (System and Applications)

3. Android Market and Malware

4. Current Security Problems

5. Possible Solutions

6. Secure Development

18/26Diego Betancur Android Security Review and Solutions

Page 19: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Permissions By Category Model Example

Social and CommunicationACCOUNTSPERSONAL INFO

Communication OnlyCOST MONEYMESSAGES

MESSAGES: Trusted Email clientFULL INTERNET ACCESSLOCATION

19/26Diego Betancur Android Security Review and Solutions

Page 20: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

IPC Problem Solutions

IPC inspection based on "taints" (labels) to identify the source

History-Based Access Control (HBAC)Disadvantage:

Processing Overhead

20/26Diego Betancur Android Security Review and Solutions

Page 21: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Permissions Problem Solutions

New set of Permissions for Advertisement. E.g. LOCATION_ADVERTISEMENT

Selective Permissions. E.g.: By timeInclude security ratings for developers Remove permissions for paid versionsDisadvantages:

Tracking of more attributesAffects developers business model

21/26Diego Betancur Android Security Review and Solutions

Page 22: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Outline

1. Introduction

2. Android Security Model (System and Applications)

3. Android Market and Malware

4. Current Security Problems

5. Possible Solutions

6. Secure Development

22/26Diego Betancur Android Security Review and Solutions

Page 23: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Secure Development

Intents: Do not use them to pass confidential dataServices: Check permission of calling component

(PERMISSION_DENIED or PERMISSION_GRANTED)Broadcasts Receivers: Validate input from Intents and do

not leak informationContent Providers: Define permission to access. Use URI

schemes Intent Filters: Activities should only be launched by

authorized components. Add categories to restrict what intents can be called

23/26Diego Betancur Android Security Review and Solutions

Page 24: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Additional Best Practices

Encrypt sensitive data:3DES, AES, Certificate

Mark components as: android:exported="false" unless public

Use custom permissions to control accessUse anti-malware protection

24/26Diego Betancur Android Security Review and Solutions

Page 25: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Conclusions

Good Default System Security (Sandbox)High re-usability by componentsTrade-off: Usability vs SecurityRisk: Consequences (Privacy and Confidentiality) x

Likelihood (Large amount of apps installed by Users)

Developers can create a secure environment

25/26Diego Betancur Android Security Review and Solutions

Page 26: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

Questions?

Thank you.

26/26Diego Betancur Android Security Review and Solutions

Page 27: Review, Analysis and Recommendations for Secure Applications in  Android Platforms

References

Android Security Model made at Android Dev Camp, March 4-6

http://developer.android.comDeep Drive into Android Security – Aleskandar

Gargenta

27/26Diego Betancur Android Security Review and Solutions