DocumentCode
572394
Title
Crafting a usable microkernel, processor, and I/O system with strict and provable information flow security
Author
Tiwari, Mohit ; Oberg, Jason K. ; Li, Xun ; Valamehr, Jonathan ; Levin, Timothy ; Hardekopf, Ben ; Kastner, Ryan ; Chong, Frederic T. ; Sherwood, Timothy
Author_Institution
Dept. of Comput. Sci., Univ. of California, Santa Barbara, CA, USA
fYear
2011
fDate
4-8 June 2011
Firstpage
189
Lastpage
199
Abstract
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 hardware/software system complete with support for unbounded operation, inter-process communication, pipelined operation, and I/O 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.
Keywords
cache storage; hardware-software codesign; pipeline processing; security of data; I-O system; arbitrary code execution; architectural skeleton; caching; dynamic behaviors; gate-level implementation; hardware-software system; high assurance systems; information flow security; interprocess communication; microkernel; pipelined operation; pipelining; processor; runtime system; skeleton information flow properties; static primitives; unbounded operation; Hardware; Kernel; Logic gates; Registers; Security; Skeleton; Gate Level Information Flow Tracking; High Assurance Systems; Non-interference;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer Architecture (ISCA), 2011 38th Annual International Symposium on
Conference_Location
San Jose, CA
ISSN
1063-6897
Print_ISBN
978-1-4503-0472-6
Type
conf
Filename
6307757
Link To Document