Abstract

Secure execution of applications on untrusted operating systems is a fundamental security primitive that has been challenging to achieve. In this work, we propose a new architecture feature called PodArch, which makes it easy to import executables on an OS without risking the target system’s security or the execution of the imported application. PodArch is implemented as a backwards-compatible extension to the Intel x86 ISA, and overall, offers strong compatibility with existing applications and OSes beyond those offered by several existing architectural primitives (e.g., Intel SGX). We present a complete system implementation of a PodArch CPU, the associated toolchain and a modified Linux OS and find that the adaption effort requires 415 lines of code change to the Linux kernel. Thus, PodArch offers a new design point in the space of architectural primitives that commodity CPU designers can consider in the emerging security extensions to their ISA.

Technical Report

PodArch: Protecting Legacy Applications with a Purely Hardware TCB
Shweta Shinde, Shruti Tople, Deepak Kathayat and Prateek Saxena
Technical Report No. NUS-SL-TR-15-01, School of Computing, NUS

Prototype Implementation

  • Code Repository
  • Sample Disk Image with Pod Binaries
  • Last Updated: April 8th, 2015