2021
DOI: 10.1007/978-3-030-81685-8_34
|View full text |Cite
|
Sign up to set email alerts
|

Product Programs in the Wild: Retrofitting Program Verifiers to Check Information Flow Security

Abstract: Most existing program verifiers check trace properties such as functional correctness, but do not support the verification of hyperproperties, in particular, information flow security. In principle, product programs allow one to reduce the verification of hyperproperties to trace properties and, thus, apply standard verifiers to check them; in practice, product constructions are usually defined only for simple programming languages without features like dynamic method binding or concurrency and, consequently, … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
4
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
2
1
1

Relationship

0
4

Authors

Journals

citations
Cited by 4 publications
(4 citation statements)
references
References 46 publications
0
4
0
Order By: Relevance
“…Internally, HyperViper encodes the validity constraints for all resource specifications as well as all other proof obligations imposed by our logic into the Viper intermediate language. To encode relational proof obligations, it uses a modular product program construction [Eilers et al 2018], and combines it with existing encodings for concurrent programs [Leino and Müller 2009] in a sound way [Eilers et al 2021]. Subsequently, it automatically verifies the generated program using one of Viper's backend verifiers and, ultimately, the Z3 SMT solver [de Moura and Bjørner 2008].…”
Section: Implementation and Evaluationmentioning
confidence: 99%
See 3 more Smart Citations
“…Internally, HyperViper encodes the validity constraints for all resource specifications as well as all other proof obligations imposed by our logic into the Viper intermediate language. To encode relational proof obligations, it uses a modular product program construction [Eilers et al 2018], and combines it with existing encodings for concurrent programs [Leino and Müller 2009] in a sound way [Eilers et al 2021]. Subsequently, it automatically verifies the generated program using one of Viper's backend verifiers and, ultimately, the Z3 SMT solver [de Moura and Bjørner 2008].…”
Section: Implementation and Evaluationmentioning
confidence: 99%
“…Researchers have developed a plethora of type systems [Smith 2007], static analyses [Giffhorn and Snelting 2015], program transformations [Eilers et al 2021], and program logics [Ernst and Murray 2019;Murray et al 2018] to verify information flow security of concurrent programs, as well as multiple definitions of information flow security in this setting. Bisimulation-based properties [Focardi and Gorrieri 1995] and observational determinism [Zdancewic and Myers 2003] are properties of (sets of) traces, which assume that attackers can observe either low program variables or low events during the execution of the program, unlike our setting, where we assume that the attacker can observe only the public output of the program.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations