Splitting Interfaces: Making Trust Between Applications and Operating Systems Configurable

In current commodity systems, applications have no way of limiting their trust in the underlying operating system (OS), leaving them at the complete mercy of an attacker who gains control over the OS. In this talk, I will describe the design and implementation of Proxos, a system that allows applications to configure their trust in the OS by partitioning the system call interface into trusted and untrusted components. System call routing rules that indicate which system calls are to be handled by the untrusted commodity OS, and which are to be handled by a trusted private OS, are specified by the application developer. We find that rather than defining a new system call interface, routing system calls of an existing interface allows applications currently targeted towards commodity operating systems to isolate their most sensitive components from the commodity OS with only minor source code modifications.

We have built a prototype of our system on top of the Xen Virtual Machine Monitor with Linux as the commodity OS. In practice, we find that the system call routing rules are short and simple – on the order of 10’s of lines of code. In addition, applications in Proxos incur only modest performance overhead, with most of the cost resulting from inter-VM context switches. This work will appear in OSDI 2006.

Speaker Details

David Lie received his B.S. from the University of Toronto in 1998, and his M.S. and Ph.D from Stanford University in 2001 and 2004 respectively. Since then, he has been an Assistant Professor in the Department of Electrical and Computer Engineering at the University of Toronto. While at Stanford, David led and founded the XOM (eXecute Only Memory) Processor Project, which supports the execution of tamper and copy-resistant software. He was the recipient of a best paper award at SOSP for this work. Currently, his interests are focused on increasing the security of legacy software through a multi-faceted approach: including low-level software such as virtual machine monitors and operating system kernels; architectural and hardware support to increase security; and software model-checking and formal methods.

Date:
Speakers:
David Lie
Affiliation:
Department of Electrical and Computer Engineering, University of Toronto
    • Portrait of Jeff Running

      Jeff Running