How Does Enarx Secure Workloads on Untrusted Hosts?

610 views
•
March 25, 2020
by
RSAC Cybersecurity
YouTube video player
How Does Enarx Secure Workloads on Untrusted Hosts?

TL;DR

Enarx protects sensitive workloads by placing application code and middleware inside a trusted execution environment whose memory is isolated by the CPU. Cryptographic attestation lets a tenant verify that the protected environment is correct before sending code and data, reducing dependence on host owners, administrators, operating systems, hypervisors, and other workloads.

Transcript

Hi, and thank you for joining me. Um, I know you've got a lot of other things going on, and if you have other things that turn up, like kids leaving, leaving other things, be rest assured that you can always get the recording later on. So, uh, that's great. But on the other hand, I'd love to have our questions as we, uh, go through. So, um, as, um,... Read More

Key Insights

  • Cloud workloads inherit a broad trust problem because application owners may need to rely on service providers, system administrators, operating systems, hypervisors, firmware, hardware, and neighboring workloads. Each additional layer or operator creates another potential path for compromise or unauthorized access.
  • Trust at provisioning time does not guarantee continuing trust because a host may remain deployed for months, become compromised, or receive patches incorrectly. Protecting sensitive workloads therefore requires controls that do not depend entirely on the continuing integrity of the host software stack.
  • Container stacks can require more trust relationships than standard virtual machine stacks because they add further software layers around an application. Although containers simplify deployment, those additional components expand the collection of software and vendors that must remain trustworthy.
  • Enarx is an open-source project that reduces the trusted computing base for sensitive workloads. Its model distrusts the host owner, host operator, host software, users, and most hardware while retaining necessary trust in the CPU and its firmware.
  • A trusted execution environment is a CPU-protected area for executing sensitive workloads. The CPU establishes encrypted memory pages so that the operating system kernel, hypervisor, administrators with root access, and other host components cannot inspect the protected application or its data.
  • Trusted execution environments provide both confidentiality and integrity protection. Confidentiality prevents unauthorized parties from viewing sensitive memory, while integrity protection prevents them from altering protected data, even when they control software or administrative functions elsewhere on the host.
  • Attestation is a cryptographic mechanism that lets a tenant verify the trusted execution environment before releasing code and data. The CPU measures the protected environment, supplies a hardware root of trust, and makes a statement that the tenant can validate.
  • Enarx emphasizes practical adoption through easy deployment, development integration, and standards-based implementation. It is presented as particularly suitable for microservices and other workloads containing sensitive data or algorithms, without requiring developers to adopt numerous specialized software development kits.

Install to Summarize YouTube Videos and Get Transcripts

Explore YouTube Video Summarizer or Get YouTube Transcript Extractor

Questions & Answers

Q: How does Enarx protect workloads on untrusted hosts?

Enarx places the application and necessary middleware inside a trusted execution environment protected by the CPU. The CPU establishes encrypted memory pages that other host layers cannot inspect. This excludes the kernel, hypervisor, system administrators, root users, and neighboring workloads from accessing protected memory, substantially reducing the number of components and people that the tenant must trust.

Q: What is the trust problem with running sensitive cloud workloads?

A workload running in a public or private cloud normally depends on many parties and technologies. These can include the cloud provider, internal administrators, operating system, hypervisor, middleware, firmware, CPU management engine, hardware vendors, and other workloads. A tenant must also consider whether regulators, directors, and shareholders accept those dependencies when sensitive information is processed.

Q: Why is initial host provisioning insufficient for long-term security?

A host that appears trustworthy when provisioned may not remain trustworthy after operating for several months. It could be compromised, or required patches might not be installed correctly. Enarx addresses this problem by minimizing reliance on the continuing integrity of host software and using CPU-protected execution plus cryptographic verification for the components that must be trusted.

Q: What is a trusted execution environment?

A trusted execution environment is a protected area within a host for running sensitive workloads. The CPU creates encrypted memory pages and controls access to them. Host software and privileged users, including the kernel, hypervisor, system administrators, and users with root access, cannot look inside that protected area, while the application continues performing general computation.

Q: What security capabilities does a trusted execution environment provide?

A trusted execution environment provides memory confidentiality so unauthorized entities cannot view sensitive data, and integrity protection so they cannot alter that data. It supports general computation rather than only specialized cryptographic functions. It also uses a hardware random number generator, which supports safe key generation and the cryptographic operations required by protected workloads.

Q: How does attestation verify a protected workload environment?

Attestation allows the CPU to make a cryptographic statement about the trusted execution environment it created. The process measures the protected environment, provides a hardware root of trust, and includes a Diffie-Hellman public key. The tenant can verify this evidence before sending its application code and sensitive data into the environment for execution.

Q: Which components does the Enarx security model trust?

The Enarx model begins by distrusting the host owner, host operator, host users, host software, and most host hardware. Because instructions must ultimately be executed, it makes a necessary exception for the CPU and its firmware. Trusted hardware must be cryptographically verified, while trusted software is intended to be audited and cryptographically verified before use.

Q: What types of workloads are suitable for Enarx?

Enarx is presented as a strong fit for microservices and other workloads that contain sensitive data or proprietary algorithms. Examples in the presentation include customer credit card information, legal material, artificial intelligence code, financial transaction algorithms, cryptographic keys, firewall rules, and executive payroll data. The project also aims to support larger workloads beyond microservices.

Summary & Key Takeaways

  • Organizations running sensitive workloads in public or private clouds normally depend on many layers, including operating systems, hypervisors, middleware, firmware, hardware, administrators, and vendors. Trust can also degrade over time if systems are compromised or patches are installed incorrectly, creating risks for confidential data, algorithms, cryptographic keys, and enterprise functions.

  • A trusted execution environment creates a protected area for sensitive computation. The CPU establishes encrypted memory pages that cannot be inspected by the kernel, hypervisor, root users, or system administrators. It provides memory confidentiality, integrity protection, general computation, and hardware-generated randomness needed for cryptographic keys and other security operations.

  • Enarx is an open-source project designed to run sensitive applications on fundamentally untrusted hosts. It limits necessary trust primarily to the CPU, CPU firmware, audited and cryptographically verified software, middleware, and the application. Its approach emphasizes microservice suitability, easy deployment, straightforward development integration, attestation, and standards-based implementation using WebAssembly.

  • Key Insights → Summary relation: The insights explain the threat model, trusted execution environments, and attestation; the summary condenses those ideas into the problem, mechanism, and Enarx approach.


Read in Other Languages (beta)

Share This Summary 📚

Explore More Summaries from RSAC Cybersecurity 📚