Session
Schedule FOSDEM 2022
Hardware-Aided Trusted Computing

Rethinking the OS for Isolation Flexibility with FlexOS

D.trusted-hardware
Hugo Lefeuvre
<p>Operating Systems (OSes) have historically been classified according to their isolation properties: monolithic OSes, microkernels, single-address-space OSes, or unikernels... Decades of experience in research and industry showed that there is no silver bullet and that different use-cases might demand different approaches to optimize safety and performance.</p> <p>What if we tried to design an operating system able to be easily reconfigured into any of these points in the OS design space? What if the OS could be a microkernel, a unikernel, or a monolithic OS, at will, and using a wide range of hardware- and software-backed isolation mechanisms?</p> <p>In this talk, we will present FlexOS, the result of our recent research work in trying to answer this question. FlexOS is an OS allowing users to easily specialize the safety and isolation strategy of an OS at compilation/deployment time, instead of design time. Depending on the configuration, the same FlexOS code can mimic a microkernel with multiple address-spaces, a single-address-space OS with Intel MPK compartments, or many other OS isolation approaches. We have implemented a prototype of FlexOS on top of Unikraft, a popular library OS framework.</p>

Additional information

Type devroom

More sessions

2/5/22
Hardware-Aided Trusted Computing
D.trusted-hardware
<p>A brief introduction to the room and to the sessions.</p>
2/5/22
Hardware-Aided Trusted Computing
Shunda Zhang
D.trusted-hardware
<p>Intel SGX provided a mechanism to better isolate user-level software from attackers. However, attackers will still use various methods to attack SGX and user’s Enclaves. And user’s code inside Enclave may also have bugs, which can be leveraged by the attackers. We are from intel SGX SDK team, we have conducted security analysis and pen-test for SGX Enclave (based on SGX SDK) during the past 10+ years. We want to summarize some past exploits we encountered in our daily work and what's the ...
2/5/22
Hardware-Aided Trusted Computing
Dmitrii Kuvaiskii
D.trusted-hardware
<p>Gramine (formerly called "Graphene") is a lightweight library OS, designed to run a single Linux application in an isolated environment. Currently, Gramine runs on Linux and Intel SGX enclaves on Linux platforms. With Intel SGX support, Gramine can secure a critical application in a hardware-encrypted memory region and protect the application from a malicious system stack with minimal porting effort ("lift and shift" approach).</p> <p>Several major events happened to the Gramine project in ...
2/5/22
Hardware-Aided Trusted Computing
Nick Vidal
D.trusted-hardware
<p>The Enarx project reached a huge milestone: its first official release, featuring WebAssembly runtime. WebAssembly and Confidential Computing are a great match because WebAssembly offers developers a wide range of language choices, it works across silicon architectures, and it provides a sandboxed environment. This presentation will highlight the benefits of WebAssembly to Confidential Computing and showcase some demos.</p>
2/5/22
Hardware-Aided Trusted Computing
Fritz Alder
D.trusted-hardware
<p>Short break.</p>
2/5/22
Hardware-Aided Trusted Computing
Guilhem Bryant
D.trusted-hardware
<p>Veracruz is a framework for designing and deploying privacy-preserving computations amongst a group of mutually mistrusting individuals. Veracruz uses strong isolation technologies, such as AWS Nitro Enclaves, Arm CCA Realms, and the high-assurance seL4 hypervisor, to provide a safe, neutral ground, within which a sandboxed WebAssembly program executes. Recent enhancements to Veracruz have made it possible to support larger, more complex privacy-preserving computations: we have adopted the ...
2/5/22
Hardware-Aided Trusted Computing
D.trusted-hardware
<p>The confidentiality and integrity guarantees offered by Intel SGX enclaves can be easily thwarted if the enclave has not been properly designed. Its interface with the untrusted software stack is a perhaps the largest attack surface that adversaries can exploit; unintended interactions with untrusted code can expose the enclave to memory corruption attacks, for instance.</p> <p>We have proposed a notion, called orderliness, that embodies good practice set out by academic papers and the ...