Crafting a Usable Microkernel, Processor, and I/O System with Strict and Provable Information Flow Security
CALIFORNIA UNIV SANTA BARBARA DEPT OF COMPUTER SCIENCE
Pagination or Media Count:
High assurance systems used in avionics, medical implants and cryptographic devices often rely on a small trusted base of hardware and software to manage the rest of the system. Crafting the core of such a system in a way that achieves flexibility, security, and performance requires a careful balancing act. Simple static primitives with hard partitions of space and time are easier to analyze formally, but strict approaches to the problem at the hardware level have been extremely restrictive, failing to allow even the simplest of dynamic behaviors to be expressed. Our approach to this problem is to construct a minimal but configurable architectural skeleton. This skeleton couples a critical slice of the low level hardware implementation with a microkernel in a way that allows information flow properties of the entire construction to be statically verified all the way down to its gate-level implementation. This strict structure is then made usable by a runtime system that delivers more traditional services e.g. communication interfaces and long-living contexts in a way that is decoupled from the information flow properties of the skeleton. To test the viability of this approach we design test, and statically verify the information-flow security of a hardwaresoftware system complete with support for un- bounded operation, inter-process communication, pipelined operation, and IO with traditional devices. The resulting system is provably sound even when adversaries are allowed to execute arbitrary code on the machine, yet is flexible enough to allow caching, pipelining, and other common case optimizations.
- Information Science
- Computer Systems Management and Standards