Security-typed languages (STLs) are powerful tools for provably implementing policy in applications. The pro- grammer maps policy onto programs by annotating types with information flow labels, and the STL compiler guaran- tees that data always obeys its label as it flows within an application. As data flows into or out of an application, however, a runtime system is needed to mediate between the information flow world within the application and the non-information flow world of the operating system. In the few existing STL applications, this problem has been han- dled in ad hoc ways that hindered software engineering and security analysis. In this paper, we present a principled ap- proach to STL runtime system development along with pol- icy infrastructure and class abstractions for the STL, Jif, that implement these principles. We demonstrate the ef- fectiveness of our approach by using our infrastructure to develop a firewall application, FLOWWALL, that provably enforces its policy.
Citation:
Boniface Hicks, Tim Misiak, Patrick McDaniel, "Channels: Runtime System Infrastructure for Security-Typed Languages," acsac, pp.443-452, Twenty-Third Annual Computer Security Applications Conference (ACSAC 2007), 2007