security and confidential computing
play

Security and confidential computing axel simon office of the CTO - PowerPoint PPT Presentation

Security and confidential computing axel simon office of the CTO enarx.io The Problem The Need for Confidentiality and Integrity Banking & Finance Government & Public Sector Telco IoT HIPAA GDPR


  1. Security and confidential computing axel simon office of the CTO enarx.io

  2. The Problem

  3. The Need for Confidentiality and Integrity Banking & Finance ● Government & Public Sector ● Telco ● IoT ● HIPAA ● GDPR ● Sensitive enterprise functions ● Defense ● Human Rights NGOs ● ... ●

  4. Virtualization Stack Application Middleware Userspace Kernel Bootloader Hypervisor Firmware BIOS | EFI CPU | Management Engine

  5. Container Stack Application Middleware Userspace Container Engine Kernel Bootloader Hypervisor Firmware BIOS | EFI CPU | Management Engine

  6. Virtualization Stack as seen by xkcd (xkcd.com/2166)

  7. Trusted Execution Environments

  8. What’s a TEE? TEE Application Middleware Userspace Kernel Bootloader Hypervisor Firmware BIOS | EFI CPU | Management Engine

  9. What’s a TEE? TEE Application Middleware Userspace Kernel Bootloader Hypervisor Firmware BIOS | EFI Only the CPU has access CPU | Management Engine

  10. What’s a TEE? TEE Application Middleware Userspace Kernel What happens when Bootloader other layers try to access? Hypervisor Firmware BIOS | EFI Only the CPU has access CPU | Management Engine

  11. What’s a TEE? TEE Application Middleware Userspace Kernel What happens when Bootloader other layers try to access? Hypervisor Blocked by CPU Firmware BIOS | EFI Only the CPU has access CPU | Management Engine

  12. Trusted Execution Environments Host TEE TEE is a protected area within the host, for execution of sensitive workloads

  13. Trusted Execution Environments Host TEE TEE is a protected area within the TEE provides: host, for execution of sensitive Memory Confidentiality ● workloads Integrity Protection ● General compute ● HWRNG ●

  14. Trusted Execution Environments Host Tenant TEE Q. “But how do I know that it’s a TEE provides: valid TEE?” Memory Confidentiality ● Integrity Protection ● General compute ● HWRNG ●

  15. Trusted Execution Summary Attestation Host Tenant TEE Q. “But how do I know that it’s a TEE provides: valid TEE?” Memory Confidentiality ● A. Attestation Integrity Protection ● General compute ● HWRNG ●

  16. Trusted Execution Summary Attestation Host Tenant TEE Code + Data (Encrypted) Attestation includes: TEE provides: Diffie-Hellman Public Key Memory Confidentiality ● ● Hardware Root of Trust Integrity Protection ● ● TEE Measurement General compute ● ● HWRNG ●

  17. Trusted Execution Models Process-Based VM-Based Intel SGX (not upstream) AMD SEV ● ● RISC-V Sanctum (no hardware) IBM PEF (no hardware) ● ● Intel MKTME (no attestation¹) ● Not a TEE: TrustZone, TPM 1. Attestation is discussed here: https://patents.google.com/patent/US20190042463A1/en?oq=20190042463

  18. Trusted Execution: Process-Based PROS CONS Access to system APIs from Keep Unfiltered system API calls from Keep ● ● Application redesign required ● Untested security boundary ● Fantastic for malware ● Lock-in ●

  19. Trusted Execution: Virtual Machine-Based PROS CONS Strengthening of existing boundary Hardware emulation ● ● Run application on existing stacks Heavy weight for microservices ● ● Bidirectional isolation CPU architecture lock-in ● ● Limits malware Duplicated kernel pages ● ● Host-provided BIOS ●

  20. Introducing Enarx

  21. The Enarx 5-bullet overview Uses TEEs (SGX, SEV, etc.) for confidential workloads ●

  22. The Enarx 5-bullet overview Uses TEEs (SGX, SEV, etc.) for confidential workloads ● Easy development and deployment using Wasm ●

  23. The Enarx 5-bullet overview Uses TEEs (SGX, SEV, etc.) for confidential workloads ● Easy development and deployment using Wasm ● Strong security design principles ●

  24. The Enarx 5-bullet overview Uses TEEs (SGX, SEV, etc.) for confidential workloads ● Easy development and deployment using Wasm ● Strong security design principles ● Cloud-native → Openshift, kubernetes ●

  25. The Enarx 5-bullet overview Uses TEEs (SGX, SEV, etc.) for confidential workloads ● Easy development and deployment using Wasm ● Strong security design principles ● Cloud-native → Openshift, kubernetes ● Open source: project , not production-ready (yet) ●

  26. Enarx Where do we want to be?

  27. What’s the full picture? “Server” “Client” Attestation Host handshake CPU + firmware Tenant Workload Enarx Keep delivery Workload runs (encrypted) 27

  28. Enarx Architecture Application Language Bindings (libc, etc.) WASI W3C standards WebAssembly Process-Based VM-Based SGX SEV Keep Keep Sanctum PEF MKTME

  29. Enarx Architecture Application Language Bindings (libc, etc.) WASI W3C standards WebAssembly Process-Based VM-Based SGX SEV Keep Keep Intel AMD

  30. Breaking things down with SGX Application Process-Based SGX Keep

  31. Breaking things down with SGX Application Process-Based Keep SGX

  32. Breaking things down with SGX Application Process-Based Keep SGX

  33. CONFIDENTIAL Designator SGX demo

  34. Breaking things down with SEV Application VM-Based SEV Keep

  35. Breaking things down with SEV Application VM-Based Keep SEV

  36. Breaking things down with SEV Application VM-Based Keep SEV

  37. CONFIDENTIAL Designator SEV demo

  38. Where we’d like to be Application Process-Based VM-Based Keep Keep SGX SEV

  39. Where we’d like to be Application Process-Based VM-Based Keep Keep SGX SEV

  40. Where we’d like to be Same binary Application Application Process-Based VM-Based Keep Keep SGX SEV

  41. Where we’d like to be Where we are Same binary Application Application Process-Based VM-Based Keep Keep SGX SEV

  42. CONFIDENTIAL Designator

  43. CONFIDENTIAL Designator

  44. Layers - process-based Keep Application WASI Trusted via Enarx Keep Measurement WASM (JIT) Enarx Shim Loader Silicon architecture-dependent Silicon architecture-dependent Distrusted Kernel Root of Trust CPU (Intel)

  45. Layers (now) - process-based Keep Application Enarx Shim Loader Kernel CPU (Intel)

  46. Layers - VM-based Keep Application WASI Trusted via Enarx Keep Measurement WASM (JIT) Enarx Shim Loader (VMM) Silicon architecture-dependent Silicon architecture-dependent Distrusted Kernel Root of Trust CPU (AMD)

  47. Layers (now) - process-based Keep Application Enarx Shim Loader (VMM) Kernel CPU (AMD)

  48. Where we’d like to be Where we are Same binary ELF static-PIE binary ELF static-PIE binary Enarx Enarx Shim Shim Loader Loader (VMM) Kernel Kernel CPU (Intel) CPU (AMD)

  49. Where we’d like to be next One binary Wasm binary WASI WASM (JIT) Enarx Enarx Shim Shim Loader Loader (VMM) Kernel Kernel CPU (Intel) CPU (AMD)

  50. We are an open project ● Code ✓ GitHub ● Wiki ✓ GitHub ● Design ✓ GitHub ● Issues & PRs ✓ GitHub ● Chat ✓ Rocket.Chat (Thank you!) ● CI/CD resources ✓ Packet.io (Thank you!) ● Stand-ups ✓ Open to all ● Diversity ✓ Contributor Covenant CofC 50

  51. We Need Your Help! Website: https://enarx.io Daily stand-ups open to all! Check the website wiki for details. Code: https://github.com/enarx License: Apache 2.0 Language: Rust 51

  52. We Need Your Help! Website: https://enarx.io Daily stand-ups open to all! Check the website wiki for details. Code: https://github.com/enarx License: Apache 2.0 Language: Rust 52

  53. Questions? https://enarx.io

Recommend


More recommend