Securing Access to Untrusted Services From TEEs with GateKeeper

11/14/2022
by   Meni Orenbach, et al.
0

Applications running in Trusted Execution Environments (TEEs) commonly use untrusted external services such as host File System. Adversaries may maliciously alter the normal service behavior to trigger subtle application bugs that would have never occurred under correct service operation, causing data leaks and integrity violations. Unfortunately, existing manual protections are incomplete and ad-hoc, whereas formally-verified ones require special expertise. We introduce GateKeeper, a framework to develop mitigations and vulnerability checkers for such attacks by leveraging lightweight formal models of untrusted services. With the attack seen as a violation of a services' functional correctness, GateKeeper takes a novel approach to develop a comprehensive model of a service without requiring formal methods expertise. We harness available testing suites routinely used in service development to tighten the model to known correct service implementation. GateKeeper uses the resulting model to automatically generate (1) a correct-by-construction runtime service validator in C that is linked with a trusted application and guards each service invocation to conform to the model; and (2) a targeted model-driven vulnerability checker for analyzing black-box applications. We evaluate GateKeeper on Intel SGX enclaves. We develop comprehensive models of a POSIX file system and OS synchronization primitives while using thousands of existing test suites to tighten their models to the actual Linux implementations. We generate the validator and integrate it with Graphene-SGX, and successfully protect unmodified Memcached and SQLite with negligible overheads. The generated vulnerability checker detects novel vulnerabilities in the Graphene-SGX protection layer and production applications.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/14/2020

The Design and Implementation of a Verified File System with End-to-End Data Integrity

Despite significant research and engineering efforts, many of today's im...
research
08/20/2019

MicroTEE: Designing TEE OS Based on the Microkernel Architecture

ARM TrustZone technology is widely used to provide Trusted Execution Env...
research
03/31/2020

Trust Management as a Service: Enabling Trusted Execution in the Face of Byzantine Stakeholders

Trust is arguably the most important challenge for critical services bot...
research
10/21/2019

Generating Mock Skeletons for Lightweight Web-Service Testing

Modern application development allows applications to be composed using ...
research
05/15/2019

Autonomous Membership Service for Enclave Applications

Trusted Execution Environment, or enclave, promises to protect data conf...
research
08/12/2023

SGX-MR-Prot: Efficient and Developer-Friendly Access-Pattern Protection in Trusted Execution Environments

Trusted Execution Environments, such as Intel SGX, use hardware supports...
research
07/02/2018

BesFS: Mechanized Proof of an Iago-Safe Filesystem for Enclaves

New trusted computing primitives such as Intel SGX have shown the feasib...

Please sign up or login with your details

Forgot password? Click here to reset