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 :
بازگشت