SGXELIDE: Enabling Enclave Code Secrecy via Self-Modification
Erick Bauman1, Huibo Wang1, Mingwei Zhang2, Zhiqiang Lin1,3
1University of Texas at Dallas 2Intel Labs 3The Ohio State University
S GX E LIDE : Enabling Enclave Code Secrecy via Self-Modification - - PowerPoint PPT Presentation
S GX E LIDE : Enabling Enclave Code Secrecy via Self-Modification Erick Bauman 1 , Huibo Wang 1 , Mingwei Zhang 2 , Zhiqiang Lin 1 , 3 1 University of Texas at Dallas 2 Intel Labs 3 The Ohio State University CGO 2018 Introduction Background and
1University of Texas at Dallas 2Intel Labs 3The Ohio State University
Introduction Background and Overview Design and Implementation Evaluation Conclusion
2 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
3 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
3 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
3 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
4 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
4 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
5 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
5 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
5 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
5 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
5 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
5 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
5 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
5 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
5 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
6 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
7 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
8 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
8 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
8 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
8 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
9 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
10 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
10 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
10 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
10 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
10 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
10 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
10 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
10 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
10 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
10 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
11 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
11 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
11 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
11 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
Enclave Runtime Restorer Sanitizer
secret.so dummy.so secret enclave code
Compiler, Linker Compiler, Linker
dummy enclave code secret.so sanitized.so secret data
Dummy Enclave Code Generation Normal Enclave Code Generation Runtime Secret Enclave Code Restoration
12 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
13 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
13 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
14 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
14 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
14 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
secret data meta data
15 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
secret data meta data 1
15 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
secret data meta data 1 2
15 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
meta data secret data meta data 1 2 3
15 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
meta data secret data meta data 1 2 3 4
15 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
secret data meta data secret data meta data 1 2 3 4 5
15 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
secret data meta data secret data meta data 1 2 3 4 5 6
15 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
secret data meta data secret data meta data sealed secret data 1 2 3 4 5 6 7
15 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
meta data encrypted secret data
16 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
meta data 1 encrypted secret data
16 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
meta data 1 2 encrypted secret data
16 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
meta data meta data 1 2 3 encrypted secret data
16 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
meta data meta data 1 2 3 encrypted secret data 4
16 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
secret data meta data meta data 1 2 3 5 encrypted secret data 4
16 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
secret data meta data meta data 1 2 3 5 6 encrypted secret data 4
16 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
secret data meta data meta data sealed secret data 1 2 3 5 6 7 encrypted secret data 4
16 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
Original LOC w/ SGX LOC w/ SGXELIDE TC TC Sanitized Sanitized Benchmarks LOC UC TC UC TC Functions Bytes Functions Bytes AES 802 472 427 522 540 185 75999 15 3840 DES 473 463 372 513 485 179 75455 9 3296 Sha1 315 423 251 473 364 179 73791 9 1632 Shas 2417 1529 1240 1579 1353 224 80127 54 7968 2048 413 551 192 601 305 208 76351 38 4448 Biniax 3523 3582 193 3632 306 208 76351 38 4448 Crackme 48 316 93 366 206 182 73711 12 1536 17 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
18 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
w/ SGX w/ SGXELIDE
19 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
w/ SGX w/ SGXELIDE
20 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
21 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
21 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
21 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
21 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
21 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
21 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
21 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
21 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
22 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
22 / 23
Introduction Background and Overview Design and Implementation Evaluation Conclusion
Enclave Runtime Restorer Sanitizer
secret.so dummy.so secret enclave code Compiler, Linker Compiler, Linker dummy enclave code secret.so sanitized.so secret data
Dummy Enclave Code Generation Normal Enclave Code Generation Runtime Secret Enclave Code Restoration
inner enclave
meta data
23 / 23