Towards Permission-Based Attestation for the Android Platform

5 downloads 114110 Views 544KB Size Report
Jun 22, 2011 - Android Platform ... Trust@FHH. I. Bente (Trust@FHH). PeBA. 22-06-2011. 1 / 17 ... snoop for sensitive data (local phone data, sensors).
Towards Permission-Based Attestation for the Android Platform Ingo Bente Trust@FHH Research Group University of Applied Sciences and Arts in Hannover (FHH)

22 June 2011 Trust 2011 CMU Pittsburgh, PA

Trust@FHH

I. Bente (Trust@FHH)

PeBA

22-06-2011

1 / 17

Agenda

1

Introduction

2

Background

3

Concepts

4

Limitations & Future Work

I. Bente (Trust@FHH)

PeBA

22-06-2011

2 / 17

Contents

1

Introduction

2

Background

3

Concepts

4

Limitations & Future Work

I. Bente (Trust@FHH)

PeBA

22-06-2011

3 / 17

Trust@FHH Research Group Team head: Prof. Dr. Josef von Helden 3 research associates 4 student assistants

Research Fields Trusted Computing Network Security Mobile Security

More Information trust.inform.fh-hannover.de

I. Bente (Trust@FHH)

PeBA

22-06-2011

4 / 17

Motivation Mobile Malware malicious third party applications spreaded via ”app stores” snoop for sensitive data (local phone data, sensors) abuse premium services (Trojan SMS)

Trusted Computing Concepts address malware issues in general binary remote attestation appropriate to counter malware threats

Binary Remote Attestation Drawbacks inherent issue: scalability lack of adoption (in general, not limited to mobile devices) → develop new attestation approach for mobile devices (Android) I. Bente (Trust@FHH)

PeBA

22-06-2011

5 / 17

Idea of Permission-Based Attestation Hybrid Approach general concept I

I

binary attest only rather static part of the Android platform (excluding applications) attest permissions used by applications (not their binaries!)

→ reduced complexity of chain of trust

Related Work Idea originated primarily from two prior approaches Kirin (Enck et al.) I I

security service for Android based upon permissions third party apps are checked against predefined security rules

Property Based Attestation (Sadeghi et al.) I I

attest security properties instead of application binaries challenge: definition of reasonable properties

I. Bente (Trust@FHH)

PeBA

22-06-2011

6 / 17

Contents

1

Introduction

2

Background

3

Concepts

4

Limitations & Future Work

I. Bente (Trust@FHH)

PeBA

22-06-2011

7 / 17

The Android Platform APPLICATIONS Home

Contacts

...

Browser

Phone APPLICATION FRAMEWORK

Activity Manager Package Manager

Window Manager Telephony Manager

View System

Content Providers Resource Manager

LIBRARIES

Location Manager

Notification Manager

ANDROID RUNTIME

Surface Manager

Media Framework

SQLite

Core Libraries

OpenGL | ES

FreeType

Webkit

Dalvik Virtual Machine

SGL

SSL

libc LINUX KERNEL

Display Driver

Camera Driver

Flash Memory Driver

Binder (IPC) Driver

Keypad Driver

Wifi Driver

Audio Drivers

Power Management

I. Bente (Trust@FHH)

PeBA

22-06-2011

8 / 17

Android Security Model Isolation of Apps separate processes, separate file system each app is hosted by a dedicated Dalvik VM instance IPC via Binder API

Android Permissions permissions regulate access to phone resources apps list required permission in their manifest file primarily used in two ways 1 2

permissions used by the app permissions to restrict access to the app’s components itself

Android platform enforces permissions

Example ACCESS FINE LOCATION, INTERNET, RECEIVE BOOT COMPLETE I. Bente (Trust@FHH)

PeBA

22-06-2011

9 / 17

Contents

1

Introduction

2

Background

3

Concepts

4

Limitations & Future Work

I. Bente (Trust@FHH)

PeBA

22-06-2011

10 / 17

