DATS-data containers for web applications

C Hunger, L Vilanova, C Papamanthou… - Proceedings of the …, 2018 - dl.acm.org
Proceedings of the twenty-third international conference on architectural …, 2018dl.acm.org
Data containers enable users to control access to their data while untrusted applications
compute on it. However, they require replicating an application inside each container-
compromising functionality, programmability, and performance. We propose DATS-a system
to run web applications that retains application usability and efficiency through a mix of
hardware capability enhanced containers and the introduction of two new primitives
modeled after the popular model-view-controller (MVC) pattern.(1) DATS introduces a …
Data containers enable users to control access to their data while untrusted applications compute on it. However, they require replicating an application inside each container - compromising functionality, programmability, and performance. We propose DATS - a system to run web applications that retains application usability and efficiency through a mix of hardware capability enhanced containers and the introduction of two new primitives modeled after the popular model-view-controller (MVC) pattern. (1) DATS introduces a templating language to create views that compose data across data containers. (2) DATS uses authenticated storage and confinement to enable an untrusted storage service, such as memcached and deduplication, to operate on plain-text data across containers. These two primitives act as robust declassifiers that allow DATS to enforce non-interference across containers, taking large applications out of the trusted computing base (TCB). We showcase eight different web applications including Gitlab and a Slack-like chat, significantly improve the worst-case overheads due to application replication, and demonstrate usable performance for common-case usage.
ACM Digital Library