DOVE: A Data-Oblivious Virtual Environment

by   Hyun Bin Lee, et al.

Users can improve the security of remote communications by using Trusted Execution Environments (TEEs) to protect against direct introspection and tampering of sensitive data. This can even be done with applications coded in high-level languages with complex programming stacks such as R, Python, and Ruby. However, this creates a trade-off between programming convenience versus the risk of attacks using microarchitectural side channels. In this paper, we argue that it is possible to address this problem for important applications by instrumenting a complex programming environment (like R) to produce a Data-Oblivious Transcript (DOT) that is explicitly designed to support computation that excludes side channels. Such a transcript is then evaluated on a Trusted Execution Environment (TEE) containing the sensitive data using a small trusted computing base called the Data-Oblivious Virtual Environment (DOVE). To motivate the problem, we demonstrate a number of subtle side-channel vulnerabilities in the R language. We then provide an illustrative design and implementation of DOVE for R, creating the first side-channel resistant R programming stack. We demonstrate that the two-phase architecture provided by DOT generation and DOVE evaluation can provide practical support for complex programming languages with usable performance and high security assurances against side channels.



There are no comments yet.


page 1

page 2

page 3

page 4


BYOTee: Towards Building Your Own Trusted Execution Environments Using FPGA

In recent years, we have witnessed unprecedented growth in using hardwar...

Systematic Analysis of Programming Languages and Their Execution Environments for Spectre Attacks

In this paper, we analyze the security of programming languages and thei...

Spectre is here to stay: An analysis of side-channels and speculative execution

The recent discovery of the Spectre and Meltdown attacks represents a wa...

Towards Memory Safe Python Enclave for Security Sensitive Computation

Intel SGX Guard eXtensions (SGX), a hardware-supported trusted execution...

Trusted Enforcement of Application-specific Security Policies

While there have been approaches for integrating security policies into ...

Towards Comparing Programming Paradigms

Rapid technological progress in computer sciences finds solutions and at...

StreamBox-TZ: A Secure IoT Analytics Engine at the Edge

We present StreamBox-TZ, a stream analytics engine for an edge platform....
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.