Permission-Based Attestation Building Blocks Static Chain of Trust (SCoT) binary measure before load components (extended to TPM) covers Android software stack (kernel, native libraries, Android runtime and application framework) apps are not included (exception see below ...) measurements are rendered to SML

Permission-Based Attestation App the only app that is part of the SCoT measures requested permission labels of installed apps for each app extend TPM as follows: PCRn = SHA1(PCRn ⊕ SHA1(Permission0 ⊕ Permission1 ⊕ ... ⊕ Permissionc )) maintains measurements in Permission Measurement Log (PML) I. Bente (Trust@FHH)

PeBA

22-06-2011

11 / 17

Permission Measurement Log Example [...] 11 76f5ef2156db68c259d60b47280fbf156a054e2f com.android.contacts android.permission.CALL PRIVILEGED android.permission.READ CONTACTS android.permission.WRITE CONTACTS android.permission.INTERNET android.permission.READ PHONE STATE android.permission.MODIFY PHONE STATE com.google.android.googleapps.permission.GOOGLE AUTH.mail android.permission.WAKE LOCK android.permission.WRITE EXTERNAL STORAGE android.permission.USE CREDENTIALS android.permission.VIBRATE 11 6e4e78b206910d078f400ad061aa30d38562c146 com.android.phone android.permission.BROADCAST STICKY android.permission.CALL PHONE android.permission.CALL PRIVILEGED android.permission.WRITE SETTINGS android.permission.WRITE SECURE SETTINGS android.permission.READ CONTACTS android.permission.WRITE CONTACTS android.permission.SYSTEM ALERT WINDOW android.permission.INTERNAL SYSTEM WINDOW android.permission.ADD SYSTEM SERVICE android.permission.VIBRATE [...]

I. Bente (Trust@FHH)

PeBA

22-06-2011

12 / 17

Extended Android Platform APPLICATIONS Home

Contacts

...

Browser

Phone

... app PeBa

APPLICATION FRAMEWORK Activity Manager Package Manager

Window Manager Telephony Manager

View System

Content Providers Resource Manager

Location Manager

Notification Manager

LIBRARIES

ANDROID RUNTIME

Surface Manager

Media Framework

SQLite

OpenGL | ES

FreeType

Webkit

... TSS

SGL

SSL

libc

... TPM Emulator

Core Libraries Dalvik Virtual Machine

Measurement Hook

LINUX KERNEL Display Driver

Camera Driver

Flash Memory Driver

Binder (IPC) Driver

TPM ... Kernel Module

Keypad Driver

Wifi Driver

Audio Drivers

Power Management

... IMA

I. Bente (Trust@FHH)

PeBA

22-06-2011

13 / 17

Flow of Operations IMA

Bootloader

TSS

Linux Kernel TPM

Libs

KM

1

TPM Emu.

Android Runtime

DalvikVM Core Libs

Applications Application Framework

Application 1... n

PeBA app

Kernel exec.

IMA 1 Measurement 1

IMA Measurement 1

IMA Measurement (DalvikVM)

2

DalvikVM triggers IMA Measurement

2

IMA Measurement (Core Libs)

3

DalvikVM triggers IMA Measurement

2

IMA Measurement (Application Framework)

Static Chain of Trust (binary attestation)

3

IMA Measurement (PeBA app)

4

5

TPM_quote

Permission-based measurement of installed Applications

5

Challenge-Response

Verifier

Permission-based Attestation

I. Bente (Trust@FHH)

PeBA

22-06-2011

14 / 17

Contents

1

Introduction

2

Background

3

Concepts

4

Limitations & Future Work

I. Bente (Trust@FHH)

PeBA

22-06-2011

15 / 17

Limitations & Future Work Prototype Limitations Android 2.2 bootloader out of scope software TPM

Conceptual Limitations focus solely on statically requested permissions vulnerable to covert channels vulnerable to permission spreading

Future Work integration of further security policy details (intents) implementation of verifier I. Bente (Trust@FHH)

PeBA

22-06-2011

16 / 17

Thank You!

I. Bente (Trust@FHH)

PeBA

22-06-2011

17 / 17

Suggest Documents