Trusted Execution Environment: what it is and what it is...

38
Trusted Execution Environment: what it is and what it is not Mohamed Sabt 1,2 Mohammed Achemlal 1,3 Abdelmadjid Bouabdallah 2 1 Orange Labs, France 2 Sorbonne Universit´ es, UTC, France 3 Ensicaen, France Trustcom 2015, August 2015 M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 1 / 32

Transcript of Trusted Execution Environment: what it is and what it is...

Page 1: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Trusted Execution Environment:what it is and what it is not

Mohamed Sabt 1,2 Mohammed Achemlal 1,3

Abdelmadjid Bouabdallah 2

1Orange Labs, France

2Sorbonne Universites, UTC, France

3Ensicaen, France

Trustcom 2015, August 2015

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 1 / 32

Page 2: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Outline

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 2 / 32

Page 3: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Introduction

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 3 / 32

Page 4: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Introduction

“The time has come,” the Walrus said,“To talk of many things;Of shoes–and ships–and sealing wax–Of cabbages—and kings–And why the sea is boiling hot–And whether pigs have wings.”

— Lewis Carroll, Through the Looking-Glass

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 4 / 32

Page 5: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Introduction

Ubiquitous TEE

Virtual TPM [Trust 2009];

Privacy-Preserving Mobile Payment [TrustCom 2012];

Sensors [MobiSys 2012];

Two Factor Authentication [NDSS 2014];

Introspection [CCS 2014];

Software Obfuscation [ARES 2014];

Mobile Advertisement [MobiSys 2015];

Autonomic Systems [ICAC 2015].

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 5 / 32

Page 6: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Introduction

Once upon a time

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 6 / 32

Page 7: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Introduction

From different directions

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 7 / 32

Page 8: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 8 / 32

Page 9: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE

Come, listen, my men, while I tell you againThe five unmistakable marksBy which you may know, wheresoever you go,The warranted genuine Snarks.

— Lewis Carroll, The Hunting of the Snark

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 9 / 32

Page 10: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE The Trust Problem

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 10 / 32

Page 11: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE The Trust Problem

Let’s start at the very beginning...

Practical Need

Execute a highly-sensitive app on an off the shelf smartphone.

Problem to solve

Secure an application in the presence of a malicious OS.

Existing Solutions

special hardware processor: AEGIS and CHERI;

micro-kernel: SeL4;

separation kernel: TLR.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 11 / 32

Page 12: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE The Trust Problem

Let’s start at the very beginning...

Practical Need

Execute a highly-sensitive app on an off the shelf smartphone.

Problem to solve

Secure an application in the presence of a malicious OS.

Existing Solutions

special hardware processor: AEGIS and CHERI;

micro-kernel: SeL4;

separation kernel: TLR.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 11 / 32

Page 13: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE The Trust Problem

Let’s start at the very beginning...

Practical Need

Execute a highly-sensitive app on an off the shelf smartphone.

Problem to solve

Secure an application in the presence of a malicious OS.

Existing Solutions

special hardware processor: AEGIS and CHERI;

micro-kernel: SeL4;

separation kernel: TLR.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 11 / 32

Page 14: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE The Trust Problem

Let’s start at the very beginning...

Practical Need

Execute a highly-sensitive app on an off the shelf smartphone.

Problem to solve

Secure an application in the presence of a malicious OS.

Existing Solutions

special hardware processor: AEGIS and CHERI;

micro-kernel: SeL4;

separation kernel: TLR.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 11 / 32

Page 15: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE The Trust Problem

State of the art

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 12 / 32

Page 16: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Towards Dual-EE

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 13 / 32

Page 17: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Towards Dual-EE

Definitions

Separation Kernel

Security kernel that enables the coexistence of different systems requiringdifferent levels of security on the same platform.

Secure Execution Environment

Processing environment that guarantees the following properties:

authenticity : the code under execution should not have been changed;

integrity : runtime states should not have been tampered with;

confidentiality : code, data and runtime states should not have beenobservable by unauthorized applications.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 14 / 32

Page 18: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Towards Dual-EE

Definitions

Separation Kernel

Security kernel that enables the coexistence of different systems requiringdifferent levels of security on the same platform.

Secure Execution Environment

Processing environment that guarantees the following properties:

authenticity : the code under execution should not have been changed;

integrity : runtime states should not have been tampered with;

confidentiality : code, data and runtime states should not have beenobservable by unauthorized applications.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 14 / 32

Page 19: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Towards Dual-EE

The Dual-Execution-Environment Approach

