Proceedings of the ACM SIGPLAN Fourth Workshop on Programming Languages and Analysis for Security 2009
DOI: 10.1145/1554339.1554345
|View full text |Cite
|
Sign up to set email alerts
|

On PDG-based noninterference and its modular proof

Abstract: We present the first machine-checked correctness proof for information flow control (IFC) based on program dependence graphs (PDGs). IFC based on slicing and PDGs is flow-sensitive, context-sensitive, and object-sensitive; thus offering more precision than traditional approaches. While the method has been implemented and successfully applied to realistic Java programs, only a manual proof of a fundamental correctness property was available so far.The new proof is based on a new correctness proof for intraproce… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
39
0

Year Published

2010
2010
2018
2018

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 30 publications
(40 citation statements)
references
References 37 publications
1
39
0
Order By: Relevance
“…conversion between SDG and CFG nodes, initial states often consist of only one call frame, etc. Previous work [29] verified this connection between intraprocedural slicing and noninterference.…”
Section: Slicing Guarantees Information Flow Noninterferencesupporting
confidence: 61%
“…conversion between SDG and CFG nodes, initial states often consist of only one call frame, etc. Previous work [29] verified this connection between intraprocedural slicing and noninterference.…”
Section: Slicing Guarantees Information Flow Noninterferencesupporting
confidence: 61%
“…This result was proved formally by Wasserrab et al [59]. As seen in Section 2, this is equivalent to the PIDGINQL query pgm.between(source, sink) evaluating to an empty graph.…”
Section: Security Guarantees From Pdgsmentioning
confidence: 81%
“…They have developed JOANA [21], an object sensitive and context sensitive tool for checking noninterference in Java bytecode [22], shown their techniques to be sound [59], and considered information flow in concurrent programs [17]. They also use path conditions to improve precision by ruling out impossible paths [54].…”
Section: Related Workmentioning
confidence: 99%
“…Our verified Java compiler is part of a larger project which aims to completely verify an infrastructure for language-based security [9,28]. Still, much remains to be done: Without a trusted VM, the guarantee of the verified compiler is vacuous.…”
Section: Discussionmentioning
confidence: 99%