2015
DOI: 10.1007/978-3-662-46666-7_2
|View full text |Cite
|
Sign up to set email alerts
|

IFC Inside: Retrofitting Languages with Dynamic Information Flow Control

Abstract: Many important security problems in JavaScript, such as browser extension security, untrusted JavaScript libraries and safe integration of mutually distrustful websites (mash-ups), may be effectively addressed using an efficient implementation of information flow control (IFC). Unfortunately existing fine-grained approaches to JavaScript IFC require modifications to the language semantics and its engine, a non-goal for browser applications. In this work, we take the ideas of coarse-grained dynamic IFC and prov… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
20
0

Year Published

2015
2015
2019
2019

Publication Types

Select...
4
3

Relationship

4
3

Authors

Journals

citations
Cited by 15 publications
(20 citation statements)
references
References 54 publications
0
20
0
Order By: Relevance
“…Rather, we remark that LIO relies on types only to distinguish terms that can be used to compose safe computations and those that cannot, as further discussed in Section 2.3. Indeed, LIO can be generalized to dynamically typed languages, as shown in Heule et al (2015).…”
Section: Base Calculus For Pure Termsmentioning
confidence: 99%
“…Rather, we remark that LIO relies on types only to distinguish terms that can be used to compose safe computations and those that cannot, as further discussed in Section 2.3. Indeed, LIO can be generalized to dynamically typed languages, as shown in Heule et al (2015).…”
Section: Base Calculus For Pure Termsmentioning
confidence: 99%
“…In particular, GHC's approach to reclaiming memory via a stop-the-world GC simultaneously stops all threads on all cores, thus the relative write rate of public threads remain constant. Interestingly, though, implementing LIO on runtimes (e.g., Node.js as proposed by Heule et al [17]) with modern parallel garbage collectors that do not always stop the world would internalize the GC-based external timing attacks. Similarly, abusing GHC's memory allocation to exhaust all memory crashes all the program threads and, even though it cannot be internalized, it still results in information leakage.…”
Section: Internalizing External Timing Attacksmentioning
confidence: 99%
“…In Sect. 5.1, we describe our proof technique based on term erasure, which has been used to verify security guarantees of functional programming languages [30], IFC libraries [8,17,54,56,61], and an IFC runtime system [59]. In Sect.…”
Section: Security Guaranteesmentioning
confidence: 99%
“…LIO is a domain-specific language embedded in Haskell that rephrases OS-like IFC enforcement into a language-based setting [Stefan et al , 2011. Heule et al [2015] introduce a general framework for coarse-grained IFC in any programming language in which external effects can be controlled. Laminar [Roy et al 2009] unifies mechanisms for IFC in programming languages and operating systems, resulting in a mix of dynamic fine-and coarse-grained enforcement.…”
Section: Cross-language Semantic Equivalence Up To Extra Annotationsmentioning
confidence: 99%