S C I E N C E T E C H N O L O G Y P A S S I O N T ag- I solated M emory B ringing Fine-grained E nclaves to R ISC- V Samuel Weiser ∗ Mario Werner ∗ Ferdinand Brasser † Maja Malenko ∗ Stefan Mangard ∗ Ahmad Sadeghi † ∗ Graz University of Technology † TU Darmstadt NDSS’19, San Diego www.iaik.tugraz.at
TIMBER-V 2 Motivation Goal: Protect sensitive code and data Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 2 Motivation App Goal: Protect sensitive code and data OS Hypervisor Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 2 Motivation Enclave App Goal: Protect sensitive code and data OS Hypervisor Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 2 Motivation Enclave App App Goal: Protect sensitive code and data OS OS Hypervisor Hypervisor from malicious software Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 2 Motivation Enclave App App Goal: Protect sensitive code and data OS OS Hypervisor Hypervisor from malicious software Intel SGX is cool, but Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 2 Motivation Enclave App App Goal: Protect sensitive code and data OS OS Hypervisor Hypervisor from malicious software Intel SGX is cool, but Closed ISA, microarchitecture Hardware backdoors? [8] Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 2 Motivation Enclave App App Goal: Protect sensitive code and data OS OS Hypervisor Hypervisor from malicious software Intel SGX is cool, but Closed ISA, microarchitecture Hardware backdoors? [8] RISC-V is completely open Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 2 Motivation Enclave App App Goal: Protect sensitive code and data OS OS Hypervisor Hypervisor from malicious software Intel SGX is cool, but Closed ISA, microarchitecture Hardware backdoors? [8] RISC-V is completely open Bring SGX features to embedded RISC-V Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 2 Motivation Enclave App App Goal: Protect sensitive code and data OS OS Hypervisor Hypervisor from malicious software Intel SGX is cool, but Closed ISA, microarchitecture Hardware backdoors? [8] RISC-V is completely open Bring SGX features to embedded RISC-V (embedded = ARM Cortex-M) Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 3 Background: Enclaves Secure execution Enclave Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 3 Background: Enclaves Secure execution Protect against all other software Malicious app Enclave App Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 3 Background: Enclaves Secure execution Protect against all other software Malicious app Malicious OS Enclave App OS Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 3 Background: Enclaves Secure execution Protect against all other software Malicious app Malicious OS Malicious hypervisor Enclave App OS Hypervisor Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 3 Background: Enclaves Secure execution Protect against all other software Malicious app Malicious OS Malicious hypervisor Malicious enclaves Enclave Enclave App App OS Hypervisor Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 3 Background: Enclaves Secure execution Protect against all other software Malicious app Malicious OS Malicious hypervisor Malicious enclaves Enclave Enclave App App Minimal trust (enclave + HW) OS Hypervisor Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 4 Related Work - Secure Execution ”Large”: Sanctum (RISC-V) [2] ”Embedded”: [3, 4, 7, 1, 9] RISC-V: MultiZone [5], Keystone [6] Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 4 Related Work - Secure Execution ”Large”: Sanctum (RISC-V) [2] ”Embedded”: [3, 4, 7, 1, 9] RISC-V: MultiZone [5], Keystone [6] Problems Inflexible isolation boundaries Memory fragmentation Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 5 Problem: Memory Fragmentation Physical memory Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 5 Problem: Memory Fragmentation Process A App Enclave Data Stack Physical memory Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 5 Problem: Memory Fragmentation Process A App Enclave Data Stack Data Stack Physical memory Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 5 Problem: Memory Fragmentation Process A Process B App App Enclave Enclave Data Stack Data Stack Data Stack Physical memory Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 5 Problem: Memory Fragmentation Process A Process B App App Enclave Enclave Data Stack Data Stack Data Stack Data Stack Physical memory Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 5 Problem: Memory Fragmentation X Process A Process B Process C App App App Enclave Enclave Enclave Data Stack Data Stack Data Stack Data Stack Physical memory Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 5 Problem: Memory Fragmentation X Process A Process B Process C App App App Enclave Enclave Enclave Data Stack Data Stack Data Stack Data Stack Physical memory Bad memory utilization Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 5 Problem: Memory Fragmentation Process A Process B Process C App App App Enclave Enclave Enclave Data Stack Bad memory utilization We want to interleave memory → Stack sharing Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 5 Problem: Memory Fragmentation Process A Process B Process C App App App Enclave Enclave Enclave Data Stack Data Stack Bad memory utilization We want to interleave memory → Stack sharing Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 5 Problem: Memory Fragmentation Process A Process B Process C App App App Enclave Enclave Enclave Data Stack Data Stack Data Stack Bad memory utilization We want to interleave memory → Stack sharing Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 6 Contributions : Enclaves from tagged memory for embedded RISC-V Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 6 Contributions : Enclaves from tagged memory for embedded RISC-V Novel stack sharing App Enclave Shared stack Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 6 Contributions : Enclaves from tagged memory for embedded RISC-V Novel stack sharing Fast shared enclave memory App Enclave ... Shared stack Proof-of-concept Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 7 TIMBER-V Overview Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 7 TIMBER-V Overview Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 7 TIMBER-V Overview Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 8 Enclave building blocks: Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 8 Enclave building blocks: Memory isolation Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 8 Enclave building blocks: Memory isolation Entry points Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 8 Enclave building blocks: Memory isolation Entry points Attestation, sealing Inter-enclave communication Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 8 Enclave building blocks: Memory isolation Entry points Attestation, sealing Inter-enclave communication Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 9 Traditional Memory Protection Unit (MPU) Physical Memory MPU regions define application Problem: inflexible Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 10 Tagged Memory Memory tags → Physical Memory Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 10 Tagged Memory Memory tags → Physical Memory Memory tags define applications Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 10 Tagged Memory Memory tags → Physical Memory Memory tags define applications Problem: high memory overhead Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 11 TIMBER-V: MPU + Tagged Memory MPU region defines application Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 11 TIMBER-V: MPU + Tagged Memory MPU region defines application Application cannot escape Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 11 TIMBER-V: MPU + Tagged Memory Memory tag defines enclave Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 11 TIMBER-V: MPU + Tagged Memory Memory tag defines enclave Memory tag defines TagRoot Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
TIMBER-V 12 TIMBER-V Tag Isolation Normal Normal memory Samuel Weiser www.iaik.tugraz.at NDSS’19, San Diego
Recommend
More recommend