Jump to Content

HyperFlow: A Processor Architecture for Nonmalleable, Timing-Safe Information-Flow Security

Andrew Ferraiuolo
Mark Zhao
G. Edward Suh
Andrew C. Myers
Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, CCS 2018 (to appear)

Abstract

This paper presents HyperFlow, a processor that enforces secure information flow, including control over timing channels. The design and implementation of HyperFlow offer security assurance because it is implemented using a security-typed hardware description language that enforces secure information flow. Unlike prior information-flow secured processors that aim to strictly enforce noninterference, HyperFlow supports complex information flow policies that can be configured at run time, and provides support for secure interprocess communication (IPC) and system calls. HyperFlow is designed to support practical applications and system architectures, and supports decentralized information flow mechanisms that allow controlled communication among mutually distrusting processes, mediated by dynamic, fine-grained labels. Static information-flow verification of such a complex processor architecture poses significant challenges, which require contributions in both the hardware architecture and the security type system. The paper discusses the architecture decisions that make the processor secure and describes a new secure HDL, named ChiselFlow, that allows these decisions to be verified in a lightweight way. The HyperFlow architecture is prototyped on a fully-featured processor that offers a complete RISC-V instruction set, and is shown to have moderate overhead on area and performance.