Foundations for Parallel Information Flow Control Runtime Systems

Marco Vassena, Gary Soeller, Peter Amidon, Matthew Chan, John W. Renner, Deian Stefan · Lecture notes in computer science · 2019

We present the foundations for a new dynamic information flow control (IFC) parallel runtime system, LIO $$_{\mathrm {PAR}}$$ . To our knowledge, LIO $$_{\mathrm {PAR}}$$ is the first dynamic language-level IFC system to (1) support deterministic parallel thread execution and (2) eliminate both internal- and external-timing covert channels that exploit the runtime system. Most existing IFC systems are vulnerable to external timing attacks because they are built atop vanilla runtime systems that do not account for security—these runtime systems allocate and reclaim shared resources (e.g., CPU-time and memory) fairly between threads at different security levels. While such attacks have largely been ignored—or, at best, mitigated—we demonstrate that extending IFC systems with parallelism leads to the internalization of these attacks. Our IFC runtime system design addresses these concerns by hierarchically managing resources—both CPU-time and memory—and making resource allocation and reclamation explicit at the language-level. We prove that LIO $$_{\mathrm {PAR}}$$ is secure, i.e., it satisfies progress- and timing-sensitive non-interference, even when exposing clock and heap-statistics APIs.

Read the paper · More papers on PaperTik