TUM Logo

Trusted Execution Environment and software security

Trusted Execution Environment and software security  

Seminare 2 SWS / 5 ECTS
Veranstalter: Peng Xu
Zeit und Ort:

Kickoff:   26.06.18 13:30 - 14:00

Normal Courses: Wednesday 10:00 - 12:00


Beginn: 2018-10-23

The lecture is given in english
The slides are available in english
The exam will be in english

With the number of threats that increasingly pressure companies and private usage, it is important to guarantee the application are completely secure. Therefore, secure software development becomes more and more attractive and necessary. In this course, we want to discuss how to develop secure software with the Trusted Execution Environment (TEE) based ways. Based on the TEE-enabled core, there are many available secure world software architectures, from the range of the most complex secure world operating system to the simplest synchronous library of code placed in the Secure world.  

Since this course is a topic on the advanced software security level, we hope the students have the c program language background as well as the basic knowledge of the operating system. In addition, information security knowledge is also necessary. Knowledge on Android OS as well as the compiler could be better.



The content would include the following references.
0. I will talk about the TEE and ARM trustzone and Intel SGX
This section will talk about the framework we can use to develop the
application based on trustzone and sgx if we do not have the hardware.

OP-TEE                                                                           2018-10-31 Peng Xu
openSGX 2018-10-31 Peng Xu

This section will discuss the trustzone related works

Using ARM TrustZone to build a trusted language runtime for mobile applications 2018-11-07  
Graphene-SGX: A practical library OS for Unmodified Applications on SGX 2018-11-07  
TrustShadow: Secure Execution of Unmodified Applications with ARM TrustZone 2018-11-14 Florian Olschewski

This section will present the Intel SGX based works

JITGuard: Hardening just-in-time Compilers with SGX 2018-11-14                        
Shielding applications from an untrusted cloud with Haven 2018-11-21 Yanki Kurtcan 
SCONE: secure linux containers with intel SGX 2018-11-21 Lukas Heine
Glamdring: Automatic Application Paritioning for Intel SGX 2018-11-28 Jokubas Trinkunas
Automated partitioning of android applications for trusted execution environments 2018-11-28 Deminl Omerovic
PANOPLY: Low-TCB linux Applications with SGX Enclaves 2018-12-05  
Hacking in darkness: Return-oriented Programming against Secure Enclaves 2018-12-05 Dominik Pham
Teechain: Scalable Blockchain Payments using Trusted Execution Environments 2018-12-12 Gizem Akdeniz
Slalom: Fast, Verifiable and Private Execution of Neural Networks in Trusted Hardware 2018-12-12 Kriti Shreshtha          



After the normal meeting we do not need to meet every week. In the rest time, you need to prepare the final report. 

For the report you should include the content from the original paper, questions and answers we talked after your presentation and of course another discussion (like the research direction I asked during course, related works from other students and so on).

Final Report

You can find a final report from my previous student from CFI seminar course. You can take that one as a template. 
In addition, you can also find the Latex template which is the format of our final report. With this template, we need 7 pages in length. 
The content of the final report should include:
1. Introduction (Section I from this template)
2. Background 
3. Design and implementation from original papers (Section II, III, IV from this template)
4. Performance 
5. Discussion about the connection and difference with other related works in our seminar course (Section VII, VIII from theis template)
6. Conclusion


We have two deadlines for the final report.
The first one is for the draft. The deadline is 6th, Feb.
After that, I will check these reports. Meanwhile, i will distribute two drafts to every students and help me to check and give feedback. And then I will feedback your report and update it with suggestions from my side and another students' sides.
The deadline for the second round is 13rd, Feb.