trusted execution environment and software security · peng xu [email protected] lehrstuhl für...

25
Peng Xu [email protected] Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019 Trusted execution environment and software security

Upload: others

Post on 11-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

Peng Xu

[email protected]

Lehrstuhl für IT-Security, Fakultät für Informatik,

Technische Universität München

28.01.2019

Trusted execution environment and software security

Page 2: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

• Problems and Solutions• Problems

• Solutions

• Trusted Execution Environment • Architecture

• Examples

• Courses• Content

• Tasks and exercises

• Requirements

• Grading

• Registration

Agenda

Page 3: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

3Peng Xu, I20, [email protected]

Problems?

Page 4: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

4Peng Xu, I20, [email protected]

Problems?

Page 5: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

5Peng Xu, I20, [email protected]

Problems?

Page 6: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

6Peng Xu, I20, [email protected]

Problems?

Page 7: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

7Peng Xu, I20, [email protected]

Solutions – Software fault isolation

Page 8: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

8Peng Xu, I20, [email protected]

Solutions – Software fault isolation

https://drive.google.com/file/d/0B5pbq4t2T2_fM2h1dnd3TFRud0E/view

Page 9: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

9Peng Xu, I20, [email protected]

Solutions – Sandbox

Page 10: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

10Peng Xu, I20, [email protected]

Solutions – Sandbox

https://www.ghacks.net/2012/08/09/chromes-flash-

sandbox-improves-with-better-security-less-crashes/

Page 11: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

11Peng Xu, I20, [email protected]

Solutions – Virtualization & Containers

Page 12: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

12Peng Xu, I20, [email protected]

Solutions – Hardware isolation

Page 13: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

• Problems and Solutions• Problems

• Solutions

Page 14: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

14Peng Xu, I20, [email protected]

TEE Architecture

Page 15: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

15Peng Xu, I20, [email protected]

TEE Architecture – Intel SGX

Page 16: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

16Peng Xu, I20, [email protected]

TEE Architecture – Intel SGX

Page 17: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

17Peng Xu, I20, [email protected]

TEE Architecture – ARM TrustZone

Page 18: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

18Peng Xu, I20, [email protected]

https://medium.com/weeves-world/ethereum-wallet-in-a-trusted-execution-environment-

secure-enclave-b200b4df9f5f

TEE examples – Bitcoin wallet

Page 19: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

19Peng Xu, I20, [email protected]

https://slideplayer.com/slide/8844767/

TEE examples – Remote attestation

Page 20: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

20Peng Xu, I20, [email protected]

https://www.microsoft.com/en-us/research/uploads/prod/2018/02/enclavedb.pdf

TEE examples – EnclaveDB

Page 21: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

21Peng Xu, I20, [email protected]

https://twitter.com/rzshokri/status/985792775189757952

TEE examples – Privacy preserving machine learning

Page 22: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

• Problems and Solutions• Problems

• Solutions

• Trusted Execution Environment • Architecture

• Examples

Page 23: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

COURSE

Page 24: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

Content:1. Basic knowledge of TEE

2. Proof-of-concept programs

• Remote/local attestation

• Data sealing

• Secure storage

• Secure database

3. Program analysis and automatic program

partitioning

• Static data flow analysis (Compiler/ binary

analysis)

• Dynamic data flow analysis

• Automatic code generation for TEE

Requirements:1. C/C++ programming

2. Knowledge of Rust programming is better

3. Basic knowledge of operating system

4. Program analysis

5. Knowledge of compiler is better

Tasks:1. Level-I: Easiest tasks

• Demonstration for basic concepts

• 40%

2. Level-II: Intermediate

• Extended exercises for basic

concepts

• 40%

3. Level-III: Challenges

• New ideas to extend related works

• 10%

4. Attendance! Attendance!! Attendance!!!

• 10%

Registration:1. Matching system

2. Set up the development environment

• OPTEE

• SGX(Linux/Win10)

3. Helloworld Program with TEE

TEE and software security

Page 25: Trusted execution environment and software security · Peng Xu peng@sec.in.tum.de Lehrstuhl für IT-Security, Fakultät für Informatik, Technische Universität München 28.01.2019

• Problems and Solutions• Problems

• Solutions

• Trusted Execution Environment • Architecture

• Examples

• Courses• Content

• Tasks and exercises

• Requirements

• Grading

• Registration

Agenda