Practical fine-grained information flow control using laminar

DE Porter, MD Bond, I Roy, KS McKinley… - ACM Transactions on …, 2014 - dl.acm.org
ACM Transactions on Programming Languages and Systems (TOPLAS), 2014dl.acm.org
Decentralized Information Flow Control (DIFC) is a promising model for writing programs
with powerful, end-to-end security guarantees. Current DIFC systems that run on commodity
hardware can be broadly categorized into two types: language-level and operating system-
level DIFC. Language solutions provide no guarantees against security violations on system
resources such as files and sockets. Operating system solutions mediate accesses to system
resources but are either inefficient or imprecise at monitoring the flow of information through …
Decentralized Information Flow Control (DIFC) is a promising model for writing programs with powerful, end-to-end security guarantees. Current DIFC systems that run on commodity hardware can be broadly categorized into two types: language-level and operating system-level DIFC. Language solutions provide no guarantees against security violations on system resources such as files and sockets. Operating system solutions mediate accesses to system resources but are either inefficient or imprecise at monitoring the flow of information through fine-grained program data structures. This article describes Laminar, the first system to implement DIFC using a unified set of abstractions for OS resources and heap-allocated objects. Programmers express security policies by labeling data with secrecy and integrity labels and access the labeled data in security methods. Laminar enforces the security policies specified by the labels at runtime. Laminar is implemented using a modified Java virtual machine and a new Linux security module. This article shows that security methods ease incremental deployment and limit dynamic security checks by retrofitting DIFC policies on four application case studies. Replacing the applications' ad hoc security policies changes less than 10% of the code and incurs performance overheads from 5% to 56%. Compared to prior DIFC systems, Laminar supports a more general class of multithreaded DIFC programs efficiently and integrates language and OS abstractions.
ACM Digital Library
Résultat de recherche le plus pertinent Voir tous les résultats