Definition

The Dual-Execution-Environment is a security architecture where both aSeparation Kernel and a Secure Execution Environment play the role ofSecurity Kernel. As its name indicated, only two processing environmentsrun above the defined separation kernel.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 15 / 32

Page 20: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Towards Dual-EE

Overview

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 16 / 32

Page 21: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Core Properties

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 17 / 32

Page 22: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Core Properties

Isolation

1 Data separation: Data within one partition cannot be read ormodified by other partitions;

2 Sanitization: Shared resources cannot be used to leak informationinto other partitions;

3 Control of information flow: Communication between partitionscannot occur unless explicitly permitted;

4 Fault isolation: Security breach in one partition cannot spread toother partitions.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 18 / 32

Page 23: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Core Properties

Inter-EE Communication

1 Reliability: memory/time isolation;

2 Minimum overhead: unnecessary data copies and context switches;

3 Integrity: protection of communication structures.

Attacks

message overload attacks;

control data corruption attacks;

memory faults caused by shared pages being removed.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 19 / 32

Page 24: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Core Properties

Inter-EE Communication

1 Reliability: memory/time isolation;

2 Minimum overhead: unnecessary data copies and context switches;

3 Integrity: protection of communication structures.

Attacks

message overload attacks;

control data corruption attacks;

memory faults caused by shared pages being removed.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 19 / 32

Page 25: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Core Properties

Secure Scheduling

1 Time-slicing: balanced sharing of the hardware resources;

2 Preemptive: mixing the priority level of the GPOS and SEEactivities.

Attacks

non-responsive event-driven operations;

unbound waits caused by the non-cooperation of the untrusted partof the system.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 20 / 32

Page 26: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Dual-EE Core Properties

Secure Scheduling

1 Time-slicing: balanced sharing of the hardware resources;

2 Preemptive: mixing the priority level of the GPOS and SEEactivities.

Attacks

non-responsive event-driven operations;

unbound waits caused by the non-cooperation of the untrusted partof the system.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 20 / 32

Page 27: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Trusted Execution Environment

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 21 / 32

Page 28: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Trusted Execution Environment

“When I use a word,” Humpty Dumpty said, in rather a scornful tone,“It means just what I choose it to mean–neither more nor less.”

— Lewis Carroll, Through the Looking-Glass

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 22 / 32

Page 29: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Trusted Execution Environment Design

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 23 / 32

Page 30: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Trusted Execution Environment Design

The War of Terminologies

The Existential Question

Does the TEE exist before the existence of the TEE ?

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 24 / 32

Page 31: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Trusted Execution Environment Design

Building Blocks

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 25 / 32

Page 32: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Trusted Execution Environment Attacks

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 26 / 32

Page 33: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Trusted Execution Environment Attacks

Attacks

Adversary model

a powerful attacker who is able to execute an arbitrary code in the kernelprivileges.

Attack Classes

bypassing security features;

executing arbitrary code in the secure zone;

overwriting part of the secure region of the memory with certainvalues;

Denial-of-service attacks are not included.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 27 / 32

Page 34: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Trusted Execution Environment Small Survey

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 28 / 32

Page 35: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Trusted Execution Environment Small Survey

Small Survey

TEE License Normal World Hardware Platform

ObC Close Symbian OS 300 MHz OMAP 2420

<t-base Close Android Samsung Exynos platforms

Andix OS Open Linux iMX53 QSB

TLK Open Android Tegra SoCs

TLR Close .NET CLR Tegra 250 Dev Kit

SafeG Open TOPPERS/ASP PB 1176 JZF-S board

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 29 / 32

Page 36: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Conclusion

1 Introduction

2 Dual-EEThe Trust ProblemTowards Dual-EECore Properties

3 Trusted Execution EnvironmentDesignAttacksSmall Survey

4 Conclusion

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 30 / 32

Page 37: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Conclusion

Summary

TEE is a promising security technology;

Formal model can be defined with the Dual-EE approach;

TEE could be shown as a security architecture, rather than just atechnology in order to have enough theoretical basis to answer basicissues related to TEE.

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 31 / 32

Page 38: Trusted Execution Environment: what it is and what it is notpeople.irisa.fr/Mohamed.Sabt/PUBLICATIONS-HTML/slides... · 2018. 1. 30. · Of cabbages|and kings{And why the sea is boiling

Conclusion

Building Blocks

Thank you for your attention!

M. Sabt al. (Orange Labs) TEE: what it is and what it is not Trustcom 2015, August 2015 32 / 32