Stack-Aware Hyperproperties
Ali Bajwa, Minjian Zhang, Rohit Chadha, Mahesh Viswanathan

TL;DR
This paper introduces stack-aware hyperproperties, a restricted class of hyperproperties for recursive programs, enabling decidable verification of security objectives that were previously undecidable.
Contribution
It defines stack-aware hyperproperties and provides a decision procedure for verifying them in recursive programs, restoring decidability for certain security properties.
Findings
Decidability is restored for a class of hyperproperties in recursive programs.
The decision procedure can verify security objectives like noninference.
It can also refute security properties such as observational determinism.
Abstract
A hyperproperty relates executions of a program and is used to formalize security objectives such as confidentiality, non-interference, privacy, and anonymity. Formally, a hyperproperty is a collection of allowable sets of executions. A program violates a hyperproperty if the set of its executions is not in the collection specified by the hyperproperty. The logic HyperCTL^* has been proposed in the literature to formally specify and verify hyperproperties. The problem of checking whether a finite-state program satisfies a HyperCTL^* formula is known to be decidable. However, the problem turns out to be undecidable for procedural (recursive) programs. Surprisingly, we show that decidability can be restored if we consider restricted classes of hyperproperties, namely those that relate only those executions of a program which have the same call-stack access pattern. We call such…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Access Control and Trust · Logic, programming, and type systems
