HasTEE+ : Confidential Cloud Computing and Analytics with Haskell (2401.08901v1)
Abstract: Confidential computing is a security paradigm that enables the protection of confidential code and data in a co-tenanted cloud deployment using specialized hardware isolation units called Trusted Execution Environments (TEEs). By integrating TEEs with a Remote Attestation protocol, confidential computing allows a third party to establish the integrity of an \textit{enclave} hosted within an untrusted cloud. However, TEE solutions, such as Intel SGX and ARM TrustZone, offer low-level C/C++-based toolchains that are susceptible to inherent memory safety vulnerabilities and lack language constructs to monitor explicit and implicit information-flow leaks. Moreover, the toolchains involve complex multi-project hierarchies and the deployment of hand-written attestation protocols for verifying \textit{enclave} integrity. We address the above with HasTEE+, a domain-specific language (DSL) embedded in Haskell that enables programming TEEs in a high-level language with strong type-safety. HasTEE+ assists in multi-tier cloud application development by (1) introducing a \textit{tierless} programming model for expressing distributed client-server interactions as a single program, (2) integrating a general remote-attestation architecture that removes the necessity to write application-specific cross-cutting attestation code, and (3) employing a dynamic information flow control mechanism to prevent explicit as well as implicit data leaks. We demonstrate the practicality of HasTEE+ through a case study on confidential data analytics, presenting a data-sharing pattern applicable to mutually distrustful participants and providing overall performance metrics.
- ARM: ARM TrustZone (2004), https://www.arm.com/technologies/trustzone-for-cortex-a
- ARM: Mbed TLS (2009), https://tls.mbed.org
- Intel: Intel SGX Intro: Passing Data Between App and Enclave (2016), https://www.intel.com/content/www/us/en/developer/articles/technical/sgx-intro-passing-data-between-app-and-enclave.html
- Intel: tlibc - an alternative to glibc (2018), https://github.com/intel/linux-sgx/tree/master/common/inc/tlibc
- Intel: Intel Trust Domain Extensions (2021), https://www.intel.com/content/www/us/en/developer/tools/trust-domain-extensions/overview.html
- LinuxSGX: Linux SGX Remote Attestation (2017), https://github.com/svartkanin/linux-sgx-remoteattestation/blob/master/Application/isv˙enclave/isv˙enclave.cpp#L152-L308
- Microsoft: Windows cryptoapi spoofing vulnerability (2020), https://nvd.nist.gov/vuln/detail/CVE-2020-0601
- Northwood, C.: The full stack developer: your essential guide to the everyday skills expected of a modern full stack web developer. Springer (2018)
Collections
Sign up for free to add this paper to one or more collections.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.